- 25 Nov, 2015 4 commits
-
-
jochen authored
R=jkummerow@chromium.org BUG=v8:2487 LOG=n Review URL: https://codereview.chromium.org/1473683004 Cr-Commit-Position: refs/heads/master@{#32287}
-
jochen authored
We always want to have an Isolate, so just use an extra ctor arg BUG=2487 R=yangguo@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1476763002 Cr-Commit-Position: refs/heads/master@{#32277}
-
bmeurer authored
This is the initial step towards refactoring the regexp literation creation code to make it less obscure and more similar to the mechanism we use to create array and object literals. There's now a new runtime entry %CreateRegExpLiteral with the same interface as the entries for array and object literals, except that we still pass the flags as string. Instead of embedding the hand written native to clone JSRegExp instances we now have a FastCloneRegExpStub, which behaves similar to the other FastCloneShallowArrayStub and FastCloneShallowObjectStub that we already had. R=mlippautz@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1475823003 Cr-Commit-Position: refs/heads/master@{#32255}
-
zhengxing.li authored
port 7c45b005 (r32203) original commit message: 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. BUG= Review URL: https://codereview.chromium.org/1477663002 Cr-Commit-Position: refs/heads/master@{#32240}
-
- 24 Nov, 2015 6 commits
-
-
mbrandy authored
Port 7c45b005 Original commit message: 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=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/1469283004 Cr-Commit-Position: refs/heads/master@{#32231}
-
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}
-
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}
-
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}
-
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}
-
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}
-
- 23 Nov, 2015 4 commits
-
-
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}
-
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}
-
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}
-
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}
-
- 20 Nov, 2015 1 commit
-
-
ishell authored
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). Review URL: https://codereview.chromium.org/1459083003 Cr-Commit-Position: refs/heads/master@{#32144}
-
- 19 Nov, 2015 3 commits
-
-
mstarzinger authored
This changes all direct function calls in Crankshaft to pass undefined via the register expected to hold the new.target value. Note that the register is still ignored by all callees for now. 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=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1459183002 Cr-Commit-Position: refs/heads/master@{#32125}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1448933002 Cr-Commit-Position: refs/heads/master@{#32120}
-
mstarzinger authored
This changes the interface descriptor for the arguments adaptor to also contain an explicit register for the new.target value. Note that the stub still clobbers the register for now. 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=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1457313002 Cr-Commit-Position: refs/heads/master@{#32117}
-
- 18 Nov, 2015 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org BUG=chromium:554831 LOG=N Review URL: https://codereview.chromium.org/1455883004 Cr-Commit-Position: refs/heads/master@{#32084}
-
- 17 Nov, 2015 1 commit
-
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1424153003 Cr-Commit-Position: refs/heads/master@{#32040}
-
- 16 Nov, 2015 2 commits
-
-
dusan.m.milosavljevic authored
TEST= BUG= Review URL: https://codereview.chromium.org/1446363002 Cr-Commit-Position: refs/heads/master@{#32018}
-
adamk authored
All uses of Token::INIT also have access to the relevant VariableMode, so there's no reason to have more than one token representing an initializing assignment. Review URL: https://codereview.chromium.org/1431873006 Cr-Commit-Position: refs/heads/master@{#32016}
-
- 10 Nov, 2015 1 commit
-
-
zhengxing.li authored
port 2b4cb2a1 (r31873) original commit message: The %StringCharFromCode and %CharFromCode runtime function perform exactly the same task, so we need only one of them. BUG= Review URL: https://codereview.chromium.org/1432063002 Cr-Commit-Position: refs/heads/master@{#31909}
-
- 09 Nov, 2015 7 commits
-
-
mbrandy authored
Port 7c3396d0 Original commit message: Introduce receiver conversion mode specialization for the Call and CallFunction builtins, so we can specialize the builtin functionality (actually an optimization only) based on static information from the callsite (this is basically a superset of the optimizations that were available with the CallFunctionStub and CallICStub, except that these optimizations are correct now). This fixes a regression introduced by the removal of CallFunctionStub, for programs that call a lot. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=chromium:552244 LOG=n Review URL: https://codereview.chromium.org/1425083004 Cr-Commit-Position: refs/heads/master@{#31905}
-
mbrandy authored
Port 2b4cb2a1 Original commit message: The %StringCharFromCode and %CharFromCode runtime function perform exactly the same task, so we need only one of them. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1429953005 Cr-Commit-Position: refs/heads/master@{#31904}
-
mbrandy authored
Port 4ab1b05d Original commit message: Depends on https://codereview.chromium.org/1407373007/ After that CL, all receiver conversion is handled by the call builtin. R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1412803014 Cr-Commit-Position: refs/heads/master@{#31902}
-
mbrandy authored
Port 44c44521 Original commit message: This fixes receiver conversion since the Call builtin does it correctly. R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4526 LOG=n Review URL: https://codereview.chromium.org/1423973006 Cr-Commit-Position: refs/heads/master@{#31901}
-
zhengxing.li authored
port 7c3396d0 (r31871) original commit message: Introduce receiver conversion mode specialization for the Call and CallFunction builtins, so we can specialize the builtin functionality (actually an optimization only) based on static information from the callsite (this is basically a superset of the optimizations that were available with the CallFunctionStub and CallICStub, except that these optimizations are correct now). This fixes a regression introduced by the removal of CallFunctionStub, for programs that call a lot. BUG= Review URL: https://codereview.chromium.org/1431133002 Cr-Commit-Position: refs/heads/master@{#31884}
-
bmeurer authored
The %StringCharFromCode and %CharFromCode runtime function perform exactly the same task, so we need only one of them. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1417743007 Cr-Commit-Position: refs/heads/master@{#31873}
-
bmeurer authored
Introduce receiver conversion mode specialization for the Call and CallFunction builtins, so we can specialize the builtin functionality (actually an optimization only) based on static information from the callsite (this is basically a superset of the optimizations that were available with the CallFunctionStub and CallICStub, except that these optimizations are correct now). This fixes a regression introduced by the removal of CallFunctionStub, for programs that call a lot. R=yangguo@chromium.org BUG=chromium:552244 LOG=n Review URL: https://codereview.chromium.org/1436493002 Cr-Commit-Position: refs/heads/master@{#31871}
-
- 06 Nov, 2015 2 commits
-
-
zhengxing.li authored
port 4ab1b05d (r31826). original commit message: Depends on https://codereview.chromium.org/1407373007/ After that CL, all receiver conversion is handled by the call builtin. BUG= Review URL: https://codereview.chromium.org/1419563006 Cr-Commit-Position: refs/heads/master@{#31849}
-
zhengxing.li authored
port 44c44521 (r31823). original commit message: This fixes receiver conversion since the Call builtin does it correctly. BUG= Review URL: https://codereview.chromium.org/1416673009 Cr-Commit-Position: refs/heads/master@{#31848}
-
- 05 Nov, 2015 8 commits
-
-
cbruni authored
LOG=N BUG=v8:4428 Review URL: https://codereview.chromium.org/1425293007 Cr-Commit-Position: refs/heads/master@{#31839}
-
yangguo authored
R=bmeurer@chromium.org Committed: https://crrev.com/5a1e42c039ac3379ebe1e7e34fb8163e1ec1493e Cr-Commit-Position: refs/heads/master@{#31791} Committed: https://crrev.com/bf5c9af92ac0a5b7f020ac968d3d42ed06aa6144 Cr-Commit-Position: refs/heads/master@{#31805} Review URL: https://codereview.chromium.org/1428203003 Cr-Commit-Position: refs/heads/master@{#31838}
-
mbrandy authored
Port ab840259 Also: - Fix big-endian compiler hints BYTE_OFFSET macro. - Clean up PPC code access to compiler hints -- which required some new SharedFunctionInfo fields to encapsulate kCompilerHintsSmiTagSize. Original commit message: The current implementation of classes throws the TypeError at the wrong point, after activating a new context when directly calling a class constructor. According to the spec, the TypeError has to be thrown in the caller context. R=bmeurer@chromium.org, cbruni@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com LOG=N BUG=v8:4428 Review URL: https://codereview.chromium.org/1423713014 Cr-Commit-Position: refs/heads/master@{#31831}
-
bmeurer authored
These intrinsics are completely unused and there doesn't seem to an actual use case for it in the future. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1418663011 Cr-Commit-Position: refs/heads/master@{#31828}
-
verwaest authored
Depends on https://codereview.chromium.org/1407373007/ After that CL, all receiver conversion is handled by the call builtin. BUG= Review URL: https://codereview.chromium.org/1414883011 Cr-Commit-Position: refs/heads/master@{#31826}
-
verwaest authored
This fixes receiver conversion since the Call builtin does it correctly. BUG=v8:4526 LOG=n Review URL: https://codereview.chromium.org/1407373007 Cr-Commit-Position: refs/heads/master@{#31823}
-
bmeurer authored
The %_StringAdd intrinsic is not used anymore, so no need to keep the code around. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1420283019 Cr-Commit-Position: refs/heads/master@{#31822}
-
bmeurer authored
The %_CallFunction doesn't implement the call sequence properly, it doesn't do the receiver wrapping, nor does it check for classConstructor. Also the eager deoptimization for %_CallFunction was seriously b0rked (we must have been lucky with TurboFan so far). R=yangguo@chromium.org BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1419813010 Cr-Commit-Position: refs/heads/master@{#31821}
-