- 23 Jun, 2015 1 commit
-
-
mvstanton authored
Lowering of stores need the vector and slot if --vector-stores is true. BUG= Review URL: https://codereview.chromium.org/1193313002 Cr-Commit-Position: refs/heads/master@{#29219}
-
- 22 Jun, 2015 1 commit
-
-
mstarzinger authored
R=mvstanton@chromium.org TEST=cctest/test-run-jsops/BinopInstanceOf Review URL: https://codereview.chromium.org/1196213004 Cr-Commit-Position: refs/heads/master@{#29187}
-
- 19 Jun, 2015 1 commit
-
-
conradw authored
Reason: Regressions in various benchmarks. Revert "Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/1189153002/)" This reverts commit 41405c04. Revert "X87: Revert of Revert of [strong] Implement strong mode restrictions on property access." This reverts commit 48de5f4d. Revert "Fix overlapping KeyedLoadIC bitfield." This reverts commit 4e6c956a. Revert "MIPS64: Fix 'Revert of Revert of [strong] Implement strong mode restrictions on property access'." This reverts commit 74f97b0d. BUG= Review URL: https://codereview.chromium.org/1199493002 Cr-Commit-Position: refs/heads/master@{#29166}
-
- 18 Jun, 2015 4 commits
-
-
conradw authored
Revert of Revert of [strong] Implement strong mode restrictions on property access (patchset #1 id:1 of https://codereview.chromium.org/1189153002/) Reason for revert: Issue was ultimately caused/fixed by https://codereview.chromium.org/1194673002/ Original issue's description: > Revert of [strong] Implement strong mode restrictions on property access (patchset #23 id:460001 of https://codereview.chromium.org/1168093002/) > > Reason for revert: > Speculative revert, maybe breaks GC-stress > > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/808 > > Original issue's description: > > [strong] Implement strong mode restrictions on property access > > > > Implements the strong mode proposal's restrictions on property access. > > > > To be fully explored in a followup: proxies, interceptors, access checks, load from super > > > > BUG=v8:3956 > > LOG=N > > > > Committed: https://crrev.com/85dbfb9a389e7b21bd2a63862202ee97fc5d7982 > > Cr-Commit-Position: refs/heads/master@{#29109} > > TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:3956 > > Committed: https://crrev.com/407657b706711fd5f8d417841e24b284886f3776 > Cr-Commit-Position: refs/heads/master@{#29115} TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1185343005 Cr-Commit-Position: refs/heads/master@{#29122}
-
conradw authored
Revert of [strong] Implement strong mode restrictions on property access (patchset #23 id:460001 of https://codereview.chromium.org/1168093002/) Reason for revert: Speculative revert, maybe breaks GC-stress http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/808 Original issue's description: > [strong] Implement strong mode restrictions on property access > > Implements the strong mode proposal's restrictions on property access. > > To be fully explored in a followup: proxies, interceptors, access checks, load from super > > BUG=v8:3956 > LOG=N > > Committed: https://crrev.com/85dbfb9a389e7b21bd2a63862202ee97fc5d7982 > Cr-Commit-Position: refs/heads/master@{#29109} TBR=rossberg@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3956 Review URL: https://codereview.chromium.org/1189153002 Cr-Commit-Position: refs/heads/master@{#29115}
-
conradw authored
Implements the strong mode proposal's restrictions on property access. To be fully explored in a followup: proxies, interceptors, access checks, load from super BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1168093002 Cr-Commit-Position: refs/heads/master@{#29109}
-
mstarzinger authored
R=bmeurer@chromium.org TEST=cctest/test-pipeline Review URL: https://codereview.chromium.org/1193543002 Cr-Commit-Position: refs/heads/master@{#29098}
-
- 17 Jun, 2015 1 commit
-
-
mstarzinger authored
Now that the graph is being trimmed after generic lowering, we can drop this workaround. The diamond will no longer confuse the scheduler. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1191913002 Cr-Commit-Position: refs/heads/master@{#29081}
-
- 16 Jun, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1186573004 Cr-Commit-Position: refs/heads/master@{#29036}
-
- 15 Jun, 2015 2 commits
-
-
bmeurer authored
The TryLowerDirectJSCall method tried to lower to a direct JavaScript function call depending on the type of the receiver, but only if the target is a cosntant JSFunction. Since this depends on types and is not required for correctness, it shouldn't be part of generic lowering anyway. So this functionality was moved to typed lowering instead, and we use proper types for the target instead. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1182193005 Cr-Commit-Position: refs/heads/master@{#29028}
-
bmeurer authored
This hack doesn't help currently, since it only applies to asm.js where we do function context specialization and there we already have a canonicalized context (and the CodeGenerator materializes that from the frame). R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1177033006 Cr-Commit-Position: refs/heads/master@{#29025}
-
- 10 Jun, 2015 1 commit
-
-
mstarzinger authored
This deprecates the aforementioned mutator in favor of a simpler NodeProperties::ReplaceUses that doesn't perform any relaxation. Preparation for enabling support for try-catch statements. R=bmeurer@chromium.org TEST=unittests/NodePropertiesTest Review URL: https://codereview.chromium.org/1172773003 Cr-Commit-Position: refs/heads/master@{#28897}
-
- 09 Jun, 2015 1 commit
-
-
mvstanton authored
This improves code generation. Before, it was a constant loaded in a register every time. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1175503002 Cr-Commit-Position: refs/heads/master@{#28874}
-
- 08 Jun, 2015 1 commit
-
-
conradw authored
Boolean "is_strong" parameters have begun to proliferate across areas where strong mode semantics are different. This CL repurposes the existing ObjectStrength enum as a replacement for them. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1144183004 Cr-Commit-Position: refs/heads/master@{#28839}
-
- 02 Jun, 2015 1 commit
-
-
mstarzinger authored
This adds handling of JSLoadDynamicGlobal nodes to JSTypedLowering to perform extension checks and an inline fast path. The fast path is a global variable load from the global object. R=bmeurer@chromium.org BUG=v8:4131 LOG=N Review URL: https://codereview.chromium.org/1150723005 Cr-Commit-Position: refs/heads/master@{#28750}
-
- 01 Jun, 2015 3 commits
-
-
bmeurer authored
This is basically a port of the majority of optimizations that are applied to for-in in full codegen. But it is not done during graph building, but instead during typed lowering, which way less adhoc than what the other compilers do. Review URL: https://codereview.chromium.org/1155313008 Cr-Commit-Position: refs/heads/master@{#28726}
-
mstarzinger authored
This introduces two new operators for loads of variables bound to Variable::LOOKUP locations. Currently they all still lower to runtime calls, but will allow optimization during typed lowering. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1155103004 Cr-Commit-Position: refs/heads/master@{#28713}
-
bmeurer authored
In a nutshell: The FILTER_KEY builtin is gone, and was replaced by a simple runtime call to ForInFilter, which does everything and is even cheaper (because FILTER_KEY used to call into the runtime anyway). And ForInFilter returns either the name or undefined, which makes it possible to remove the control flow construction from the AstGraphBuilder, and thereby make both the initialization and the per-loop code of for-in optimizable later (in typed lowering). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1160983004 Cr-Commit-Position: refs/heads/master@{#28711}
-
- 22 May, 2015 1 commit
-
-
bmeurer authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1149663003 Cr-Commit-Position: refs/heads/master@{#28575}
-
- 15 May, 2015 1 commit
-
-
mvstanton authored
Now that vector ics are established for load, keyed load and call ics, let's remove dead code behind the flag. BUG= Review URL: https://codereview.chromium.org/1129853002 Cr-Commit-Position: refs/heads/master@{#28422}
-
- 13 May, 2015 1 commit
-
-
titzer authored
R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1133303006 Cr-Commit-Position: refs/heads/master@{#28392}
-
- 12 May, 2015 1 commit
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for the binary >, >=, <, and <= operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1130283002 Cr-Commit-Position: refs/heads/master@{#28370}
-
- 06 May, 2015 2 commits
-
-
mvstanton authored
typeof was implemented as a runtime function. Calling it in optimized code with a non-constant input becomes burdensome. BUG= Review URL: https://codereview.chromium.org/1114563003 Cr-Commit-Position: refs/heads/master@{#28260}
-
bmeurer authored
This revives the Terminate operator and removes the weird Always operator. As a first step we let the ControlReducer connect non terminating loops via Terminate. The next step will be to change the graph builder to insert Terminate nodes into every loop. Review URL: https://codereview.chromium.org/1123213002 Cr-Commit-Position: refs/heads/master@{#28259}
-
- 30 Apr, 2015 1 commit
-
-
svenpanne authored
This CL contains the first steps towards tail call optimization: * Structurally detect tail calls during instruction selection, looking for special return/call combinations. * Added new architecture-specific instructions for tail calls which jump instead of call and take care of frame adjustment. * Moved some code around. Currently we restrict tail calls to callees which only use registers for arguments/return value and to call sites which are explicitly marked as being OK for tail calls. This excludes, among other things, call sites in sloppy JS functions and our IC machinery (both need in general to be able to access the caller's frame). All this is behind a flag --turbo-tail-calls, which is currently off by default, so it can easily be toggled. Review URL: https://codereview.chromium.org/1108563002 Cr-Commit-Position: refs/heads/master@{#28150}
-
- 27 Apr, 2015 2 commits
-
-
mstarzinger authored
This uses explicit operators instead of intrinsic runtime calls to create literals froms boilerplates. It allows for easier access of static parameters and syncs it with other allocating operators. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1104453006 Cr-Commit-Position: refs/heads/master@{#28062}
-
mstarzinger authored
This introduces a JSCreateClosure operator which can be lowered by the typed pipeline to the aforementioned stub. It also allows for further optimizations of closure creation. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1105513002 Cr-Commit-Position: refs/heads/master@{#28058}
-
- 24 Apr, 2015 1 commit
-
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for binary arithmetic operations, not including the + special case. Adds some infrastructure for future implementation of the restrictions for other operators. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1092353002 Cr-Commit-Position: refs/heads/master@{#28045}
-
- 23 Apr, 2015 1 commit
-
-
bmeurer authored
Now all nodes that care about deoptimization always take frame state inputs no matter whether deoptimization is enabled for a particular function. In case that deoptimization is off, the AstGraphBuilder just inserts the empty frame state. This greatly simplifies the logic in various places and makes testing easier as well, and is probably the first step towards enabling --turbo-deoptimization by default. There seems to be no noticable performance impact on asm.js programs. Also fix the graph replay in order to regenerate the scheduler unittests. Review URL: https://codereview.chromium.org/1106613003 Cr-Commit-Position: refs/heads/master@{#28026}
-
- 21 Apr, 2015 1 commit
-
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1095313002 Cr-Commit-Position: refs/heads/master@{#27972}
-
- 08 Apr, 2015 1 commit
-
-
svenpanne authored
Although all this code might be moved around later, it's a good idea to unhackify it now. :-) Review URL: https://codereview.chromium.org/1067193004 Cr-Commit-Position: refs/heads/master@{#27672}
-
- 07 Apr, 2015 1 commit
-
-
mstarzinger authored
This enables eager optimization of top-level code with TurboFan and extends test coverage by triggering it with the --always-opt flag. Script contexts are now also properly allocated in TurboFan. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1053063003 Cr-Commit-Position: refs/heads/master@{#27633}
-
- 25 Mar, 2015 1 commit
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1029583009 Cr-Commit-Position: refs/heads/master@{#27437}
-
- 20 Mar, 2015 1 commit
-
-
bmeurer authored
BUG=chromium:469089 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/1026683002 Cr-Commit-Position: refs/heads/master@{#27333}
-
- 09 Mar, 2015 3 commits
-
-
Benedikt Meurer authored
Include what you use, and move implementation details to .cc file. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/986243002 Cr-Commit-Position: refs/heads/master@{#27062}
-
Jaroslav Sevcik authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/983153002 Cr-Commit-Position: refs/heads/master@{#27060}
-
Benedikt Meurer authored
The key idea here is that the stack check should be explicit, such that we can eliminate unnecessary stack checks after graph building and potentially inlining. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/981243002 Cr-Commit-Position: refs/heads/master@{#27056}
-
- 25 Feb, 2015 1 commit
-
-
dcarney authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/945313003 Cr-Commit-Position: refs/heads/master@{#26862}
-
- 23 Feb, 2015 1 commit
-
-
dcarney authored
R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/892383003 Cr-Commit-Position: refs/heads/master@{#26796}
-
- 17 Feb, 2015 1 commit
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/931233003 Cr-Commit-Position: refs/heads/master@{#26706}
-