- 17 Aug, 2015 1 commit
-
-
bmeurer authored
Add Object::StrictEquals to unify the implementation of strict equality comparison in the runtime and the api (the api was already missing a case for SIMD). Now we (almost) have a single bottleneck for strict equality, we just need to reduce the amount of unnecessary complexity for the code stub. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1298603002 Cr-Commit-Position: refs/heads/master@{#30186}
-
- 13 Aug, 2015 4 commits
-
-
bmeurer authored
Revert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://codereview.chromium.org/1295433002/ ) Reason for revert: Breaks win32 nosnap Original issue's description: > [runtime] Remove useless IN builtin. > > Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement > and %HasProperty anyway, and cannot be optimized, plus it had a weird > special fast case (which also involved at least one LOAD_IC plus some > intrinsic magic). > > R=yangguo@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 > Cr-Commit-Position: refs/heads/master@{#30154} TBR=yangguo@chromium.org,jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1288923002 Cr-Commit-Position: refs/heads/master@{#30155}
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30154}
-
bmeurer authored
The DELETE builtin calls through to %DeleteProperty anyway, so we can as well skip the builtin completely and always call into the runtime directly. Also add different entries depending on whether calling code is in sloppy or strict/strong mode. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1291973002 Cr-Commit-Position: refs/heads/master@{#30148}
-
bmeurer authored
In strong mode, whenever either operand to an addition is a string, both must be strings, so we can just use a simple string map check instead of the STRING_ADD_LEFT / STRING_ADD_RIGHT machinery, which tries to do sloppy and strict mode conversions before giving up. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1287203002 Cr-Commit-Position: refs/heads/master@{#30146}
-
- 31 Jul, 2015 1 commit
-
-
bmeurer authored
This is the initial (big) step towards a more uniform implementation of the ToObject abstract operation (ES6 7.1.13), where we have a fallback implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub to deal with the fast case (we should be able to do more cleanup on this in a followup CL). For natives we expose the abstract operation via a %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT, $toObject and %$toObject. Now the whole implementation of the abstract operation is context independent, meaning we don't need any magic in the builtins object nor the native context. R=mvstanton@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1266013006 Cr-Commit-Position: refs/heads/master@{#29953}
-
- 30 Jul, 2015 1 commit
-
-
rmcilroy authored
Adds interpreter entry and exit trampoline builtins. Also implements the Return bytecode handler and fixes a few bugs in InterpreterAssembler highlighted by running on other architectures. MIPS and MIPS64 port contributed by Paul Lind (paul.lind@imgtec.com) BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1245133002 Cr-Commit-Position: refs/heads/master@{#29929}
-
- 13 Jul, 2015 1 commit
-
-
yangguo authored
- split relocation info for debug break slots for - calls (with call arguments count as data) - construct calls - normal slots - renamed DEBUG_BREAK into DEBUGGER_STATEMENT - removed unused IC state for Debug stubs R=ulan@chromium.org BUG=v8:4269 LOG=N Review URL: https://codereview.chromium.org/1232803002 Cr-Commit-Position: refs/heads/master@{#29603}
-
- 10 Jul, 2015 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1213623020 Cr-Commit-Position: refs/heads/master@{#29562}
-
yangguo authored
Break point at calls are currently set via IC. To change this, we need to set debug break slots instead. We also need to distinguish those debug break slots as calls to support step-in. To implement this, we add a data field to debug break reloc info to indicate non-call debug breaks or in case of call debug breaks, the number of arguments. We can later use this to find the callee on the evaluation stack in Debug::PrepareStep. BUG=v8:4269 R=ulan@chromium.org LOG=N Review URL: https://codereview.chromium.org/1222093007 Cr-Commit-Position: refs/heads/master@{#29561}
-
- 06 Jul, 2015 1 commit
-
-
yangguo authored
BUG=v8:3147,v8:4269 LOG=N Review URL: https://codereview.chromium.org/1218493005 Cr-Commit-Position: refs/heads/master@{#29487}
-
- 30 Jun, 2015 1 commit
-
-
conradw authored
Revert "Revert relanded strong property access CL" Regression issues should be solved. Initial patchset is the original, subsequent patchsets are the fixing modifications. This reverts commit 4ac7be56. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1199983002 Cr-Commit-Position: refs/heads/master@{#29384}
-
- 29 Jun, 2015 1 commit
-
-
arv authored
This makes new.target work in [[Call]] and [[Construct]] of ordinary functions. We achieve this by introducing a new construct stub for functions that uses the new.target variable. The construct stub pushes the original constructor just above the receiver in the construct frame. BUG=v8:3887 LOG=N R=adamk@chromium.org, dslomov@chromium.org Review URL: https://codereview.chromium.org/1203813002 Cr-Commit-Position: refs/heads/master@{#29358}
-
- 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 3 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}
-
- 01 Jun, 2015 1 commit
-
-
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}
-
- 28 May, 2015 1 commit
-
-
mvstanton authored
This finishes up work begun by CL (https://codereview.chromium.org/546683003/) some months ago. BUG= Review URL: https://codereview.chromium.org/1149053004 Cr-Commit-Position: refs/heads/master@{#28683}
-
- 22 May, 2015 1 commit
-
-
mvstanton authored
This follows the logic of the load ics, in that the base extra ic state is better encapsulated. Introduce flag vector_stores to aid development of vector-based store ics. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1151253004 Cr-Commit-Position: refs/heads/master@{#28576}
-
- 21 May, 2015 1 commit
-
-
arv authored
This allows you to put iterables into your array literals and the will get spread into the array. let x = [0, ...range(1, 3)]; // [0, 1, 2] This is done by treating the array literal up to the first spread element as usual, including using a boiler plate array, and then appending the remaining expressions and rest expressions. BUG=v8:3018 LOG=N Review URL: https://codereview.chromium.org/1125183008 Cr-Commit-Position: refs/heads/master@{#28534}
-
- 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}
-
- 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}
-
- 30 Apr, 2015 2 commits
-
-
vogelheim authored
An initial 'code age' state that will turn into a 'pre-aging' code age only after it was executed the first time. BUG=470930 LOG=Y Review URL: https://codereview.chromium.org/1107233004 Cr-Commit-Position: refs/heads/master@{#28162}
-
conradw authored
Implements the strong mode proposal's restrictions on implicit conversions for the binary + operator. Test suite is also cleaned up/refactored to allow easier testing of the comparison operators in the future. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1109223004 Cr-Commit-Position: refs/heads/master@{#28159}
-
- 28 Apr, 2015 1 commit
-
-
conradw authored
See https://codereview.chromium.org/1092353002/ Due to parser rewrites, also implements restrictions for unary ~. Still to come, implementing restrictions for binary + and comparison. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1102923002 Cr-Commit-Position: refs/heads/master@{#28104}
-
- 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}
-
- 09 Apr, 2015 1 commit
-
-
caitpotter88 authored
BUG=v8:3946, v8:3982 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel LOG=N R=arv@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/1027283004 Cr-Commit-Position: refs/heads/master@{#27729}
-
- 19 Mar, 2015 1 commit
-
-
caitpotter88 authored
BUG=v8:3900 LOG=N R=dslomov@chromium.org Review URL: https://codereview.chromium.org/913073003 Cr-Commit-Position: refs/heads/master@{#27316}
-
- 03 Feb, 2015 1 commit
-
-
dslomov authored
R=arv@chromium.org,rossberg@chromium.org BUG=v8:3834 LOG=N Review URL: https://codereview.chromium.org/867153003 Cr-Commit-Position: refs/heads/master@{#26409}
-
- 30 Jan, 2015 1 commit
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/878263002 Cr-Commit-Position: refs/heads/master@{#26345}
-
- 23 Jan, 2015 2 commits
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/869963002 Cr-Commit-Position: refs/heads/master@{#26245}
-
dcarney authored
Revert of Call directly to c callbacks in Invoke instead of transitioning to js and back out. (patchset #9 id:150001 of https://codereview.chromium.org/864273002/) Reason for revert: threading4 flakiness Original issue's description: > Call directly to c callbacks in Invoke instead of transitioning to js and back out. > > BUG= > > Committed: https://crrev.com/ce457e2b596c3ccf5bf454eeed0969f3f3efd174 > Cr-Commit-Position: refs/heads/master@{#26231} TBR=verwaest@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/873583003 Cr-Commit-Position: refs/heads/master@{#26236}
-
- 22 Jan, 2015 2 commits
-
-
dcarney authored
BUG= Review URL: https://codereview.chromium.org/864273002 Cr-Commit-Position: refs/heads/master@{#26231}
-
mstarzinger authored
R=titzer@chromium.org TEST=mjsunit/regress/regress-crbug-451016 BUG=chromium:451016 LOG=N Review URL: https://codereview.chromium.org/817293005 Cr-Commit-Position: refs/heads/master@{#26229}
-
- 20 Jan, 2015 1 commit
-
-
jkummerow authored
This is a follow-up to https://codereview.chromium.org/859943003. Review URL: https://codereview.chromium.org/847963004 Cr-Commit-Position: refs/heads/master@{#26161}
-
- 15 Jan, 2015 1 commit
-
-
arv authored
This adds support for computed property names, under the flag --harmony-computed-property-names, for both object literals and classes. This is a revert of the revert, 7d48fd9d. BUG=v8:3754 LOG=Y R=dslomov@chromium.org Review URL: https://codereview.chromium.org/798243004 Cr-Commit-Position: refs/heads/master@{#26084}
-
- 17 Dec, 2014 2 commits
-
-
machenbach authored
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/792233008/) Reason for revert: [sheriff] Still crashes on win32 (XP): http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1380 Original issue's description: > ES6 computed property names > > This adds support for computed property names, under the flag > --harmony-computed-property-names, for both object literals and > classes. > > This is a revert of the revert, a76419f0. > > This changes to do an early bailout in > HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later > loop. > > BUG=v8:3754 > LOG=Y > TBR=dslomov@chromium.org TBR=dslomov@chromium.org,arv@chromium.org NOTREECHECKS=true NOTRY=true BUG=v8:3754 Review URL: https://codereview.chromium.org/811593004 Cr-Commit-Position: refs/heads/master@{#25872}
-
arv authored
This adds support for computed property names, under the flag --harmony-computed-property-names, for both object literals and classes. This is a revert of the revert, a76419f0. This changes to do an early bailout in HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later loop. BUG=v8:3754 LOG=Y TBR=dslomov@chromium.org Review URL: https://codereview.chromium.org/792233008 Cr-Commit-Position: refs/heads/master@{#25868}
-
- 16 Dec, 2014 1 commit
-
-
arv authored
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/807173002/) Reason for revert: Crashes Win32. It was not flake. Original issue's description: > ES6 computed property names > > This adds support for computed property names, under the flag > --harmony-computed-property-names, for both object literals and > classes. > > This is a revert of the revert, a76419f0 with > no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots > try again. > > BUG=v8:3754 > LOG=Y > TBR=dslomov@chromium.org TBR=dslomov@chromium.org NOTREECHECKS=true NOTRY=true BUG=v8:3754 Review URL: https://codereview.chromium.org/807033003 Cr-Commit-Position: refs/heads/master@{#25853}
-