- 21 Nov, 2016 21 commits
-
-
verwaest authored
[parser] Keep track of whether we are in a temp-zone in the parser, and don't lazy parse anymore once we are This avoids entering a nested temp zone, and fixes up tracing and runtime callstats names. BUG= Review-Url: https://codereview.chromium.org/2514353002 Cr-Commit-Position: refs/heads/master@{#41147}
-
yangguo authored
This test tests a code path that's being deprecated. There is no point in migrating it to the new debugger API. R=jgruber@chromium.org BUG=v8:5530 Review-Url: https://codereview.chromium.org/2519033002 Cr-Commit-Position: refs/heads/master@{#41146}
-
marja authored
BUG= Review-Url: https://codereview.chromium.org/2517993002 Cr-Commit-Position: refs/heads/master@{#41145}
-
mstarzinger authored
By now the compilation pipeline is flexible enough to run module tests against all variants, we should no longer choose unsupported compilers for modules. It also fixes the predicate checking for functions being "resumable" in the {AstNumberingVisitor} heuristic. R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2517143002 Cr-Commit-Position: refs/heads/master@{#41144}
-
ivica.bogosavljevic authored
Add/Shl to Lsa optimization doesn't yield any performance increase in case one of the operand is immediate, because Lsa cannot use the immediate so we use an extra instruction to load the immediate to register. On MIPSR2 and less this optimization leads to performance degradation, since Lsa is not supported on these architectures and it is emulated using Add/Shl which do support immediate as operand for Add. BUG= Review-Url: https://codereview.chromium.org/2509203003 Cr-Commit-Position: refs/heads/master@{#41143}
-
cbruni authored
RuntimeTimerScopes always subtract their own time from the parent timer's counter to properly account for the own time. Once a scope is destructed it adds it own timer to the current active counter. However, if the current counter is changed with CorrectCurrentCounterId we will attribute all the subtimers to the previous counter, and add the own time to the new counter. This way it is possible to end up with negative times in certain counters but the overall would still be correct. BUG= Review-Url: https://codereview.chromium.org/2511093002 Cr-Commit-Position: refs/heads/master@{#41142}
-
hablich authored
Revert of [turbofan] Introduce LoadFunctionPrototype simplified operator. (patchset #1 id:1 of https://codereview.chromium.org/2517913002/ ) Reason for revert: Blocks roll https://codereview.chromium.org/2517963002/ Original issue's description: > [turbofan] Introduce LoadFunctionPrototype simplified operator. > > Add a LoadFunctionPrototype simplified operator, similar to what > Crankshaft has, that loads the prototype property of a constructor > function. > > R=jarin@chromium.org > BUG=v8:5267 > > Committed: https://crrev.com/1737b2c74b50168e96ef1263def0eb43505fa80c > Cr-Commit-Position: refs/heads/master@{#41127} TBR=jarin@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5267 Review-Url: https://codereview.chromium.org/2514363002 Cr-Commit-Position: refs/heads/master@{#41141}
-
mstarzinger authored
This renames the {operand_stack} field to {register_file}, to refelct how said field is used on all {JSGeneratorObject} instances by now. This is a pure refactoring CL, not changes in semantics. R=neis@chromium.org Review-Url: https://codereview.chromium.org/2520913002 Cr-Commit-Position: refs/heads/master@{#41140}
-
yangguo authored
R=jgruber@chromium.org BUG=v8:5654 Review-Url: https://codereview.chromium.org/2511733002 Cr-Commit-Position: refs/heads/master@{#41139}
-
verwaest authored
BUG=chromium:655129 Review-Url: https://codereview.chromium.org/2520903002 Cr-Commit-Position: refs/heads/master@{#41138}
-
mstarzinger authored
This removes some outdated code that allocates a {JSGeneratorObject} for baseline code. We no longer support such a representation of generators and can rely on bytecode being available for all generators. R=neis@chromium.org Review-Url: https://codereview.chromium.org/2515253003 Cr-Commit-Position: refs/heads/master@{#41137}
-
ishell authored
BUG=chromium:666742, v8:5561 Review-Url: https://codereview.chromium.org/2512183002 Cr-Commit-Position: refs/heads/master@{#41136}
-
mstarzinger authored
This removes the deprecated generator support for resumable functions from {FullCodeGenerator}. The existing {AstNumbering} heuristic already triggers Ignition for most resumable functions, with this change we make said heuristic a hard choice and remove the deprecated code. This also has the advantage that any suspended {JSGeneratorObject} instance on the heap is guaranteed to have code based on a bytecode array. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2504223002 Cr-Commit-Position: refs/heads/master@{#41135}
-
rmcilroy authored
Revert of [Interpreter] Collect NumberOrOddball feedback in CompareOps. (patchset #2 id:20001 of https://codereview.chromium.org/2506283003/ ) Reason for revert: Turbofan doesn't do proper ToNumber conversions on NumberOrOddball equality conversions. BUG=v8:5660 Original issue's description: > [Interpreter] Collect NumberOrOddball feedback in CompareOps. > > Collect feedback for oddballs in the interpreter compare operations handlers. > This is important to ensure that we don't consider oddball comparisons as > generic, which prevents optimization. > > BUG=chromium:660947 > > Committed: https://crrev.com/721e74d9d942fd4f2e3392ea9626d9d404dbbbd0 > Cr-Commit-Position: refs/heads/master@{#41081} TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:660947 Review-Url: https://codereview.chromium.org/2517133002 Cr-Commit-Position: refs/heads/master@{#41134}
-
ishell authored
BUG=chromium:664974, chromium:664802, v8:5561 Review-Url: https://codereview.chromium.org/2513893003 Cr-Commit-Position: refs/heads/master@{#41133}
-
yangguo authored
Stepping in a generator now behaves similar to stepping inside an async function. Stepping in or next at a yield expression will result in a break inside the same generator when we return to the generator. Behavior of step-out does not change. R=jgruber@chromium.org, neis@chromium.org BUG=chromium:496865 Review-Url: https://codereview.chromium.org/2519853002 Cr-Commit-Position: refs/heads/master@{#41132}
-
zhengxing.li authored
The reason: The CL #40862 (https://codereview.chromium.org/2433093002 ) caused 2 test cases failed for X87. Because Both 2 test cases (MoveOptimizerTest.RemovesRedundantExplicit and RegisterAllocatorTest.CanAllocateFPRegisters) needs 2 allocatable Float/Double registers. But there's only 1 allocatable Float/Double register in x87 turbofan compiler, i.e.: register index 0. This CL disables MoveOptimizerTest.RemovesRedundantExplicit and RegisterAllocatorTest.CanAllocateFPRegisters test cases for x87. BUG= Review-Url: https://codereview.chromium.org/2520623005 Cr-Commit-Position: refs/heads/master@{#41131}
-
ishell authored
BUG=chromium:576312, v8:5561 Review-Url: https://codereview.chromium.org/2515233002 Cr-Commit-Position: refs/heads/master@{#41130}
-
jgruber authored
Adapted various tests to restrictions of inspector protocol: * osr-typing-debug-change: Don't set function variable value. * debug-evaluate-locals: Add variable introduced by eval, run typeof inside evaluate(). * regress-419663: Don't set duplicate breakpoints. * regress-crbug-465298: Compare against function name instead of value. * regress-crbug-621361: Make evaluate return string results. * debug-script: Various counts were off due to new way tests are called. Added new inspector script type. Breakpoints now contain the actual break position, and remote object reconstruction has been extended a bit. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2505363002 Cr-Commit-Position: refs/heads/master@{#41129}
-
bmeurer authored
Since loop peeling was shipped, there's no need to have the implication from --turbo to --turbo-loop-peeling. BUG=v8:5267 TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2517073002 Cr-Commit-Position: refs/heads/master@{#41128}
-
bmeurer authored
Add a LoadFunctionPrototype simplified operator, similar to what Crankshaft has, that loads the prototype property of a constructor function. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2517913002 Cr-Commit-Position: refs/heads/master@{#41127}
-
- 20 Nov, 2016 4 commits
-
-
franzih authored
Add array pattern destructuring micro-benchmarks. These benchmarks compare a naive ES5 immplementation to an ES6-style implementation that uses destructuring. Adapted from http://kpdecker.github.io/six-speed BUG=v8:5267 Review-Url: https://codereview.chromium.org/2513273002 Cr-Commit-Position: refs/heads/master@{#41126}
-
Andrii Shyshkalov authored
TBR=machenbach@chromium.org BUG= Review URL: https://codereview.chromium.org/2516983002 . Cr-Original-Funny-Footer: should become original. Cr-Commit-Position: refs/heads/master@{#41125}
-
tandrii authored
TBR=machenbach@chromium.org NOTRY=True NOPRESUBMIT=True Review-Url: https://codereview.chromium.org/2518883002 Cr-Commit-Position: refs/heads/master@{#41124}
-
caitp authored
Utility used by Promise builtins implemented in TFJ/TFS BUG=v8:5046 R=bmeurer@chromium.org, gsathya@chromium.org, yangguo@chromium.org, adamk@chromium.org Review-Url: https://codereview.chromium.org/2517823002 Cr-Commit-Position: refs/heads/master@{#41123}
-
- 19 Nov, 2016 2 commits
-
-
machenbach authored
Revert of [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. (patchset #10 id:180001 of https://codereview.chromium.org/2471883003/ ) Reason for revert: Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/7114 Original issue's description: > [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. > > Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances. > - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate. > - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected. > - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected. > - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance. > > R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org > > Committed: https://crrev.com/30ef8e33f3a199a27ca8512bcee314c9522d03f6 > Cr-Commit-Position: refs/heads/master@{#41121} TBR=bradnelson@chromium.org,mtrofin@chromium.org,titzer@chromium.org,gdeepti@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2512323004 Cr-Commit-Position: refs/heads/master@{#41122}
-
gdeepti authored
Add support for WebAssembly.Memory objects to be simultaneously referenced by multiple Instance objects. GrowingMemory should maintain a consistent view of memory across instances. - Store a link to instances that share WebAssembly.Memory in the WasmMemoryObject, updated on instantiate. - Implement WasmInstanceWrapper as a wrapper around the instance object to keep track of previous/next instances, instance object is stored as a WeakCell that can be garbage collected. - MemoryInstanceFinalizer maintains a valid list of instances when an instance is garbage collected. - Refactor GrowInstanceMemory to GrowMemoryBuffer that allocates a new buffer, and UncheckedUpdateInstanceMemory that updates memory references for an instance. R=titzer@chromium.org, mtrofin@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2471883003 Cr-Commit-Position: refs/heads/master@{#41121}
-
- 18 Nov, 2016 13 commits
-
-
littledan authored
The code which pushes and pops to the function name inference stack generally checks if the stack is active with the IsOpen method. One piece of code pertaining to async functions was missing that check. This patch adds it. BUG=chromium:658267 R=gsathya,caitp Review-Url: https://codereview.chromium.org/2514893002 Cr-Commit-Position: refs/heads/master@{#41120}
-
franzih authored
BUG=v8:5624 Review-Url: https://codereview.chromium.org/2518513002 Cr-Commit-Position: refs/heads/master@{#41119}
-
caitp authored
BUG=666622, v8:5388 R=bmeurer@chromium.org, mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2515683002 Cr-Commit-Position: refs/heads/master@{#41118}
-
mtrofin authored
A simple Print API for debugging assessments in the regalloc verifier. BUG= Review-Url: https://codereview.chromium.org/2512943003 Cr-Commit-Position: refs/heads/master@{#41117}
-
gsathya authored
This patch also cleans up NewPromiseCapability. This patch results in a 20% improvement over 4 runs with the following micro benchmark - var x = Promise.resolve(); async function bar() { return x; } async function foo() { await bar(); } var start = performance.now(); var count = 0; var max = 10000; for(var i = 0; i <= max; i++) { foo().then(() => { count++; if(count === max) print( performance.now() - start ); }) } BUG=v8:5639 Review-Url: https://codereview.chromium.org/2512103002 Cr-Commit-Position: refs/heads/master@{#41116}
-
clemensh authored
... at least for the function which will remain after restructuring of the debug interface. For some methods that will be removed anyway, we just return zero / null for now. I also refactored the ScriptLocationFromLine method to make it more readable and reuse parts in other files (like ScriptLinePosition). BUG=5655 R=titzer@chromium.org, jgruber@chromium.org Review-Url: https://codereview.chromium.org/2512833003 Cr-Commit-Position: refs/heads/master@{#41115}
-
vogelheim authored
Some minifiers use the pattern !function ... () for JS code that should be immediately executed. This change recognizes that pattern and treats it equally to parenthesized functions. A bit more background info is in the referenced bug. R=verwaest@chromium.org BUG=v8:5643 Review-Url: https://codereview.chromium.org/2509143003 Cr-Commit-Position: refs/heads/master@{#41114}
-
predrag.rudic authored
Port a1103a11 Original commit message: - Simplify the variable-length pop sequence on entry. (It now uses smaller code with no branches.) - Use conditional compare to merge branches where appropriate. - Make use of Ldrsw + UntagSmiFieldMemOperand to load smis more efficiently. - Only load 'undefined' and 'null' once per builtin. - A few other small improvements. Review-Url: https://codereview.chromium.org/2507683003 Cr-Commit-Position: refs/heads/master@{#41113}
-
ulan authored
are created using new Array(N) and setLength(N). Currently the limit is based on max old generation size, which will break with the upcoming change that allows large heaps. BUG=chromium:652721 Review-Url: https://codereview.chromium.org/2513923002 Cr-Commit-Position: refs/heads/master@{#41112}
-
ishell authored
This is a next step towards removing names table from type feedback metadata. BUG=chromium:576312, v8:5561 Review-Url: https://codereview.chromium.org/2514453002 Cr-Commit-Position: refs/heads/master@{#41111}
-
marja authored
It originates from the era where we used to run a separate preparse step before parsing and store the function data. Now the usage of preparser is something completely different, so this flag doesn't make sense any more. In addition, this way we get more test coverage for preparser (for small scripts). BUG= Review-Url: https://codereview.chromium.org/2513563002 Cr-Commit-Position: refs/heads/master@{#41110}
-
ulan authored
This reverts commit 3c96c5e2. The CL was reverted to see its impact on UMA memory counters. There was no impact, so we can safely reland the CL. BUG= Review-Url: https://codereview.chromium.org/2507293004 Cr-Commit-Position: refs/heads/master@{#41109}
-
bmeurer authored
Add fast paths for holey smi and object arrays to Function.prototype.apply, Reflect.apply and Reflect.construct. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2510043004 Cr-Commit-Position: refs/heads/master@{#41108}
-