- 24 Nov, 2015 33 commits
-
-
mtrofin authored
sufficient physical registers for all the virtual registers. This should come in handy for frame elision. There, I noticed that even for very small functions (==very few virtual registers), because we spill the context/function marker ranges, we lose the frame elision opportunity. There is a subsequent change needed to fully help frame elision - decoupling spilling of context & function marker from prologue. BUG= Review URL: https://codereview.chromium.org/1469743002 Cr-Commit-Position: refs/heads/master@{#32221}
-
bmeurer authored
Change the runtime entries and their associated code stubs for object and array literal creation to take the closure instead of the raw literals pointer. This is way easier to deal with (and cleaner) in TurboFan. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1469833005 Cr-Commit-Position: refs/heads/master@{#32220}
-
ishell authored
Reshuffle registers in JSConstructStub to avoid trashing costructor and new.target on fast path (so we don't need to push/pop them). This CL also fixed register usages in MacroAssembler::Allocate() broken by 2fc2cb99 (r32144). BUG=chromium:560239 LOG=Y Review URL: https://codereview.chromium.org/1468073004 Cr-Commit-Position: refs/heads/master@{#32219}
-
ulan authored
Optimize ClearNonLiveReferences: collect dependent code only from maps that are embedded in optimize code. BUG=chromium:554488 LOG=NO Review URL: https://codereview.chromium.org/1471703002 Cr-Commit-Position: refs/heads/master@{#32218}
-
jochen authored
We still share the code globally, but if we wanted, it would be easy to make it per isolate now BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/1468313004 Cr-Commit-Position: refs/heads/master@{#32217}
-
mstarzinger authored
Having access to the unfinished schedule inside of raw machine assembler turned out to be dangerous, because it cannot be used without exporting which in turn computes the RPO of the schedule. R=vogelheim@chromium.org Review URL: https://codereview.chromium.org/1475643002 Cr-Commit-Position: refs/heads/master@{#32216}
-
machenbach authored
Revert of Add test to check PRNG quality. (patchset #3 id:40001 of https://codereview.chromium.org/1467133006/ ) Reason for revert: [Sheriff] Times out on arm: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim/builds/6202/steps/Check/logs/RandomBitCorrelations Original issue's description: > Add test to check PRNG quality. > > Credits go to Erik Corry. Taken from: > https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc > > R=jkummerow@chromium.org > BUG=v8:4566 > LOG=N > > Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff > Cr-Commit-Position: refs/heads/master@{#32211} TBR=jkummerow@chromium.org,erikcorry@google.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4566 Review URL: https://codereview.chromium.org/1473613002 Cr-Commit-Position: refs/heads/master@{#32215}
-
machenbach authored
BUG=chromium:534332 LOG=n Review URL: https://codereview.chromium.org/1468093004 Cr-Commit-Position: refs/heads/master@{#32214}
-
epertoso authored
BUG= Review URL: https://codereview.chromium.org/1407313004 Cr-Commit-Position: refs/heads/master@{#32213}
-
neis authored
BUG= Review URL: https://codereview.chromium.org/1441043002 Cr-Commit-Position: refs/heads/master@{#32212}
-
yangguo authored
Credits go to Erik Corry. Taken from: https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc R=jkummerow@chromium.org BUG=v8:4566 LOG=N Review URL: https://codereview.chromium.org/1467133006 Cr-Commit-Position: refs/heads/master@{#32211}
-
yangguo authored
BUG=v8:4305 LOG=N Review URL: https://codereview.chromium.org/1434523002 Cr-Commit-Position: refs/heads/master@{#32210}
-
ofrobots authored
Makes it possible for the the inline allocation observers to be sample the actual object allocation on which the notification triggers. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1460063006 Cr-Commit-Position: refs/heads/master@{#32209}
-
yangguo authored
'this' is a raw pointer and can be invalidated through GC, even though the rest of the code is correctly handlified. R=cbruni@chromium.org, jkummerow@chromium.org BUG=v8:4570 LOG=N Review URL: https://codereview.chromium.org/1475633002 Cr-Commit-Position: refs/heads/master@{#32208}
-
bmeurer authored
Put the constant parts of the CreateLiteralArray and CreateLiteralObject operators into CreateLiteralParameters and properly use them everywhere. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1475613002 Cr-Commit-Position: refs/heads/master@{#32207}
-
yangguo authored
BUG=v8:4566 LOG=N Committed: https://crrev.com/2755c5a1b1cf7fc4c5c614378e5231636e6dcff5 Cr-Commit-Position: refs/heads/master@{#32200} Review URL: https://codereview.chromium.org/1464303002 Cr-Commit-Position: refs/heads/master@{#32206}
-
bmeurer authored
The literal index is being pushed onto the stack while evaluating the non-constant subexpressions, but never used in fullcodegen (and hence not used in the optimizing compilers). R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1471893003 Cr-Commit-Position: refs/heads/master@{#32205}
-
yangguo authored
TBR=ulan@chromium.org BUG=v8:4570 LOG=N NOTRY=true Review URL: https://codereview.chromium.org/1466373003 Cr-Commit-Position: refs/heads/master@{#32204}
-
mstarzinger authored
This passes the new.target value in a register instead of through a side-channel via the construct stub. Note that only TurboFan code uses the register value so far, but unoptimized code will be switched soon. R=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1460503008 Cr-Commit-Position: refs/heads/master@{#32203}
-
yangguo authored
Revert of Implement xorshift128+ for Math.random. (patchset #6 id:100001 of https://codereview.chromium.org/1464303002/ ) Reason for revert: Test failure: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/491/steps/Mjsunit/logs/reflect-own-keys Original issue's description: > Implement xorshift128+ for Math.random. > > BUG=v8:4566 > LOG=N > > Committed: https://crrev.com/2755c5a1b1cf7fc4c5c614378e5231636e6dcff5 > Cr-Commit-Position: refs/heads/master@{#32200} TBR=bmeurer@chromium.org,jkummerow@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4566 Review URL: https://codereview.chromium.org/1475493003 Cr-Commit-Position: refs/heads/master@{#32202}
-
machenbach authored
The option --json-output will make the auto-roller dump a json file with a monitoring_state key. This can be one of: started, up_to_date, success. BUG=chromium:559141 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1465413002 Cr-Commit-Position: refs/heads/master@{#32201}
-
yangguo authored
BUG=v8:4566 LOG=N Review URL: https://codereview.chromium.org/1464303002 Cr-Commit-Position: refs/heads/master@{#32200}
-
machenbach authored
Revert of Disable non-standard Promise functions in staging (patchset #5 id:80001 of https://codereview.chromium.org/1469543003/ ) Reason for revert: [Sheriff] This breaks ignition on arm sim debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/5317 Seems to not be caught by the cq bot that builds release with dchecks. Original issue's description: > Disable non-standard Promise functions in staging > > This patch removes Promise functions and methods which are absent > from the ES2015 specification when the --es-staging flag is on. > > BUG=v8:3237 > R=rossberg > LOG=Y > > Committed: https://crrev.com/941251af7e04d50ac2243da2870249a42111221a > Cr-Commit-Position: refs/heads/master@{#32194} TBR=rossberg@chromium.org,littledan@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3237 Review URL: https://codereview.chromium.org/1473603002 Cr-Commit-Position: refs/heads/master@{#32199}
-
bmeurer authored
We use comparisons with the_hole to implement temporal dead zones, so we should also optimize those, as they currently turn into CompareIC calls. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1473593002 Cr-Commit-Position: refs/heads/master@{#32198}
-
zhengxing.li authored
port 374b6ea2 (r32172) original commit message: There's no point in collecting feedback for super constructor calls, because in all (interesting) cases we can gather (better) feedback from other sources (i.e. via inlining or via using a LOAD_IC to get to the [[Prototype]] of the target). So CallConstructStub is now only used for new Foo(...args) sites where we want to collect feedback in the baseline compiler. The optimizing compilers, Reflect.construct and super constructor calls use the Construct builtin directly, which allows us to remove some weird code from the CallConstructStub (and opens the possibility for more code sharing with the CallICStub, maybe even going for a ConstructICStub). Also remove the 100% redundant HCallNew instruction, which is just a wrapper for the Construct builtin anyway (indirectly via the CallConstructStub). Drive-by-fix: Drop unused has_function_cache bit on Code objects. BUG= Review URL: https://codereview.chromium.org/1471193002 Cr-Commit-Position: refs/heads/master@{#32197}
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1468373002 Cr-Commit-Position: refs/heads/master@{#32196}
-
ishell authored
This CL also fixes HeapObject::IterateFast() and HeapObject::IterateBodyFast(). BUG=v8:4531 LOG=Y Review URL: https://codereview.chromium.org/1469883002 Cr-Commit-Position: refs/heads/master@{#32195}
-
littledan authored
This patch removes Promise functions and methods which are absent from the ES2015 specification when the --es-staging flag is on. BUG=v8:3237 R=rossberg LOG=Y Review URL: https://codereview.chromium.org/1469543003 Cr-Commit-Position: refs/heads/master@{#32194}
-
machenbach authored
This replaces chromium_roll and the wrapper auto_roll with just auto_roll. The arguments for the revision to roll and the last rolled revision are optional and will be auto-detected (this feature is from the wrapper). Checking the cq box is default now (as in the wrapper). BUG=chromium:559141 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1468973002 Cr-Commit-Position: refs/heads/master@{#32193}
-
zhengxing.li authored
port c1e7c8d9 (r32171) original commit message: This ensures that the ArgumentsAdaptorTrampoline does not clobber the new.target value, but rather passes it through to the callee unaltered. Note that callees do not yet use the new.target value so far. This is a preparatory CL to allows us passing new.target in a register instead of via a side-channel through the construct stub frame. BUG= Review URL: https://codereview.chromium.org/1475523002 Cr-Commit-Position: refs/heads/master@{#32192}
-
bmeurer authored
Add support for using inline allocations for arrays in lowering of JSCreateArray when target equals new.target. Currently we are only concerend with the straight-forward Array() and Array(length) cases, but at some point TurboFan should also be able to support the more complex initializing cases. R=mvstanton@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1465203002 Cr-Commit-Position: refs/heads/master@{#32191}
-
v8-autoroll authored
Rolling v8/tools/clang to 71b766acbd4f2dbe860bcb57c003eba006244ae9 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1468333002 Cr-Commit-Position: refs/heads/master@{#32190}
-
littledan authored
Revert of [Intl] create new instances when new.target is undefined (patchset #2 id:20001 of https://codereview.chromium.org/1440593003/ ) Reason for revert: This breaks backwards compatibility by disallowing call. Web application authors have noticed the breakage. https://github.com/tc39/ecma402/issues/57 Original issue's description: > [Intl] create new instances when new.target is undefined > > BUG=v8:4360 > LOG=N > R=littledan@chromium.org > > Committed: https://crrev.com/fa9c39eeadd8e692af03b024fe2fdcf94ad0da6b > Cr-Commit-Position: refs/heads/master@{#31971} TBR=caitpotter88@gmail.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4360 Review URL: https://codereview.chromium.org/1473493003 Cr-Commit-Position: refs/heads/master@{#32189}
-
- 23 Nov, 2015 7 commits
-
-
adamk authored
In a function expression, 'yield' is allowed, even if the expression occurs inside a generator. Similarly, even in a non-generator, a generator expression's name must not be 'yield'. BUG=v8:3983 LOG=n Review URL: https://codereview.chromium.org/1460393003 Cr-Commit-Position: refs/heads/master@{#32188}
-
gdeepti authored
- Throw type errors instead of runtime asserts. - Also required for SIMD tests ported to Test262 to work with V8 BUG=4501 LOG=N Review URL: https://codereview.chromium.org/1461823003 Cr-Commit-Position: refs/heads/master@{#32187}
-
mbrandy authored
Port 374b6ea2 Original commit message: There's no point in collecting feedback for super constructor calls, because in all (interesting) cases we can gather (better) feedback from other sources (i.e. via inlining or via using a LOAD_IC to get to the [[Prototype]] of the target). So CallConstructStub is now only used for new Foo(...args) sites where we want to collect feedback in the baseline compiler. The optimizing compilers, Reflect.construct and super constructor calls use the Construct builtin directly, which allows us to remove some weird code from the CallConstructStub (and opens the possibility for more code sharing with the CallICStub, maybe even going for a ConstructICStub). Also remove the 100% redundant HCallNew instruction, which is just a wrapper for the Construct builtin anyway (indirectly via the CallConstructStub). Drive-by-fix: Drop unused has_function_cache bit on Code objects. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4413, v8:4430 LOG=n Review URL: https://codereview.chromium.org/1471623005 Cr-Commit-Position: refs/heads/master@{#32186}
-
mbrandy authored
Port d80fd48e Original commit message: The CallICStub has call-site specific knowledge about the receiver, which we did not utilize; plus the CallICStub does in some case know whether it is about to [[Call]] a function or potentially some other callable. In the common case we actually know that the target is a function and so we can use the CallFunction builtin directly instead of redispatching in the Call builtin. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:555127, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1471823002 Cr-Commit-Position: refs/heads/master@{#32185}
-
mbrandy authored
Port c1e7c8d9 Original commit message: This ensures that the ArgumentsAdaptorTrampoline does not clobber the new.target value, but rather passes it through to the callee unaltered. Note that callees do not yet use the new.target value so far. This is a preparatory CL to allows us passing new.target in a register instead of via a side-channel through the construct stub frame. R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1467923004 Cr-Commit-Position: refs/heads/master@{#32184}
-
mbrandy authored
Port c6d310da Original commit message: * Adds a PrepareForTailCall instruction that bumps the stack in the case that the number of parameters passed to the callee causes the stack to exceed the calleer's frame size. * Uses the gap resolver to move the saved caller return address and frame pointer to the approprate location in the tail-called frame. R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:4076 LOG=n Review URL: https://codereview.chromium.org/1460183003 Cr-Commit-Position: refs/heads/master@{#32183}
-
mbrandy authored
Port 2fc2cb99 Original commit message: The old code was not ready for properly initialize objects with non standard headers and non zero in-object properties number. MacroAssembler::Allocate() implementations now return both start and end addresses of the new object (done by parameter renaming). R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1472473003 Cr-Commit-Position: refs/heads/master@{#32182}
-