- 11 Jan, 2017 1 commit
-
-
mstarzinger authored
R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2624113002 Cr-Commit-Position: refs/heads/master@{#42216}
-
- 23 Dec, 2016 1 commit
-
-
jarin authored
BUG=v8:5756 Review-Url: https://codereview.chromium.org/2596843002 Cr-Commit-Position: refs/heads/master@{#41942}
-
- 20 Dec, 2016 1 commit
-
-
tebbi authored
R=jarin@chromium.org BUG=chromium:673243 Review-Url: https://codereview.chromium.org/2578133002 Cr-Commit-Position: refs/heads/master@{#41848}
-
- 15 Dec, 2016 1 commit
-
-
jarin authored
Review-Url: https://codereview.chromium.org/2579743002 Cr-Commit-Position: refs/heads/master@{#41718}
-
- 13 Dec, 2016 1 commit
-
-
tebbi authored
R=epertoso@chromium.org,mstarzinger@chromium.org BUG=671324 Review-Url: https://codereview.chromium.org/2571793002 Cr-Commit-Position: refs/heads/master@{#41679}
-
- 12 Dec, 2016 1 commit
-
-
jarin authored
BUG=chromium:673244 Review-Url: https://codereview.chromium.org/2568053002 Cr-Commit-Position: refs/heads/master@{#41634}
-
- 08 Dec, 2016 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org,titzer@chromium.org Review-Url: https://codereview.chromium.org/2557693006 Cr-Commit-Position: refs/heads/master@{#41579}
-
- 07 Dec, 2016 1 commit
-
-
jarin authored
BUG=chromium:671574 Review-Url: https://codereview.chromium.org/2560743002 Cr-Commit-Position: refs/heads/master@{#41541}
-
- 30 Nov, 2016 1 commit
-
-
rmcilroy authored
JSFrameSpecialization depends on the layout of the frame and doesn't work with interpreted frames. Disable it since it is only used for OSR from asmjs code, which shouldn't go through the bytecode graph builder in many cases. BUG=669517 Review-Url: https://codereview.chromium.org/2538823002 Cr-Commit-Position: refs/heads/master@{#41387}
-
- 29 Nov, 2016 2 commits
-
-
bmeurer authored
For bound functions on the right-hand side of instanceof we can constant-fold to the actual [[BoundTargetFunction]], actually instance OrdinaryHasInstance. Move the Function.prototype[@@hasInstance] reduction up to the JSCallReducer to allow this optimization to become effective (and also enable other optimizations). BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2537763002 Cr-Commit-Position: refs/heads/master@{#41352}
-
bmeurer authored
This introduces three new types OtherCallable, CallableProxy (and OtherProxy), and BoundFunction to make it possible to express Callable in the Type system. It also forces all undetectable receivers to be Callable, which matches the use case for undetectable, namely document.all (guarded by proper checks and tests). It also uses these new types to properly optimize instanceof (indirectly via OrdinaryHasInstance) based on the type of the constructor and the object. So we are able to constant-fold certain instanceof expressions based on types and completely avoid the builtin call. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2535753004 Cr-Commit-Position: refs/heads/master@{#41345}
-
- 28 Nov, 2016 1 commit
-
-
jarin authored
BUG=chromium:668760 Review-Url: https://codereview.chromium.org/2530403002 Cr-Commit-Position: refs/heads/master@{#41314}
-
- 24 Nov, 2016 1 commit
-
-
bmeurer authored
The deprecated pipeline is used for asm.js only, where we forcibly disable inlining anyways (for performance reasons), so inlining via the AstGraphBuilder is essentially dead code by now, thus there's no point in trying to keep that around in the code base. Also nuke the test-run-inlining.cc file, which would require some heavy surgery (for probably little benefit), and move the useful tests for mjsunit tests instead. BUG=v8:2206,v8:5657 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2527053002 Cr-Commit-Position: refs/heads/master@{#41245}
-
- 22 Nov, 2016 1 commit
-
-
jarin authored
BUG=chromium:664117 Review-Url: https://codereview.chromium.org/2522883002 Cr-Commit-Position: refs/heads/master@{#41173}
-
- 21 Nov, 2016 1 commit
-
-
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}
-
- 18 Nov, 2016 1 commit
-
-
bmeurer authored
This is the TurboFan counterpart of http://crrev.com/2504263004, but it is a bit more involved, since in TurboFan we always inline the appropriate call to the @@hasInstance handler, and by that we can optimize a lot more patterns of instanceof than Crankshaft, and even yield fast instanceof for custom @@hasInstance handlers (which we can now properly inline as well). Also we now properly optimize Function.prototype[@@hasInstance], even if the right hand side of an instanceof doesn't have the Function.prototype as its direct prototype. For the baseline case, we still rely on the global protector cell, but we can address that in a follow-up as well, and make it more robust in general. TEST=mjsunit/compiler/instanceof BUG=v8:5640 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2511223003 Cr-Commit-Position: refs/heads/master@{#41092}
-
- 16 Nov, 2016 2 commits
-
-
rmcilroy authored
Fixes a bug in ast-graph-builder added in r40965 BUG=chromium:665680 Review-Url: https://codereview.chromium.org/2509643002 Cr-Commit-Position: refs/heads/master@{#41034}
-
jgruber authored
This CL further extends the debug wrapper, migrates around 60 tests, and removes a few tests that use functionality we will not support anymore. In more detail: * Removed tests that use: * enable/disable individual breakpoints * invocationText() * the ScriptCollected event * showBreakPoints * evalFromScript (and similar) * mirror.constructedBy and mirror.referencedBy * event_data.promise() * Some frame.evaluate uses were adapted since due to differences between remote objects (inspector) and mirrors. For instance, exceptions are currently not recreated exactly, since the inspector protocol does not give us the stack and message separately. Other objects (such as 'this' in debug-evaluate-receiver-before-super) need to be explicitly converted to a string before the test works correctly. * Ensure that inspector stores the script before sending ScriptParsed and ScriptFailedToParse events in order to be able to use the script from within those events. * Better remote object reconstruction (e.g. for undefined and arrays). * New functionality in wrapper: * debuggerFlags().breakPointsActive.setValue() * scripts() * execState.setVariableValue() * execState.scopeObject().value() * execState.scopeObject().property() * execState.frame().allScopes() * eventData.exception() * eventData.script() * setBreakPointsActive() BUG=v8:5530 Review-Url: https://codereview.chromium.org/2497973002 Cr-Commit-Position: refs/heads/master@{#41019}
-
- 15 Nov, 2016 2 commits
-
-
jarin authored
Reland of [turbofan] Fix deoptimization of boolean bit constants. (patchset #1 id:1 of https://codereview.chromium.org/2495243002) This reverts commit 1c9528c4. BUG=chromium:664490 Review-Url: https://codereview.chromium.org/2503763003 Cr-Commit-Position: refs/heads/master@{#40994}
-
jarin authored
BUG=chromium:626986 Review-Url: https://codereview.chromium.org/2503863002 Cr-Commit-Position: refs/heads/master@{#40990}
-
- 14 Nov, 2016 2 commits
-
-
jarin authored
Revert of [turbofan] Fix deoptimization of boolean bit constants. (patchset #1 id:1 of https://codereview.chromium.org/2495243002/ ) Reason for revert: Seems to break GC stress. Original issue's description: > [turbofan] Fix deoptimization of boolean bit constants. > > BUG=chromium:664490 TBR=bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:664490 Review-Url: https://codereview.chromium.org/2502613002 Cr-Commit-Position: refs/heads/master@{#40961}
-
jarin authored
BUG=chromium:664490 Review-Url: https://codereview.chromium.org/2495243002 Cr-Commit-Position: refs/heads/master@{#40951}
-
- 09 Nov, 2016 1 commit
-
-
bmeurer authored
This adds a new NumberToUint8Clamped simplified operator that does the round ties to even + clamping necessary to store to Uint8ClampedArrays. BUG=v8:4470,v8:5267,v8:5615 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2489563004 Cr-Commit-Position: refs/heads/master@{#40861}
-
- 08 Nov, 2016 1 commit
-
-
jgruber authored
This moves all tests currently working with the inspector debugger wrapper to test/debugger. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2480223002 Cr-Commit-Position: refs/heads/master@{#40824}
-
- 07 Nov, 2016 4 commits
-
-
jgruber authored
Revert of [debugger] Migrate more debugger tests to inspector (patchset #2 id:20001 of https://codereview.chromium.org/2480223002/ ) Reason for revert: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20gcc%204.8/builds/9724 Original issue's description: > [debugger] Migrate more debugger tests to inspector > > This moves all tests currently working with the inspector debugger wrapper to > test/debugger. > > BUG=v8:5530 TBR=yangguo@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5530 Review-Url: https://codereview.chromium.org/2480283002 Cr-Commit-Position: refs/heads/master@{#40805}
-
jgruber authored
This moves all tests currently working with the inspector debugger wrapper to test/debugger. BUG=v8:5530 Review-Url: https://codereview.chromium.org/2480223002 Cr-Commit-Position: refs/heads/master@{#40804}
-
bmeurer authored
TBR=machenbach@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/2477303002 Cr-Commit-Position: refs/heads/master@{#40790}
-
bmeurer authored
In Crankshaft we unconditionally assume that accesses to arguments[i] will be in-bounds and don't take into account IC feedback that would eventually teach us about out-of-bounds accesses that have happened in the past, so there's no real guard to protect the bounds check in optimized code. TEST=mjsunit/compiler/deopt-arguments-oob R=jarin@chromium.org BUG=v8:5606 Review-Url: https://codereview.chromium.org/2481053002 Cr-Commit-Position: refs/heads/master@{#40787}
-
- 03 Nov, 2016 1 commit
-
-
rmcilroy authored
BUG=v8:4680 Review-Url: https://codereview.chromium.org/2467223004 Cr-Commit-Position: refs/heads/master@{#40718}
-
- 27 Oct, 2016 2 commits
-
-
jarin authored
BUG=v8:5573 Review-Url: https://codereview.chromium.org/2458623002 Cr-Commit-Position: refs/heads/master@{#40619}
-
bmeurer authored
For inputs to truncating binary operations like <<, | or >>>, support all Oddballs not just undefined, true and false. This unifies treatment of these truncations in Crankshaft and TurboFan, and is very easy nowadays, since the memory layout of Oddball and HeapNumber is compatible. R=yangguo@chromium.org BUG=v8:5400 Review-Url: https://codereview.chromium.org/2452193003 Cr-Commit-Position: refs/heads/master@{#40608}
-
- 24 Oct, 2016 1 commit
-
-
bmeurer authored
We need to check the KeyedLoadIC state to guard against potential deoptimization loops due to out-of-bounds accesses, because the IC system uses the MEGAMORPHIC state to also signal that there was an out-of-bounds access already. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2443893002 Cr-Commit-Position: refs/heads/master@{#40525}
-
- 19 Oct, 2016 1 commit
-
-
bmeurer authored
The inlined version of Number.parseInt did a ToInt32 truncation, which is not what the EcmaScript specification says. R=jarin@chromium.org BUG=v8:5538 Review-Url: https://chromiumcodereview.appspot.com/2432143002 Cr-Commit-Position: refs/heads/master@{#40418}
-
- 06 Oct, 2016 1 commit
-
-
jarin authored
Reland of "[turbofan] Osr value typing + dynamic type checks on entry. (patchset #5 id:80001 of https://codereview.chromium.org/2384113002/ )" Fixes: - Remove OsrGuards on frame specialization (for asm.js). - Handle the rename in the walk for native context. - Fix LoadContext effect wiring for Osr context chains. Review-Url: https://codereview.chromium.org/2388303006 Cr-Commit-Position: refs/heads/master@{#40021}
-
- 05 Oct, 2016 3 commits
-
-
jarin authored
Revert of [turbofan] Osr value typing + dynamic type checks on entry. (patchset #5 id:80001 of https://codereview.chromium.org/2384113002/ ) Reason for revert: Tanks the world. Original issue's description: > [turbofan] Osr value typing + dynamic type checks on entry. > > This introduces a new OsrGuard node that is inserted during graph building > to guard the inferred type of the OSR value. > > The type of the OSR value is inferred by running the typer before OSR > deconstruction, and then taking the type from the phi that takes the > OSR value. After the deconstruction, we throw the types away. > > At the moment we only support the SignedSmall OSR type and we always > pick the tagged representation. Later, we might want to support more > types (such as Number) and pick better representations (int32/float64). > > This CL also removes the OSR deconstruction tests because they build > unrealistic graph (no effect chain, no loop termination). I considered > adding the effect chains to the tests, but this would make the tests > even more brittle. > > Committed: https://crrev.com/1f5dc90a900d222da44bee3eff171a2ba1e3c076 > Cr-Commit-Position: refs/heads/master@{#39971} TBR=bmeurer@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/2395783002 Cr-Commit-Position: refs/heads/master@{#39985}
-
jarin authored
This introduces a new OsrGuard node that is inserted during graph building to guard the inferred type of the OSR value. The type of the OSR value is inferred by running the typer before OSR deconstruction, and then taking the type from the phi that takes the OSR value. After the deconstruction, we throw the types away. At the moment we only support the SignedSmall OSR type and we always pick the tagged representation. Later, we might want to support more types (such as Number) and pick better representations (int32/float64). This CL also removes the OSR deconstruction tests because they build unrealistic graph (no effect chain, no loop termination). I considered adding the effect chains to the tests, but this would make the tests even more brittle. Review-Url: https://codereview.chromium.org/2384113002 Cr-Commit-Position: refs/heads/master@{#39971}
-
jarin authored
BUG=chromium:625966 Review-Url: https://codereview.chromium.org/2390303002 Cr-Commit-Position: refs/heads/master@{#39970}
-
- 28 Sep, 2016 1 commit
-
-
bmeurer authored
As of https://codereview.chromium.org/2348493003 there are no users of this intrinsic left in the code, and we don't want to have any new users of it. The runtime function remains as it serves as a fallback for the optimized code (Crankshaft code actually). BUG=v8:5049 R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2378693002 Cr-Commit-Position: refs/heads/master@{#39822}
-
- 27 Sep, 2016 1 commit
-
-
mstarzinger authored
This makes sure we only replace load operations for fields on virtual objects. Even though data flow information for non-virtual (escaping) allocations is available, it might be inaccurate in certain situations where object state hasn't been cleared. R=jarin@chromium.org TEST=mjsunit/compiler/regress-escape-analysis-indirect Review-Url: https://codereview.chromium.org/2369953002 Cr-Commit-Position: refs/heads/master@{#39776}
-
- 26 Sep, 2016 1 commit
-
-
bmeurer authored
Revert of [compiler] Properly guard the speculative optimizations for instanceof. (patchset #3 id:40001 of https://codereview.chromium.org/2370693002/ ) Reason for revert: Tanks EarleyBoyer. Original issue's description: > [compiler] Properly guard the speculative optimizations for instanceof. > > Add a general feedback slot for instanceof similar to what we already have > for for-in, which basically has a fast (indicated by the uninitialized > sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now > we can only take the fast path when the feedback slot says it hasn't > seen any funky inputs and nothing funky appeared in the prototype chain. > In the TurboFan code we also deoptimize whenever we see a funky object > (i.e. a proxy or an object that requires access checks) in the prototype > chain (similar to what Crankshaft already did). > > Drive-by-fix: Also make Crankshaft respect the mode and therefore > address the deopt loop in Crankshaft around instanceof. > > We might want to introduce an InstanceOfIC mechanism at some point and > track the map of the right-hand side. > > BUG=v8:5267 > R=mvstanton@chromium.org > > Committed: https://crrev.com/a0484bc6116ebc2b855de87d862945e2ae07169b > Cr-Commit-Position: refs/heads/master@{#39718} TBR=mvstanton@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/2365223003 Cr-Commit-Position: refs/heads/master@{#39736}
-