- 04 Jan, 2019 12 commits
-
-
Mathias Bynens authored
The reference implementation used in the tests does not fully match the spec, so for the diverging cases we need to explicitly specify the correct expectation. Every single change in this patch has been verified against every major JavaScript engine using eshost + jsvu. All implementations match the spec (and the V8 implementation), with the following two exceptions: - One expectation was wrong because of a JavaScriptCore bug (that is, we inherited the incorrect expectation when importing the tests from WebKit). A comment was added for that one. - This work resulted in the discovery of bugs in Moddable/XS: https://github.com/Moddable-OpenSource/moddable/issues/112 Change-Id: I05d91d7acc5c8765e941fcd68c1086c2694c710c Reviewed-on: https://chromium-review.googlesource.com/c/1396081Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#58546}
-
Peter Marshall authored
Currently in both kCallerLineNumbers and kLeafNodeLineNumbers modes, we correctly capture inline stacks. In leaf number mode, this is simple as we simply add the path onto the existing tree. For caller line numbers mode this is more complex, because each path through various inlined function should be represented in the tree, even when there are multiple callsites to the same function inlined. Currently we don't correctly show line numbers for inlined functions. We do actually have this information though, which is generated by turbofan and stored in the source_position_table data structure on the code object. This also changes the behavior of the SourcePositionTable class. A problem we uncovered is that the PC that the sampler provides for every frame except the leaf is the return address of the calling frame. This address is *after* the call has already happened. It can be attributed to the next line of the function, rather than the calling line, which is wrong. We fix that here by using lower_bound in GetSourceLineNumber. The same problem happens in GetInlineStack - the PC of the caller is actually the instruction after the call. The information turbofan generates assumes that the instruction after the call is not part of the call (fair enough). To fix this we do the same thing as above - use lower_bound and then iterate back by one. TBR=alph@chromium.org Bug: v8:8575, v8:8606 Change-Id: Idc4bd4bdc8fb70b70ecc1a77a1e3744a86f83483 Reviewed-on: https://chromium-review.googlesource.com/c/1374290 Commit-Queue: Peter Marshall <petermarshall@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#58545}
-
Clemens Hammacher authored
Use the slimmer base::LeakyObject instead of base::LazyInstance. R=tebbi@chromium.org Bug: v8:8600 Change-Id: I71755db9fe3ea9c61be2cdf009a006947ef5560a Reviewed-on: https://chromium-review.googlesource.com/c/1392203Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58544}
-
Predrag Rudic authored
Redefinition of GetHalfStackSlot after commit 5ea59597. Change-Id: Ib2b1fe6bd130c6737a73ef55b09dc80f4cd9b3fb Reviewed-on: https://chromium-review.googlesource.com/c/1396077Reviewed-by: Sreten Kovacevic <skovacevic@wavecomp.com> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Predrag Rudic <prudic@wavecomp.com> Cr-Commit-Position: refs/heads/master@{#58543}
-
Clemens Hammacher authored
The {movsx_b} instruction can only take byte registers (or operands) as source. Ensure that for i8 sign extensions to i64, the src register is moved to a temporary byte register first, similar to the same operation on i32 a few lines above. R=ahaas@chromium.org Bug: chromium:918149, v8:6600 Change-Id: I17bc942127baee57279a7fc0caac9d82bd7c6bfb Reviewed-on: https://chromium-review.googlesource.com/c/1394555Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58542}
-
Ross McIlroy authored
The high GC stressing in this tests causes bytecode flushing which breaks some invariants in the test. BUG=v8:8629 Change-Id: I7efff098ed4fa96006c8200e174132a6297bd36f Reviewed-on: https://chromium-review.googlesource.com/c/1394743Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org> Cr-Commit-Position: refs/heads/master@{#58541}
-
Sigurd Schneider authored
regress-6989 uses assertOptimized and will hence fail randomly depending on GC timing. This means we should not run it under GC stress. This can be verified by running the test under GC stress and changing the --gc-interval. It is easy to find values for which the test fails, and values for which the test passes. Change-Id: Ibd8bfbc1712ad60830255e4d89ea795023134891 Reviewed-on: https://chromium-review.googlesource.com/c/1396078Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#58540}
-
Tamer Tas authored
This code is very old and is not referenced anywhere else. Verifying that the code isn't called anywhere else: - https://cs.chromium.org/search/?q=FilterTestCasesByArgs&type=cs - https://cs.chromium.org/search/?q=FilterTestCasesByStatus&type=cs R=machenbach@chromium.org CC=yangguo@chromium.org,sergiyb@chromium.org No-Try: true Change-Id: I18b0309430d86649046e64e863ca252951786061 Reviewed-on: https://chromium-review.googlesource.com/c/1394553Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Tamer Tas <tmrts@chromium.org> Cr-Commit-Position: refs/heads/master@{#58539}
-
Andreas Haas authored
One spec test is failing at the moment. I disabled it for now and created an bugtracker issue: https://crbug.com/v8/8633 R=gdeepti@chromium.org Change-Id: Ibc3087d0582b95395d45d261155f6ac7e1a47f0c Reviewed-on: https://chromium-review.googlesource.com/c/1394551Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58538}
-
Mathias Bynens authored
https://github.com/tc39/proposal-flatMap/issues/74 https://github.com/tc39/proposal-flatMap/pull/75 BUG=v8:7220 Change-Id: I93ce66bddbb429beaa7486311f120ec32d6a35fb Reviewed-on: https://chromium-review.googlesource.com/c/1390125Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#58537}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/2df3750..29fca48 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/24bb5c4..ebf0d23 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/db0055d..936a994 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/50670f1..a974cf8 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I038146fba5b70489bebdd57bb472b9975219ef89 Reviewed-on: https://chromium-review.googlesource.com/c/1395797Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58536}
-
Frank Tang authored
Make the function return Maybe<std::string> to propagate error. Bug: chromium:917151 Change-Id: I4330b0c54c122b1eddd3b37e21e0f387cb5d803a Reviewed-on: https://chromium-review.googlesource.com/c/1392205Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#58535}
-
- 03 Jan, 2019 28 commits
-
-
Junliang Yan authored
Port 9302db48 Original Commit Message: Merging the temporary HeapObjectPtr back into HeapObject. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I4f92282b7b4c66bb73da30e076a8378e0cf24836 Reviewed-on: https://chromium-review.googlesource.com/c/1394813Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58534}
-
Junliang Yan authored
Port 42b4180d Original Commit Message: The simulated C++ signature for generated code entry points should rely on primitive values (as opposed to ObjectPtr). R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I55c67e8d42d97b45d5b0eb878ddd6ab3cf872942 Reviewed-on: https://chromium-review.googlesource.com/c/1394755Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58533}
-
Junliang Yan authored
Port 71180e54 Original Commit Message: This changes the CompileLazyDeoptimizedCode call to use the standard builtin calling sequence, which (for optimized code) creates an inlined off-heap trampoline instead of embedding a CODE_TARGET. missing only for the case of inlined trampolines. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: Ie81856899dd5d1b1e745b748ed714d98b4dab7ac Reviewed-on: https://chromium-review.googlesource.com/c/1394806Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58532}
-
Junliang Yan authored
Port f1cb51ad Original Commit Message: instead of Object* (which is deprecated) or ObjectPtr (which is unsuitable for cases where we need to control the ABI exactly). Callers in generated code expect a plain tagged value, so return precisely that. Same for C++ Builtins. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I8055c9a9c99dbe8716f810c6b6cc1967bed9c3de Reviewed-on: https://chromium-review.googlesource.com/c/1393920Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58531}
-
Junliang Yan authored
Port fa3cbf60 Original Commit Message: This changes Torque's builtin pointers to use a Smi representation underneath instead of storing the Code target object. Callsites look up the target entry point through IsolateData::builtin_entry_table. The notable effect of this CL is that builtin pointer calls no longer call any on-heap Code. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I49bb08de916fd93e576936a56b0e1a0e21072289 Reviewed-on: https://chromium-review.googlesource.com/c/1394301Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58530}
-
Ulan Degenbaev authored
Bug: v8:8616 Change-Id: I0998b437712037277b81eb5d04b734826aabcd46 Reviewed-on: https://chromium-review.googlesource.com/c/1391754 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58529}
-
Junliang Yan authored
R=jgruber@chromium.org, joransiu@ca.ibm.com Change-Id: If31804509eaca51c0606409873dc180df4fb49f3 Reviewed-on: https://chromium-review.googlesource.com/c/1393301Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58528}
-
Clemens Hammacher authored
We currently trigger a GC when creating a module while the remaining uncommitted code space is below 32MB. For bigger modules, this is not enough. Instead, make this limit relative: Trigger GC if we fall below 50% of the available code space, and re-adjust this limit after each GC to avoid repeated GCs that do not free anything. R=ahaas@chromium.org Bug: v8:8624 Change-Id: I7abfad3b57663d528a26d29232ad6bc2dc63cef4 Reviewed-on: https://chromium-review.googlesource.com/c/1391753Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58527}
-
Georg Neis authored
This is a partial reland of d3d13e4b, which made an incorrect assumption about how the typer visits the graph. Bug: chromium:906567 Change-Id: I55b70fdf7e655973e6ae33b64e127252c745517f Reviewed-on: https://chromium-review.googlesource.com/c/1394549Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58526}
-
Junliang Yan authored
Port f323a5f4 Original Commit Message: Currently, Torque's builtin pointers store a Code target underneath and callsites generate a kArchCallCodeObject opcode. When embedded builtins are enabled, the call thus first calls the on-heap trampoline, which finally jumps to the target off-heap builtin code. This will no longer be possible in jitless mode, since on-heap code must not be executable. As a step towards changing the way builtin pointers are called (function pointers will hold the builtin index as a Smi, and callsites look up the off-heap target address and jump there), this CL adds a dedicated opcode for builtin pointer calls to the compiler pipeline. The calling mechanism itself is unchanged, changes there will happen in a follow-up. R=jgruber@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I2d2229227e1c62e7c2515d4f5cb3d4dae49b3dd4 Reviewed-on: https://chromium-review.googlesource.com/c/1393913Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58525}
-
Clemens Hammacher authored
The number of registers is very small, so any integer type is big enough anyway. Just use the simplest one, which is int. R=ahaas@chromium.org Bug: v8:6600 Change-Id: I9762a5c934848b810b7937ee603cd183f883d557 Reviewed-on: https://chromium-review.googlesource.com/c/1394548Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58524}
-
Junliang Yan authored
R=joransiu@ca.ibm.com Change-Id: I0587b286f3132347172f353cbce405158ef1c403 Reviewed-on: https://chromium-review.googlesource.com/c/1393910Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58523}
-
Clemens Hammacher authored
We currently de-duplicate used registers also in regions which do not need merging. In those regions though it can never happen that we need to pass different values from any merge input. Apart from introducing unnecessary register moves, this also causes a DCHECK to fail, because we might later want to merge back different registers into one. Assume this initial stack state (where each letter is a register): [A B B C] If in any child block the two Bs get de-duplicated so something like [A B D C] then we run into trouble when merging back this state into the parent state, because both B and D would need to be put into B. In this case we can statically infer that B and D must hold the same value anyway, but having this situation does not make much sense in the first place, so the DCHECK fires correctly. R=titzer@chromium.org Bug: v8:8423, chromium:917412 Change-Id: I24c36b062e04a134cf7051725afab98126753f31 Reviewed-on: https://chromium-review.googlesource.com/c/1392190 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58522}
-
Clemens Hammacher authored
On x64 the {kScratchRegister} cannot be held in a {LiftoffRegister}, since it is not a valid cache register. Also, the code unnecessarily checked whether there is an unused cache register, but then didn't use it. Simplify the logic to always use the scratch register, just distinguish between 4-byte and 8-byte moves. On ia32 we did not move 64-bit values correctly if we didn't have unused registers and needed to move via the stack. R=titzer@chromium.org Bug: v8:6600, chromium:917588, chromium:917450 Change-Id: I0bbe946c6ac8fca62f85711ae47afdac9c02ae6b Reviewed-on: https://chromium-review.googlesource.com/c/1391755Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58521}
-
Clemens Hammacher authored
We don't have our macros available there, so we should not enforce V8_NOEXCEPT on types declared in include/v8.h or other files in include/. R=mlippautz@chromium.org Bug: v8:8616 No-Try: true Change-Id: I51550a072a7957921c6cbd7e0866093f0462ff4e Reviewed-on: https://chromium-review.googlesource.com/c/1394547Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58520}
-
Georg Neis authored
This reverts commit d3d13e4b. Reason for revert: Makes an incorrect assumption. Original change's description: > [turbofan] Improve UpdateType debug output. > > R=jarin@chromium.org > > Bug: chromium:906567 > Change-Id: Ic99c7a240ecb37c7b032b388f604d3f256d335b3 > Reviewed-on: https://chromium-review.googlesource.com/c/1392196 > Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58497} TBR=jarin@chromium.org,neis@chromium.org Change-Id: I1bfc6d38f1c6cb67ef403d8be84070aa2c0effb6 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:906567 Reviewed-on: https://chromium-review.googlesource.com/c/1394546Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#58519}
-
Clemens Hammacher authored
Templates are nicer than macros, and in this case it's not more complex. R=tebbi@chromium.org Bug: v8:8562 Change-Id: I3aea7b4138f144166418c0827dd7c58ea459c670 Reviewed-on: https://chromium-review.googlesource.com/c/1392200Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58518}
-
Clemens Hammacher authored
This specifier is deprecated and will be removed in C++20. Replace it with V8_NOEXCEPT where is makes sense and remove it otherwise. Also remove redundant constructors. R=tebbi@chromium.org Bug: v8:8562 Change-Id: I1335dcac5cac14b62b655cfd507decd4de653043 Reviewed-on: https://chromium-review.googlesource.com/c/1392204Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58517}
-
Clemens Hammacher authored
Instead, always pass an index and an enum pointing to either half. R=titzer@chromium.org Bug: v8:6600, v8:8562 Change-Id: I7e73bd97bfc7ebf644b242980aa0a73cd5f18949 Reviewed-on: https://chromium-review.googlesource.com/c/1392189 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58516}
-
Mythri authored
If the parameter list contains class declarations we should use the block scope corresponding to the class when rewriting the initializers. Bug: chromium:917988 Change-Id: I7fcd44a264b7c0113cbd821b759e0bee6c9345a0 Reviewed-on: https://chromium-review.googlesource.com/c/1392240Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Mythri Alle <mythria@chromium.org> Cr-Commit-Position: refs/heads/master@{#58515}
-
Clemens Hammacher authored
Bring mips in line with the ia32 and arm implementions. Instead of computing the "half index" manually, pass the index and an enum pointing to either half. R=titzer@chromium.org Bug: v8:6600 Change-Id: Id8812114df84fbddd4aa2570306526d291bface6 Reviewed-on: https://chromium-review.googlesource.com/c/1392188 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#58514}
-
Clemens Hammacher authored
Since https://crrev.com/c/1335572, our sanitizers allow to set custom segfault handlers. Thus remove special code that was added to handle sanitizers that prevent installation of segfault handlers. Instead, CHECK that the signal handler was installed correctly. R=ahaas@chromium.org, mseaborn@chromium.org, mark@chromium.org Bug: chromium:830894 Change-Id: I3bd66e33efdceb3e8469f3f4a09fbde90cb3d7ec Reviewed-on: https://chromium-review.googlesource.com/c/1392199Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58513}
-
Leszek Swirski authored
Instead of de-sugaring destructuring assignment in the parser (using the pattern rewriter), pass the Object/ArrayLiterals through to the bytecode generator, which can desugar them in-place. This allows us to decrease the amount of AST node creation, and improve the generated bytecode using domain-specific knowledge. As a side effect we partially fix an old execution ordering spec bug. Currently only implemented for assignments, not declarations, as the latter has some additional complexity. Bug: v8:4951 Change-Id: I3d69d232bea2968ef20df68a74014d9e05808cfe Reviewed-on: https://chromium-review.googlesource.com/c/1375660 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58512}
-
Frank Tang authored
Bug: v8:7684 Change-Id: Ibe7db0ef1baacb33d07a45234e6bda4f69e95643 Reviewed-on: https://chromium-review.googlesource.com/c/1381732 Commit-Queue: Frank Tang <ftang@chromium.org> Reviewed-by: Jungshik Shin <jshin@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#58511}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/67f9fae..2df3750 Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/16717a6..24bb5c4 TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org Change-Id: I19b8cb8c1d1e748ba91b2214570dda8b6e8e4300 Reviewed-on: https://chromium-review.googlesource.com/c/1394288Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#58510}
-
Junliang Yan authored
Port 640d3adf Original Commit Message: InternalPackedArray now only has one constructor variant that expects no arguments (Chrome's only usage of InternalPackedArray). As such, these TFC builtins are no longer used and were removed: - InternalArrayNoArgumentConstructor_Holey - InternalArraySingleArgumentConstructor_Packed - InternalArraySingleArgumentConstructor_Holey On x64.release, this reduces builtins size by ~1.2KB. R=peter.wm.wong@gmail.com, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Change-Id: I46d86178c33e47acf2fb75fd3de743686641caa1 Reviewed-on: https://chromium-review.googlesource.com/c/1393825Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58509}
-
Junliang Yan authored
Port a55803a1 Original Commit Message: This change makes the SFI to bytecode link pseudo-weak. The marking visitors check whether the bytecode is old, and if so, don't mark it and instead push the SFI onto a bytecode_flushing_candidates worklist. Once marking is complete, this list is walked, and for any of the candidates who's bytecode has not been marked (i.e., is only referenced by the shared function info), the bytecode is flushed and the SFI has the function data replaced with an UncompiledData (which overwrites the flushed bytecode array). Since we don't track JSFunctions, these can still think the underlying function is compiled, and so calling them will invoke InterpreterEntryTrampoline. As such, logic is added to InterpreterEntryTrampoline to detect flushed functions, and enter CompileLazy instead. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:8395 LOG=N Change-Id: I4a913d318363a584d79aa6d7f4ee09f04a89bbbe Reviewed-on: https://chromium-review.googlesource.com/c/1393824Reviewed-by: Joran Siu <joransiu@ca.ibm.com> Commit-Queue: Junliang Yan <jyan@ca.ibm.com> Cr-Commit-Position: refs/heads/master@{#58508}
-
Fabrice de Gans-Riberi authored
This Mac/Fuchsia build was broken as the generated assembly file must follow Linux-style calling conventions. Change-Id: I05d946e77690e97f05d57a3d5ba04cd2e63fbb9d Reviewed-on: https://chromium-review.googlesource.com/c/1377230 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Sergiy Belozorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#58507}
-