- 24 Nov, 2015 4 commits
-
-
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 29 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}
-
mbrandy authored
Port f6e689ce Original commit message: The TruncateFloat64ToUint64 operator converts a float64 to an uint64 using round-to-zero rounding mode (truncate). If the input value is outside uint64 range, then the result depends on the architecture. R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1460093002 Cr-Commit-Position: refs/heads/master@{#32181}
-
mbrandy authored
Port ceade6cf Original commit message: This adds a new %NewArray runtime entry, which constructs a new JSArray and does the subclassing correctly (to the same degree that %NewObject does currently), and also deals properly with the AllocationSite feedback mechanism. This runtime entry will be used by TurboFan and is also used as a fallback in the subclassing case in the stub currently. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:3101, v8:3330 LOG=n Review URL: https://codereview.chromium.org/1466943002 Cr-Commit-Position: refs/heads/master@{#32180}
-
bmeurer authored
The LoadElimination in TurboFan can look into the atomic regions and elimination subsequent loads based on stores/allocations in that atomic regions. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1472703005 Cr-Commit-Position: refs/heads/master@{#32179}
-
jochen authored
BUG=2487 R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1466323002 Cr-Commit-Position: refs/heads/master@{#32178}
-
bmeurer authored
Add an eager deoptimization location for JSCallConstruct and adapt the JSCallReducer to consume target feedback for construction sites (only applies to explicit new F(...args) not the super constructor calls). Also recognize the new Array(...args) constructs with only target feedback. R=jarin@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1467173002 Cr-Commit-Position: refs/heads/master@{#32177}
-
jochen authored
BUG=2487 R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1468943002 Cr-Commit-Position: refs/heads/master@{#32176}
-
jarin authored
Review URL: https://codereview.chromium.org/1467193002 Cr-Commit-Position: refs/heads/master@{#32175}
-
jarin authored
Review URL: https://codereview.chromium.org/1471723002 Cr-Commit-Position: refs/heads/master@{#32174}
-
hpayer authored
Revert of [heap] Preserve optimized code maps accross GCs. (patchset #1 id:1 of https://codereview.chromium.org/1430293002/ ) Reason for revert: Janks finalization of full GC. Original issue's description: > [heap] Preserve optimized code maps accross GCs. > > This disables the eager flushing of optimized code maps during full GCs > and instead treats entries in those tables weakly by default. Note that > for now entries are removed when one of its components dies. > > R=mvstanton@chromium.org > > Committed: https://crrev.com/7a1377aab2ba4e2c9a7d422b51f645cbbaec10c7 > Cr-Commit-Position: refs/heads/master@{#32045} TBR=mvstanton@chromium.org,mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1467213002 Cr-Commit-Position: refs/heads/master@{#32173}
-
bmeurer authored
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=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4413, v8:4430 LOG=n Review URL: https://codereview.chromium.org/1469793002 Cr-Commit-Position: refs/heads/master@{#32172}
-
mstarzinger authored
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=mvstanton@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1458103003 Cr-Commit-Position: refs/heads/master@{#32171}
-
ulan authored
This simplifies the layout of dependent code array and optimizes it for sparse dependency groups. BUG=chromium:554488 LOG=NO Review URL: https://codereview.chromium.org/1435313002 Cr-Commit-Position: refs/heads/master@{#32170}
-
machenbach authored
BUG=chromium:559141 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1466233002 Cr-Commit-Position: refs/heads/master@{#32169}
-
machenbach authored
The feature sometimes prevents subsequent swarming bots to delete the work directory on windows. The data file is not kept on swarming bots anyways, therefore this switches off the feature completely. BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1468933002 Cr-Commit-Position: refs/heads/master@{#32168}
-
zhengxing.li authored
port d80fd48e (r32163) 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. BUG= Review URL: https://codereview.chromium.org/1467123002 Cr-Commit-Position: refs/heads/master@{#32167}
-
zhengxing.li authored
port 4e004564 (r31625) original commit message: X87: Fix the sqrt precision issue. In order to resolve the sqrt precision issue described in https://codereview.chromium.org/1425763002/. we change the implementation of CreateSqrtFunction() implementation of X87 so that the optimize compiler and full-compiler implementation are unified. BUG= Review URL: https://codereview.chromium.org/1470793004 Cr-Commit-Position: refs/heads/master@{#32166}
-
jochen authored
BUG=2487 R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1467973002 Cr-Commit-Position: refs/heads/master@{#32165}
-
jochen authored
BUG=2487 R=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1457223005 Cr-Commit-Position: refs/heads/master@{#32164}
-
bmeurer authored
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. BUG=chromium:555127, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1470803002 Cr-Commit-Position: refs/heads/master@{#32163}
-
zhengxing.li authored
port c6d310da (r32151) 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. BUG= Review URL: https://codereview.chromium.org/1472703002 Cr-Commit-Position: refs/heads/master@{#32162}
-
zhengxing.li authored
port 2fc2cb99 (r32144) 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). BUG= Review URL: https://codereview.chromium.org/1467923002 Cr-Commit-Position: refs/heads/master@{#32161}
-
zhengxing.li authored
port ceade6cf (r32131) original commit message: This adds a new %NewArray runtime entry, which constructs a new JSArray and does the subclassing correctly (to the same degree that %NewObject does currently), and also deals properly with the AllocationSite feedback mechanism. This runtime entry will be used by TurboFan and is also used as a fallback in the subclassing case in the stub currently. BUG= Review URL: https://codereview.chromium.org/1462283003 Cr-Commit-Position: refs/heads/master@{#32160}
-
- 22 Nov, 2015 1 commit
-
-
jarin authored
Review URL: https://codereview.chromium.org/1471533002 Cr-Commit-Position: refs/heads/master@{#32159}
-
- 21 Nov, 2015 3 commits
-
-
v8-autoroll authored
Rolling v8/tools/clang to f1ac92b46273db6ba0286cc1fe214d1aaa788f6d TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1466073003 Cr-Commit-Position: refs/heads/master@{#32158}
-
v8-autoroll authored
Rolling v8/tools/clang to c37aa129283791664a03189e495e5ff2a4077288 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1464063002 Cr-Commit-Position: refs/heads/master@{#32157}
-
adamk authored
R=littledan@chromium.org Review URL: https://codereview.chromium.org/1448183002 Cr-Commit-Position: refs/heads/master@{#32156}
-
- 20 Nov, 2015 3 commits
-
-
adamk authored
This lets us pass one test262 test (and seems to match what other implementations do to handle this case). R=littledan@chromium.org BUG=v8:4362 LOG=n Review URL: https://codereview.chromium.org/1454543003 Cr-Commit-Position: refs/heads/master@{#32155}
-
ishell authored
Remove unused descriptor slack from strict functions to avoid breaking initial map descriptor sharing invariant. BUG=chromium:555542 LOG=N Review URL: https://codereview.chromium.org/1457223004 Cr-Commit-Position: refs/heads/master@{#32154}
-
ofrobots authored
We should not be counting the bump pointer allocations done during scavenge as the objects are copied. The inline allocation observers were getting unnecessary notifications. R=hpayer@chromium.org, ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1465633002 Cr-Commit-Position: refs/heads/master@{#32153}
-