- 10 Feb, 2017 32 commits
-
-
jarin authored
This introduces new maps to track whether we have created at most one closure. If we have created just one closure, Turbofan will specialize the code to its context. Review-Url: https://codereview.chromium.org/2680313002 Cr-Commit-Position: refs/heads/master@{#43108}
-
rmcilroy authored
In order to compile eager inner functions on a background thread we need to keep the handles created during parsing and scope analysis alive until the background compilation is complete. In order to do that, we allocate the handles in a deferred handle scope and keep the deferred handles alive with a shared_ptr in the ParseInfo and CompileInfo respectively. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2650883002 Cr-Commit-Position: refs/heads/master@{#43107}
-
Marja Hölttä authored
This CL covers simple ("simple") rest param cases. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: I254c2eb81d759eb2ea2a3d5e7c46bcdc2ccef707 Reviewed-on: https://chromium-review.googlesource.com/440984Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43106}
-
rmcilroy authored
Revert of [arm64] A shift of 0 is not allowed in ubfx. (patchset #2 id:20001 of https://codereview.chromium.org/2685943003/ ) Reason for revert: Reverting due to causing Word64AndWithImmediateWithWord64Sh to fail locally (but not on the bot). BUG=v8:5956 Original issue's description: > [arm64] A shift of 0 is not allowed in ubfx. > > R=bmeurer@chromium.org, v8-arm-ports@googlegroups.com > BUG=v8:5951 > > Review-Url: https://codereview.chromium.org/2685943003 > Cr-Commit-Position: refs/heads/master@{#43090} > Committed: https://chromium.googlesource.com/v8/v8/+/c46ccef921ee754d60283d132b9d19f64ae7b1ff TBR=bmeurer@chromium.org,v8-arm-ports@googlegroups.com,martyn.capewell@arm.com,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5951 Review-Url: https://codereview.chromium.org/2687373002 Cr-Commit-Position: refs/heads/master@{#43105}
-
caitp authored
Alternative approach to https://codereview.chromium.org/2667983004/, which does not depend on implicit control flow changes from https://codereview.chromium.org/2664083002 - Remove handling for `async function` from Parser::RewriteReturn(). This functionality is moved to BytecodeGenerator::BuildAsyncReturn(). This ensures that promise resolution is deferred until all finally blocks are evaluated fully. - Add a new deferred command (CMD_ASYNC_RETURN), which instructs ControlScope to generate return code using BuildAsyncReturn rather than BuildReturn. - Parser has a new `NewReturnStatement()` helper which determines what type of return statement to generate based on the type of function. BUG=v8:5896, v8:4483 R=littledan@chromium.org, neis@chromium.org, rmcilroy@chromium.org, adamk@chromium.org, gsathya@chromium.org Review-Url: https://codereview.chromium.org/2685683002 Cr-Commit-Position: refs/heads/master@{#43104}
-
Camillo Bruni authored
Change-Id: I91bedd8d30e32f270fb528d0d8bbfed45074878f Reviewed-on: https://chromium-review.googlesource.com/440065Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#43103}
-
mlippautz authored
BUG=v8:5945 Review-Url: https://codereview.chromium.org/2689683002 Cr-Commit-Position: refs/heads/master@{#43102}
-
mstarzinger authored
This fixes the case where the index passed to {HMaybeGrowElements} used to derive the new capacity for the elements backing store does not fit into Smi range. Such an overflow would fail the capacity check and cause growing to be skipped. Subsequent keyed stores would potentially go out of bounds. R=mvstanton@chromium.org TEST=mjsunit/regress/regress-crbug-686427 BUG=chromium:686427 Review-Url: https://codereview.chromium.org/2686263002 Cr-Commit-Position: refs/heads/master@{#43101}
-
neis authored
Also make them use the helpers that I introduced recently. BUG=v8:5636 Review-Url: https://codereview.chromium.org/2684343004 Cr-Commit-Position: refs/heads/master@{#43100}
-
ulan authored
This works around a compiler bug that leads to incorrect masking of the semantic_ field in TruncatingUseInfoFromRepresentation. Patch from bulach@google.com BUG= Review-Url: https://codereview.chromium.org/2669113003 Cr-Original-Commit-Position: refs/heads/master@{#42925} Committed: https://chromium.googlesource.com/v8/v8/+/8c7fc377fd5c03e30cbf767cd22aba59178e0143 Review-Url: https://codereview.chromium.org/2669113003 Cr-Commit-Position: refs/heads/master@{#43099}
-
neis authored
Move the logic into Scope::DeclareVariable to be more robust. BUG=v8:5636 Review-Url: https://codereview.chromium.org/2685293003 Cr-Commit-Position: refs/heads/master@{#43098}
-
jgruber authored
This test is flaky when run with --optimize-for-size. BUG=v8:5950 Review-Url: https://codereview.chromium.org/2689603003 Cr-Commit-Position: refs/heads/master@{#43097}
-
neis authored
R=gsathya@chromium.org TBR=adamk@chromium.org BUG= Review-Url: https://codereview.chromium.org/2688143002 Cr-Commit-Position: refs/heads/master@{#43096}
-
ahaas authored
The use of setjmp/longjmp makes the cctests in test-run-wasm and test-run-wasm-64 flaky on Windows, and I think that it is better not to use it. With this CL I replace it as follows: Similar to the setjmp/longjmp implementation we still call a C function when a trap happens. However, instead of calling longjmp in this C function we just set a flag which indicates that a trap happened and then return. After we return from the C function we leave the frame of the current wasm function and return with a RET instruction. At the end of a test the wasm test runner checks the flag to see if a trap happened. Please take a special look at the LeaveFrame function on arm64. R=titzer@chromium.org, clemensh@chromium.org, v8-arm-ports@googlegroups.com CC=jarin@chromium.org Review-Url: https://codereview.chromium.org/2685583003 Cr-Commit-Position: refs/heads/master@{#43095}
-
mlippautz authored
BUG= Review-Url: https://codereview.chromium.org/2684233004 Cr-Commit-Position: refs/heads/master@{#43094}
-
rmcilroy authored
Revert of [Compiler] Enable handles created during parsing and scope analysis to be deferred. (patchset #9 id:180001 of https://codereview.chromium.org/2650883002/ ) Reason for revert: Issue on arm64: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim/builds/5752 Original issue's description: > [Compiler] Enable handles created during parsing and scope analysis to be deferred. > > In order to compile eager inner functions on a background thread we need to > keep the handles created during parsing and scope analysis alive until the > background compilation is complete. In order to do that, we allocate the > handles in a deferred handle scope and keep the deferred handles alive with > a shared_ptr in the ParseInfo and CompileInfo respectively. > > BUG=v8:5203 > > Review-Url: https://codereview.chromium.org/2650883002 > Cr-Commit-Position: refs/heads/master@{#43091} > Committed: https://chromium.googlesource.com/v8/v8/+/9346cd9b4c50466aa8d50e98c56b84ba47c2a115 TBR=marja@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5203 Review-Url: https://codereview.chromium.org/2687973003 Cr-Commit-Position: refs/heads/master@{#43093}
-
ahaas authored
NOTRY=true R=hablich@chromium.org Review-Url: https://codereview.chromium.org/2688133002 Cr-Commit-Position: refs/heads/master@{#43092}
-
rmcilroy authored
In order to compile eager inner functions on a background thread we need to keep the handles created during parsing and scope analysis alive until the background compilation is complete. In order to do that, we allocate the handles in a deferred handle scope and keep the deferred handles alive with a shared_ptr in the ParseInfo and CompileInfo respectively. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2650883002 Cr-Commit-Position: refs/heads/master@{#43091}
-
ahaas authored
R=bmeurer@chromium.org, v8-arm-ports@googlegroups.com BUG=v8:5951 Review-Url: https://codereview.chromium.org/2685943003 Cr-Commit-Position: refs/heads/master@{#43090}
-
rmcilroy authored
In order to allow parallel compilation of eager inner functions, we need to seperate the zone used for parsing (which will be shared between all the parallel compile jobs) and the zone used for compilation. This CL changes CompilationInfo to require a zone (which can be different from the zone in ParseInfo). We then seal the ParseInfo zone after parsing and analysis is done to prevent any further allocation in that zone, so that it can be shared (read-only) with the parallel compile jobs. BUG=v8:5203 Review-Url: https://codereview.chromium.org/2645403002 Cr-Commit-Position: refs/heads/master@{#43089}
-
jgruber authored
This was broken by https://codereview.chromium.org/2663803002. BUG= Review-Url: https://codereview.chromium.org/2686253003 Cr-Commit-Position: refs/heads/master@{#43088}
-
Peter Marshall authored
Add a simple benchmark for a TypedArray constructor. Run once with the default pipeline and once with turbofan so that we can compare the performance. Also fixes a typo in the Regex for the result of the CopyWithin benchmark which stopped the results showing up in the perf dashboard. BUG= Change-Id: Ic2eb0bd1e02b458c1163e97130abd0e7531c2e1c Reviewed-on: https://chromium-review.googlesource.com/440225Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#43087}
-
Marja Hölttä authored
This CL covers only the very simple cases. BUG=v8:5516 R=vogelheim@chromium.org Change-Id: Ib6ddc90cbcf1c923a7b72493cfd029cfa835462b Reviewed-on: https://chromium-review.googlesource.com/440246Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43086}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2682143002 Cr-Original-Commit-Position: refs/heads/master@{#43065} Committed: https://chromium.googlesource.com/v8/v8/+/193a0c118845d068ab386b5c90d04daaa64e1e86 Review-Url: https://codereview.chromium.org/2682143002 Cr-Commit-Position: refs/heads/master@{#43085}
-
Jochen Eisinger authored
R=mlippautz@chromium.org BUG= Change-Id: I4b25bcc1accd652e28a1fe4fc9776265afa1b75b Reviewed-on: https://chromium-review.googlesource.com/440944Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#43084}
-
yangguo authored
Sometimes we do want to include objects that are already dead. R=hpayer@chromium.org BUG=v8:5808 Review-Url: https://codereview.chromium.org/2687113002 Cr-Commit-Position: refs/heads/master@{#43083}
-
yangguo authored
Collecting precise invocation counts need to be explicitly enabled. Once enabled, we disable optimization (optimized code does not increment invocation count, and may inline callees), and make sure feedback vectors interesting for code coverage is not garbage-collected. R=hpayer@chromium.org, jgruber@chromium.org BUG=v8:5808 Review-Url: https://codereview.chromium.org/2686063002 Cr-Commit-Position: refs/heads/master@{#43082}
-
ishell authored
This CL includes runtime and IC parts of the tracking. It is controlled by compile-time flag FLAG_constant_field_tracking and currently disabled. Transition from kConst to kMutable still involves map deprecation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2598543003 Cr-Commit-Position: refs/heads/master@{#43081}
-
yukishiino authored
http://www.ecma-international.org/ecma-262/7.0/#sec-validateandapplypropertydescriptor says that [[DefineProperty]] should return false if the property is already defined and it's unconfigurable (exactly speaking, the condition in the spec is more complicated, but roughly speaking, it's when the property is unconfigurable). BUG=chromium:670651 Review-Url: https://codereview.chromium.org/2680353004 Cr-Commit-Position: refs/heads/master@{#43080}
-
v8-autoroll authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/e62b61f..9d467bb Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/5c71aac..df42e55 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Change-Id: Ia85a5ca11321e0bea3f0b58989e5c18fa344a8c7 Reviewed-on: https://chromium-review.googlesource.com/440804Reviewed-by: v8 autoroll <v8-autoroll@chromium.org> Commit-Queue: v8 autoroll <v8-autoroll@chromium.org> Cr-Commit-Position: refs/heads/master@{#43079}
-
jkummerow authored
And use it to avoid runtime calls when there are too many properties for linear searching. The threshold of 32 was chosen by experimentation. Review-Url: https://codereview.chromium.org/2680973002 Cr-Commit-Position: refs/heads/master@{#43078}
-
titzer authored
R=bradnelson@chromium.org,clemensh@chromium.org BUG= Review-Url: https://codereview.chromium.org/2682943007 Cr-Commit-Position: refs/heads/master@{#43077}
-
- 09 Feb, 2017 8 commits
-
-
jkummerow authored
DescriptorArray::kDescriptorFoo was renamed to DescriptorArray::kEntryFooIndex in https://codereview.chromium.org/2688573003 TBR=ishell@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2687083003 Cr-Commit-Position: refs/heads/master@{#43076}
-
jkummerow authored
TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2688573003 Cr-Commit-Position: refs/heads/master@{#43075}
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2686723004 Cr-Commit-Position: refs/heads/master@{#43074}
-
bjaideep authored
Port e425079b Minor fix to the s390 port. Original Commit Message: arguments.h is one of the headers including objects-inl.h. Files needing objects-inl.h used to innocently pull in debug.h, so that needs to be fixed now too. R=marja@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:5294 LOG=N Review-Url: https://codereview.chromium.org/2687103002 Cr-Commit-Position: refs/heads/master@{#43073}
-
yangguo authored
Collect code coverage from the available invocation counts. The granularity is at function level, and invocation counts may be lost to GC. Coverage::Collect returns a std::vector of Coverage::ScriptData. Each ScriptData contains a script ID and a std::vector of Coverage::RangeEntry. Each RangeEntry consists of a end position and the invocation count. The start position is implicit from the end position of the previous RangeEntry, or 0 if it's the first RangeEntry. R=jgruber@chromium.org BUG=v8:5808 Review-Url: https://codereview.chromium.org/2689493002 Cr-Commit-Position: refs/heads/master@{#43072}
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2682153003 Cr-Commit-Position: refs/heads/master@{#43071}
-
machenbach authored
Revert of [compiler] Pass deoptimization_kind through DeoptimizeParameters and FlagsContinuation (patchset #3 id:40001 of https://codereview.chromium.org/2682143002/ ) Reason for revert: cfi failure: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20cfi/builds/8635 Original issue's description: > [compiler] Pass deoptimization_kind through DeoptimizeParameters and FlagsContinuation > > BUG= > > Review-Url: https://codereview.chromium.org/2682143002 > Cr-Commit-Position: refs/heads/master@{#43065} > Committed: https://chromium.googlesource.com/v8/v8/+/193a0c118845d068ab386b5c90d04daaa64e1e86 TBR=jarin@chromium.org,verwaest@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/2683203002 Cr-Commit-Position: refs/heads/master@{#43070}
-
Leszek Swirski authored
Cleans up the internalization. Also, clean up no-longer-used ast symbols, iterator and hasInstance, which were left behind after other refactors. Having an enum here should keep this clean in the future. Change-Id: Id526784b0361c7a2242b21ecf2af72b0403c6ad8 Reviewed-on: https://chromium-review.googlesource.com/440204Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#43069}
-