- 30 Nov, 2015 5 commits
-
-
bmeurer authored
This way we avoid the %_IsSmi magic that is required in TurboFan to (efficiently) check abitrary context slots for smi 0. Checking against "the hole" is common in the AstGraphBuilder and "the hole" is also used to mark other context slots as not initialized. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1484723003 Cr-Commit-Position: refs/heads/master@{#32407}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1483933002 Cr-Commit-Position: refs/heads/master@{#32403}
-
neis authored
This depends on issue 1476403004. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1479293002 Cr-Commit-Position: refs/heads/master@{#32401}
-
neis authored
Use {FIRST,LAST}_JS_RECEIVER_TYPE instead. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1486563002 Cr-Commit-Position: refs/heads/master@{#32393}
-
zhengxing.li authored
port 47502a23 (r32381) original commit message: Previously all contexts had a link to the global object, but what is required in most cases (except for the global load, store and delete case) is the native context. This also removes the second dummy global object that was still linked to every native context. We will add a different mechanism to ensure that builtins do not pollute the actual global object during bootstrapping. Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. BUG= Review URL: https://codereview.chromium.org/1481353002 Cr-Commit-Position: refs/heads/master@{#32387}
-
- 27 Nov, 2015 7 commits
-
-
bmeurer authored
Previously all contexts had a link to the global object, but what is required in most cases (except for the global load, store and delete case) is the native context. This also removes the second dummy global object that was still linked to every native context. We will add a different mechanism to ensure that builtins do not pollute the actual global object during bootstrapping. Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel R=yangguo@chromium.org,mstarzinger@chromium.org Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8 Cr-Commit-Position: refs/heads/master@{#32375} Review URL: https://codereview.chromium.org/1480003002 Cr-Commit-Position: refs/heads/master@{#32381}
-
machenbach authored
Revert of [runtime] Replace global object link with native context link in all contexts. (patchset #3 id:40001 of https://codereview.chromium.org/1480003002/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5472 Original issue's description: > [runtime] Replace global object link with native context link in all contexts. > > Previously all contexts had a link to the global object, but what is > required in most cases (except for the global load, store and delete > case) is the native context. > > This also removes the second dummy global object that was still linked > to every native context. We will add a different mechanism to ensure > that builtins do not pollute the actual global object during > bootstrapping. > > Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. > > R=yangguo@chromium.org > > Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8 > Cr-Commit-Position: refs/heads/master@{#32375} TBR=yangguo@chromium.org,mstarzinger@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1478303002 Cr-Commit-Position: refs/heads/master@{#32377}
-
jochen authored
Requires passing an explicit Isolate* to a bunch of static Assembler methods. BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474323002 Cr-Commit-Position: refs/heads/master@{#32376}
-
bmeurer authored
Previously all contexts had a link to the global object, but what is required in most cases (except for the global load, store and delete case) is the native context. This also removes the second dummy global object that was still linked to every native context. We will add a different mechanism to ensure that builtins do not pollute the actual global object during bootstrapping. Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1480003002 Cr-Commit-Position: refs/heads/master@{#32375}
-
jochen authored
BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474763008 Cr-Commit-Position: refs/heads/master@{#32359}
-
zhengxing.li authored
port 199bbdb4 (r32351) original commit message: Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. BUG= Review URL: https://codereview.chromium.org/1476353002 Cr-Commit-Position: refs/heads/master@{#32358}
-
zhengxing.li authored
port d3e5db04 (r32336) original commit message: Up until now we sometimes pass Smi 0 around as closure and expect the runtime to translate that appropriately. But we need to be careful in some places to not confuse the Smi 0 with a real closure. However, we could instead just pass the correct closure extracted from the native context. This addresses three long-standing TODOs in the JSTypedLowering pass. Drive-by-fix: Further unify error message reporting for ToObject (we had a special message in case of ToObject error in with context creation). BUG= Review URL: https://codereview.chromium.org/1474243002 Cr-Commit-Position: refs/heads/master@{#32356}
-
- 26 Nov, 2015 3 commits
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
bmeurer authored
Decouple the implicit ToObject for with statements from the actual creation of the with context. This way we can handle/optimize those constructs separately. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1481753003 Cr-Commit-Position: refs/heads/master@{#32341}
-
bmeurer authored
Up until now we sometimes pass Smi 0 around as closure and expect the runtime to translate that appropriately. But we need to be careful in some places to not confuse the Smi 0 with a real closure. However, we could instead just pass the correct closure extracted from the native context. This addresses three long-standing TODOs in the JSTypedLowering pass. Drive-by-fix: Further unify error message reporting for ToObject (we had a special message in case of ToObject error in with context creation). R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1475383002 Cr-Commit-Position: refs/heads/master@{#32336}
-
- 25 Nov, 2015 5 commits
-
-
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
ES6 section 12.2.8.1 states that flags for regular expression literals must be checked during parsing and invalid flags are early errors. This change adapts the Scanner and (Pre)Parser to act according to the spec. This is also a prerequisite to unify the handling of literal creation (for Objects, Arrays, Regexps, and at some point Classes). R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1472323002 Cr-Commit-Position: refs/heads/master@{#32273}
-
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 1b1db135 (r32220) original commit message: 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. BUG= Review URL: https://codereview.chromium.org/1472273002 Cr-Commit-Position: refs/heads/master@{#32244}
-
zhengxing.li authored
port 9846f386 (r32205) original commit message: 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). BUG= Review URL: https://codereview.chromium.org/1477673002 Cr-Commit-Position: refs/heads/master@{#32241}
-
- 24 Nov, 2015 5 commits
-
-
mbrandy authored
Port 1b1db135 Original commit message: 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=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1471823005 Cr-Commit-Position: refs/heads/master@{#32233}
-
mbrandy authored
Port 9846f386 Original commit message: 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=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1468273005 Cr-Commit-Position: refs/heads/master@{#32229}
-
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}
-
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}
-
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 2 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}
-
- 18 Nov, 2015 3 commits
-
-
zhengxing.li authored
port 14ec485c (r32044) original commit message: BUG= Review URL: https://codereview.chromium.org/1457673003 Cr-Commit-Position: refs/heads/master@{#32073}
-
zhengxing.li authored
port e75e6254 (r32040) original commit message: BUG= Review URL: https://codereview.chromium.org/1461533002 Cr-Commit-Position: refs/heads/master@{#32068}
-
zhengxing.li authored
port 07c1d181 (r32023) original commit message: BUG= Review URL: https://codereview.chromium.org/1458633003 Cr-Commit-Position: refs/heads/master@{#32067}
-
- 17 Nov, 2015 6 commits
-
-
mbrandy authored
Port 14ec485c R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1455563005 Cr-Commit-Position: refs/heads/master@{#32060}
-
mbrandy authored
Port e75e6254 R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1448403002 Cr-Commit-Position: refs/heads/master@{#32058}
-
mbrandy authored
Port 07c1d181 R=verwaest@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1452213003 Cr-Commit-Position: refs/heads/master@{#32055}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1453113002 Cr-Commit-Position: refs/heads/master@{#32044}
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1424153003 Cr-Commit-Position: refs/heads/master@{#32040}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1442643009 Cr-Commit-Position: refs/heads/master@{#32023}
-
- 16 Nov, 2015 1 commit
-
-
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}
-
- 13 Nov, 2015 1 commit
-
-
mstarzinger authored
This aligns the naming of "new target" with the spec text throughout TurboFan and the stack frame walker. The goal is to avoid unnecessary confusion for people familiar with the spec. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1442643002 Cr-Commit-Position: refs/heads/master@{#31978}
-
- 09 Nov, 2015 2 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 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}
-