- 28 Jan, 2016 5 commits
-
-
bmeurer authored
We already have this fast case in Crankshaft where we don't call %ToInteger when the input is already a SMI. Add the same optimization to JSIntrinsicLowering. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1641753002 Cr-Commit-Position: refs/heads/master@{#33571}
-
zhengxing.li authored
port 57d202d8 (r33550) original commit message: BUG= Review URL: https://codereview.chromium.org/1640823003 Cr-Commit-Position: refs/heads/master@{#33570}
-
v8-autoroll authored
Rolling v8/tools/clang to 50155e1a5a647a6184e3fe2c687e2fbe1720d3e4 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1639253004 Cr-Commit-Position: refs/heads/master@{#33569}
-
zhengxing.li authored
port a2baaaac (r33538) original commit message: BUG= Review URL: https://codereview.chromium.org/1644863002 Cr-Commit-Position: refs/heads/master@{#33568}
-
zhengxing.li authored
port a685180d (r33535) original commit message: On Intel, imul clobbers {r|e}ax. We're missing that in the representation of the MulHigh intermediate instructions. Fixing, by adding it as a temp, akin VisitDiv does. BUG= Review URL: https://codereview.chromium.org/1643753003 Cr-Commit-Position: refs/heads/master@{#33567}
-
- 27 Jan, 2016 35 commits
-
-
mbrandy authored
Port 57d202d8 R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1646613002 Cr-Commit-Position: refs/heads/master@{#33566}
-
mbrandy authored
Port a2baaaac R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1643683002 Cr-Commit-Position: refs/heads/master@{#33565}
-
alph authored
There might be more native functions at root node, e.g. b.CreateDoubleResultArray TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1644663003 Cr-Commit-Position: refs/heads/master@{#33564}
-
mbrandy authored
Constant pool must be marked as unavailable for use after the caller's pointer has been restored ahead of the tail call. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, ishell@chromium.org BUG= Review URL: https://codereview.chromium.org/1641743002 Cr-Commit-Position: refs/heads/master@{#33563}
-
adamk authored
Note that in these cases, we don't support computed property names yet, just as we don't for object and class literals. BUG=v8:3699, v8:4710 LOG=n Review URL: https://codereview.chromium.org/1634403002 Cr-Commit-Position: refs/heads/master@{#33562}
-
jochen authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1641673002 Cr-Commit-Position: refs/heads/master@{#33561}
-
brucedawson authored
The VS 2013 toolchain used by v8 is ~two months out of date. The Chromium toolchain was updated in October to include the Windows 10 SDK. Using a different toolchain in v8 leads to the possibility of odd incompatibilities, and means that switching between Chromium and v8 requires a time-consuming reinstallation of the toolchain. The VS 2013 toolchain was updated by crrev.com/1502563003. The VS 2015 toolchain used by v8 is also out of date. It is the wrong compiler version (RTM instead of Update 1), the wrong SDK version, and it is missing files such as the UCRT installers. LOG=N BUG=440500,491424 Review URL: https://codereview.chromium.org/1632363002 Cr-Commit-Position: refs/heads/master@{#33560}
-
mstarzinger authored
This cleans up the aforementioned predicate to not rely on the flags computed for communication between compiled code and the runtime. The underlying predicates of the AST are used directly instead. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1638353002 Cr-Commit-Position: refs/heads/master@{#33559}
-
alph authored
Safe stack iterator is supposed to work even when the stack is in an inconsistent state. E.g. during cpu profile sample recording. This patch eliminates a crash if the frame marker is found to be bogus. BUG=v8:4705 LOG=N Review URL: https://codereview.chromium.org/1633323002 Cr-Commit-Position: refs/heads/master@{#33558}
-
jochen authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1644603002 Cr-Commit-Position: refs/heads/master@{#33557}
-
mvstanton authored
Revert of Type Feedback Vector lives in the closure (patchset #2 id:20001 of https://codereview.chromium.org/1642613002/ ) Reason for revert: Bug: failing to use write barrier when writing code entry into closure. Original issue's description: > Reland of Type Feedback Vector lives in the closure > > (Fixed a bug found by nosnap builds.) > > We get less "pollution" of type feedback if we have one vector per native > context, rather than one for the whole system. This CL moves the vector > appropriately. > > We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The > vector actually lives in the first slot of the literals array (indeed there is > great commonality between those arrays, they can be thought of as the same > thing). So we make greater effort to ensure there is a valid literals array > after compilation. > > This meant, for performance reasons, that we needed to extend > FastNewClosureStub to support creating closures with literals. And ultimately, > it drove us to move the optimized code map lookup out of FastNewClosureStub > and into the compile lazy builtin. > > The heap change is trivial so I TBR Hannes for it... > > TBR=hpayer@chromium.org > BUG= > > Committed: https://crrev.com/d984b3b0ce91e55800f5323b4bb32a06f8a5aab1 > Cr-Commit-Position: refs/heads/master@{#33548} TBR=bmeurer@chromium.org,yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1643533003 Cr-Commit-Position: refs/heads/master@{#33556}
-
marija.antic authored
Implement the optional turbofan operators Word32Ctz, Word64Ctz, Word32Popcnt and Word64Popcnt. BUG= Review URL: https://codereview.chromium.org/1588383002 Cr-Commit-Position: refs/heads/master@{#33555}
-
bmeurer authored
R=jarin@chromium.org BUG=v8:4583 LOG=n Review URL: https://codereview.chromium.org/1642653002 Cr-Commit-Position: refs/heads/master@{#33554}
-
akos.palfi authored
TEST=mjsunit/harmony/unicode-regexp-ignore-case BUG= Review URL: https://codereview.chromium.org/1639263002 Cr-Commit-Position: refs/heads/master@{#33553}
-
mlippautz authored
This reverts commit 85ba94f2. All parallelism can be turned off using --predictable, or --noparallel-compaction. This patch completely parallelizes - semispace copy: from space -> to space (within newspace) - newspace evacuation: newspace -> oldspace - oldspace compaction: oldspace -> oldspace Previously newspace has been handled sequentially (semispace copy, newspace evacuation) before compacting oldspace in parallel. However, on a high level there are no dependencies between those two actions, hence we parallelize them altogether. We base the number of evacuation tasks on the overall set of to-be-processed pages (newspace + oldspace compaction pages). Some low-level details: - The hard cap on number of tasks has been lifted - We cache store buffer entries locally before merging them back into the global StoreBuffer in a finalization phase. - We cache AllocationSite operations locally before merging them back into the global pretenuring storage in a finalization phase. - AllocationSite might be compacted while they would be needed for newspace evacuation. To mitigate any problems we defer checking allocation sites for newspace till merging locally buffered data. CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel BUG=chromium:524425 LOG=N R=hpayer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/1640563004 Cr-Commit-Position: refs/heads/master@{#33552}
-
verwaest authored
BUG=chromium:580584 LOG=y Review URL: https://codereview.chromium.org/1632603002 Cr-Commit-Position: refs/heads/master@{#33551}
-
yangguo authored
R=erik.corry@gmail.com BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1630633002 Cr-Commit-Position: refs/heads/master@{#33550}
-
zhengxing.li authored
port 6131ab1e (r33509) original commit message: This CL implements PrepareForTailCall() mentioned in ES6 spec for full codegen, Crankshaft and Turbofan. When debugger is active tail calls are disabled. Tail calling can be enabled by --harmony-tailcalls flag. BUG= Review URL: https://codereview.chromium.org/1637163003 Cr-Commit-Position: refs/heads/master@{#33549}
-
mvstanton authored
(Fixed a bug found by nosnap builds.) We get less "pollution" of type feedback if we have one vector per native context, rather than one for the whole system. This CL moves the vector appropriately. We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The vector actually lives in the first slot of the literals array (indeed there is great commonality between those arrays, they can be thought of as the same thing). So we make greater effort to ensure there is a valid literals array after compilation. This meant, for performance reasons, that we needed to extend FastNewClosureStub to support creating closures with literals. And ultimately, it drove us to move the optimized code map lookup out of FastNewClosureStub and into the compile lazy builtin. The heap change is trivial so I TBR Hannes for it... TBR=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1642613002 Cr-Commit-Position: refs/heads/master@{#33548}
-
Michael Achenbach authored
Cr-Commit-Position: refs/heads/master@{#33547}
-
mvstanton authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1638333002 Cr-Commit-Position: refs/heads/master@{#33546}
-
mstarzinger authored
This ensures that the BytecodeGraphBuilder can generate correct graphs even when deoptimization has not been enabled. This configuration is not enabled in production, and we might eventually decide to deprecate it for good. Until then, this is a quick fix. R=jarin@chromium.org TEST=cctest/test-pipeline Review URL: https://codereview.chromium.org/1640683002 Cr-Commit-Position: refs/heads/master@{#33545}
-
oth authored
Introduces the concept of transfer direction to register operands. This enables the register translator to emit exactly the moves that a bytecode having it's register operands translated needs. BUG=v8:4280,v8:4675 LOG=N Review URL: https://codereview.chromium.org/1633153002 Cr-Commit-Position: refs/heads/master@{#33544}
-
yangguo authored
We only do the desugaring in RegExpCharacterClass::ToNode, which is not called if it is part of a RegExpText. R=erik.corry@gmail.com, erikcorry@chromium.org Review URL: https://codereview.chromium.org/1641593002 Cr-Commit-Position: refs/heads/master@{#33543}
-
sigurds authored
BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1631333002 Cr-Commit-Position: refs/heads/master@{#33542}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1637923002 Cr-Commit-Position: refs/heads/master@{#33541}
-
yangguo authored
R=littledan@chromium.org BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1601653006 Cr-Commit-Position: refs/heads/master@{#33540}
-
machenbach authored
Revert of [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ (patchset #16 id:620001 of https://codereview.chromium.org/1577853007/ ) Reason for revert: [Sheriff] Leads to crashes on all webrtc chromium testers, e.g.: https://build.chromium.org/p/chromium.webrtc/builders/Mac%20Tester/builds/49664 Original issue's description: > [heap] Parallel newspace evacuation, semispace copy, and compaction \o/ > > All parallelism can be turned off using --predictable, or --noparallel-compaction. > > This patch completely parallelizes > - semispace copy: from space -> to space (within newspace) > - newspace evacuation: newspace -> oldspace > - oldspace compaction: oldspace -> oldspace > > Previously newspace has been handled sequentially (semispace copy, newspace > evacuation) before compacting oldspace in parallel. However, on a high level > there are no dependencies between those two actions, hence we parallelize them > altogether. We base the number of evacuation tasks on the overall set of > to-be-processed pages (newspace + oldspace compaction pages). > > Some low-level details: > - The hard cap on number of tasks has been lifted > - We cache store buffer entries locally before merging them back into the global > StoreBuffer in a finalization phase. > - We cache AllocationSite operations locally before merging them back into the > global pretenuring storage in a finalization phase. > - AllocationSite might be compacted while they would be needed for newspace > evacuation. To mitigate any problems we defer checking allocation sites for > newspace till merging locally buffered data. > > CQ_EXTRA_TRYBOTS=tryserver.v8:v8_linux_arm64_gc_stress_dbg,v8_linux_gc_stress_dbg,v8_mac_gc_stress_dbg,v8_linux64_asan_rel,v8_linux64_tsan_rel,v8_mac64_asan_rel > BUG=chromium:524425 > LOG=N > R=hpayer@chromium.org, ulan@chromium.org > > Committed: https://crrev.com/8f0fd8c0370ae8c5aab56491b879d7e30c329062 > Cr-Commit-Position: refs/heads/master@{#33523} TBR=hpayer@chromium.org,ulan@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1643473002 Cr-Commit-Position: refs/heads/master@{#33539}
-
yangguo authored
BUG=v8:2952 LOG=N Review URL: https://codereview.chromium.org/1599303002 Cr-Commit-Position: refs/heads/master@{#33538}
-
neis authored
In a generator function, the parser rewrites a return statement into a "final" yield. A final yield used to close the generator, which was incorrect because the return may occur inside a try-finally clause and so the generator may not yet terminate. BUG= Review URL: https://codereview.chromium.org/1634553002 Cr-Commit-Position: refs/heads/master@{#33537}
-
mtrofin authored
MoveKey used to be a std::pair. Rather than expecting the reader to remember which is "first" and "second", this change makes it a struct with specific names ("source" and "destination") BUG= Review URL: https://codereview.chromium.org/1641523002 Cr-Commit-Position: refs/heads/master@{#33536}
-
mtrofin authored
On Intel, imul clobbers {r|e}ax. We're missing that in the representation of the MulHigh intermediate instructions. Fixing, by adding it as a temp, akin VisitDiv does. Review URL: https://codereview.chromium.org/1631973003 Cr-Commit-Position: refs/heads/master@{#33535}
-
littledan authored
This patch stages the first part of RegExp subclassing--defining Symbol.{match,replace,search,split}, but keeping their original definitions which are restricted to a RegExp receiver and do not call out to the core 'exec' method. This is being staged separately because the two sets of extension points are separate features with separate functionality. The amount of behavior which is held behind the flag is very small, just exposing the symbols as properties of Symbol--the behavior that the String methods call out to these Symbol properties has already been shipping unflagged. R=yangguo@chromium.org BUG=v8:4305,v8:4343,v8:4344,v8:4345 LOG=Y Review URL: https://codereview.chromium.org/1637703003 Cr-Commit-Position: refs/heads/master@{#33534}
-
jarin authored
Field types can contain at most one map, so we can just use IsClass(). Review URL: https://codereview.chromium.org/1633213003 Cr-Commit-Position: refs/heads/master@{#33533}
-
v8-autoroll authored
Rolling v8/buildtools to 11961c21510b90aa6057064459a1af53f3fff449 Rolling v8/tools/clang to 55e0efc650db1b2c60b50c8c32cfc8a27d8f2986 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1641473002 Cr-Commit-Position: refs/heads/master@{#33532}
-