- 09 Jan, 2017 2 commits
-
-
cbruni authored
The pattern IsNull(isolate) || IsUndefined(isolate) is used in many places all over the code base. Review-Url: https://codereview.chromium.org/2601503002 Cr-Commit-Position: refs/heads/master@{#42138}
-
jgruber authored
The two remaining uses of this intrinsic in debug.js and mirrors.js now simply rely on the runtime function. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2591923003 Cr-Original-Commit-Position: refs/heads/master@{#41892} Committed: https://chromium.googlesource.com/v8/v8/+/c9cb94a06fa7a863d24dd6760b66cecd55748abf Review-Url: https://codereview.chromium.org/2591923003 Cr-Commit-Position: refs/heads/master@{#42128}
-
- 06 Jan, 2017 1 commit
-
-
adamk authored
Variables requiring initialization are already forced into ignition, so all the code supporting hole checks in full-codegen and ast-graph-builder is dead. R=bmeurer@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2615033002 Cr-Commit-Position: refs/heads/master@{#42112}
-
- 05 Jan, 2017 1 commit
-
-
gsathya authored
This patch adds parsing of spread object property. -- Changes ParsePropertyName to parse Token::ELLIPSIS. -- Throws if rest is encountered by setting a pattern error. -- Adds a new PropertyKind enum (SPREAD) -- Adds a new ObjectLiteralProperty::kind (SPREAD) -- Adds a new harmony-object-spread flag and protects the parser code with it. -- Adds a new runtime function called CopyDataProperties -- Does not add any support for this feature in fullcodegen. -- Ignition calls out to a runtime function CopyDataProperties to perform spread operation. -- Move FastAssign from builtins-objects.cc to objects.cc -- Refactor Builtin_ObjectAssign to use SetOrCopyDataProperties Object rest will be implemented in a follow on patch. BUG=v8:5549 Review-Url: https://codereview.chromium.org/2606833002 Cr-Commit-Position: refs/heads/master@{#42102}
-
- 29 Dec, 2016 1 commit
-
-
bjaideep authored
Port 05873add Port f2e8c978 Original commit message: The following ported to builtins: FastCloneRegExp FastCloneShallowArray FastCloneShallowObject R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2603003002 Cr-Commit-Position: refs/heads/master@{#41996}
-
- 22 Dec, 2016 1 commit
-
-
hablich authored
Revert of [regexp] Remove IsRegExp intrinsic (patchset #1 id:1 of https://codereview.chromium.org/2591923003/ ) Reason for revert: speculative revert: https://codereview.chromium.org/2596013002/ Original issue's description: > [regexp] Remove IsRegExp intrinsic > > The two remaining uses of this intrinsic in debug.js and mirrors.js now > simply rely on the runtime function. > > BUG=v8:5339 > > Review-Url: https://codereview.chromium.org/2591923003 > Cr-Commit-Position: refs/heads/master@{#41892} > Committed: https://chromium.googlesource.com/v8/v8/+/c9cb94a06fa7a863d24dd6760b66cecd55748abf TBR=bmeurer@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5339 Review-Url: https://codereview.chromium.org/2592383002 Cr-Commit-Position: refs/heads/master@{#41915}
-
- 21 Dec, 2016 1 commit
-
-
jgruber authored
The two remaining uses of this intrinsic in debug.js and mirrors.js now simply rely on the runtime function. BUG=v8:5339 Review-Url: https://codereview.chromium.org/2591923003 Cr-Commit-Position: refs/heads/master@{#41892}
-
- 20 Dec, 2016 2 commits
-
-
bjaideep authored
Port 53fdf9d1 Original Commit Message: eval() may introduce a scope which needs to be represented as a context at runtime, e.g., eval('var x; let y; ()=>y') introduces a variable y which needs to have a context allocated for it. However, when traversing upwards to find the declaration context for a variable which leaks, as the declaration of x does above, this context has to be understood to not be a declaration context in sloppy mode. This patch makes that distinction by introducing a different map for eval-introduced contexts. A dynamic search for the appropriate context will continue past an eval context to find the appropriate context. Marking contexts as eval contexts rather than function contexts required updates in each compiler backend. R=littledan@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG=v8:5295, chromium:648719 LOG=N Review-Url: https://codereview.chromium.org/2590343002 Cr-Commit-Position: refs/heads/master@{#41872}
-
littledan authored
eval() may introduce a scope which needs to be represented as a context at runtime, e.g., eval('var x; let y; ()=>y') introduces a variable y which needs to have a context allocated for it. However, when traversing upwards to find the declaration context for a variable which leaks, as the declaration of x does above, this context has to be understood to not be a declaration context in sloppy mode. This patch makes that distinction by introducing a different map for eval-introduced contexts. A dynamic search for the appropriate context will continue past an eval context to find the appropriate context. Marking contexts as eval contexts rather than function contexts required updates in each compiler backend. BUG=v8:5295, chromium:648719 Review-Url: https://codereview.chromium.org/2435023002 Cr-Commit-Position: refs/heads/master@{#41869}
-
- 16 Dec, 2016 2 commits
-
-
jochen authored
BUG=v8:5394 R=mstarzinger@chromium.org,rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2579973002 Cr-Commit-Position: refs/heads/master@{#41754}
-
mstarzinger authored
This introduces an explicit struct for the communication channel between the {ArrayLiteral} AST node and the corresponding runtime methods. Those methods take a pair of {ElementsKind} as well as an array (can either be a FixedArray or a FixedDoubleArray) of constant values. For bonus points it also reduces the size of the involved heap object by one word (i.e. length field of FixedArray not needed anymore). R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2581683003 Cr-Commit-Position: refs/heads/master@{#41752}
-
- 05 Dec, 2016 1 commit
-
-
mstarzinger authored
This removes support for accessing super properties (load, store & call) from the {FullCodeGenerator}. Consequently optimized code containing such constructs must use the {BytecodeGraphBuilder} and can no longer use the {AstGraphBuilder} for graph building. R=bmeurer@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2544123004 Cr-Commit-Position: refs/heads/master@{#41478}
-
- 01 Dec, 2016 2 commits
-
-
franzih authored
The loop for non-"static" properties is no longer needed in full-codegen since all computed property names in object literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2547433003 Cr-Commit-Position: refs/heads/master@{#41428}
-
franzih authored
This code is no longer used in full-codegen since all computed property names in object literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2543643002 Cr-Commit-Position: refs/heads/master@{#41405}
-
- 28 Nov, 2016 2 commits
-
-
petermarshall authored
All super constructor calls go through the ignition + turbofan pipeline, so this is dead code. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2525233003 Cr-Commit-Position: refs/heads/master@{#41313}
-
bmeurer authored
This code is no longer used by full-codegen since all functions which use new.target, rest parameters or the internal this function binding now grow through Ignition first, and never tier up to fullcodegen. BUG=v8:5657 R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2528293002 Cr-Commit-Position: refs/heads/master@{#41298}
-
- 25 Nov, 2016 2 commits
-
-
rmcilroy authored
This code is no longer used in full-codegen or ast-graph-builder since all functions which have class literals go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2534463002 Cr-Commit-Position: refs/heads/master@{#41282}
-
mstarzinger authored
This removes support for try-catch as well as try-finally constructs from the {FullCodeGenerator}. Consequently optimized code containing such constructs must use the {BytecodeGraphBuilder} and can no longer use the {AstGraphBuilder} for graph building. R=jarin@chromium.org BUG=v8:5657 Review-Url: https://codereview.chromium.org/2521233002 Cr-Commit-Position: refs/heads/master@{#41279}
-
- 24 Nov, 2016 1 commit
-
-
rmcilroy authored
This code is no longer used by full-codegen since all functions which use with statments, call eval or have lookup variable access now go through Ignition first. BUG=v8:5657 Review-Url: https://codereview.chromium.org/2514393002 Cr-Commit-Position: refs/heads/master@{#41276}
-
- 22 Nov, 2016 1 commit
-
-
neis authored
TBR=littledan@chromium.org BUG= Review-Url: https://codereview.chromium.org/2517143003 Cr-Commit-Position: refs/heads/master@{#41180}
-
- 21 Nov, 2016 1 commit
-
-
mstarzinger authored
This removes the deprecated generator support for resumable functions from {FullCodeGenerator}. The existing {AstNumbering} heuristic already triggers Ignition for most resumable functions, with this change we make said heuristic a hard choice and remove the deprecated code. This also has the advantage that any suspended {JSGeneratorObject} instance on the heap is guaranteed to have code based on a bytecode array. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2504223002 Cr-Commit-Position: refs/heads/master@{#41135}
-
- 18 Nov, 2016 1 commit
-
-
ishell authored
This is a next step towards removing names table from type feedback metadata. BUG=chromium:576312, v8:5561 Review-Url: https://codereview.chromium.org/2507143003 Cr-Commit-Position: refs/heads/master@{#41106}
-
- 14 Nov, 2016 1 commit
-
-
bjaideep authored
Port 1915762c Original commit message: These JavaScript operators were special hacks to ensure that we always operate on Smis for the magic for-in index variable, but this never really worked in the OSR case, because the OsrValue for the index variable didn't have the proper information (that we have for the JSForInPrepare in the non-OSR case). Now that we have loop induction variable analysis and binary operation hints, we can just use JSLessThan and JSAdd instead with appropriate Smi hints, which handle the OSR case by inserting Smi checks (that are always true). Thanks to OSR deconstruction and loop peeling these Smi checks will be hoisted so they don't hurt the OSR case too much. Drive-by-change: Rename the ForInDone bytecode to ForInContinue, since we have to lower it to JSLessThan to get the loop induction variable goodness. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2502503002 Cr-Commit-Position: refs/heads/master@{#40947}
-
- 10 Nov, 2016 1 commit
-
-
bjaideep authored
Port 832439ab Original commit message: FullCodeGen does not include CallICs in the total ic count. Fix it by making calls to CallIC to go through CallIC function, which keeps track of the total number of ICs. R=mythria@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2492803002 Cr-Commit-Position: refs/heads/master@{#40899}
-
- 02 Nov, 2016 1 commit
-
-
bmeurer authored
All vector ICs use the TypeFeedbackVector::ComputeCounts method now, while the remaining patching ICs still use the traditional way of counting on the TypeFeedbackInfo hanging off the fullcodegen code object. This fixes the problem that counts were sometimes off. Drive-by-fix: Move FullCodeGenerator::CallIC to fullcodegen.cc. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2472653002 Cr-Commit-Position: refs/heads/master@{#40690}
-
- 24 Oct, 2016 2 commits
-
-
rmcilroy authored
CL https://codereview.chromium.org/2177273002 changed FastNewFunctionContextStub to take a number of slots parameter and in-doing so removed the maximum slot count for FastNewFunctionContextStub. This made it possible to create a closure which is larger than kMaxRegularHeapObjectSize and so can't be allocated by FastNewFunctionContextStub. Reintroduce FastNewFunctionContextStub::kMaxSlots (but make the limit much larger) to ensure we call the runtime for contexts which need to be allocated in the LO space. BUG=chromium:655573 Review-Url: https://codereview.chromium.org/2445703002 Cr-Commit-Position: refs/heads/master@{#40541}
-
ziyang authored
Port 231c8ac0 Original commit message: Loads already used source position elimination to avoid unnecessary hole checks, but for reasons unknown stores did not. This CL corrects that, making full-codegen's hole elimination equivalent to ignition's. Also introduced a HoleCheckMode enum class to avoid more bool flags and updated VariableProxy and BytecodeGenerator appropriately. R=adamk@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2449473002 Cr-Commit-Position: refs/heads/master@{#40538}
-
- 20 Oct, 2016 1 commit
-
-
adamk authored
Move hole check logic from full-codegen into scope analysis, and store the "needs hole check" bit on VariableProxy. This makes it easy to re-use in any backend: it will be trivial to extend the use of this logic in, e.g., full-codegen variable stores. While changing the signatures of the variable loading/storing methods in Ignition, I took the liberty of replacing the verb "Visit" with "Build", since these are not part of AST visiting. BUG=v8:5460 Review-Url: https://chromiumcodereview.appspot.com/2411873004 Cr-Commit-Position: refs/heads/master@{#40479}
-
- 18 Oct, 2016 2 commits
-
-
bjaideep authored
Port 308788b3 Original commit message: Consistently collect CallIC feedback in fullcodegen and Ignition, even for possibly direct eval calls, that were treated specially so far, for no apparent reason. With the upcoming SharedFunctionInfo based CallIC feedback, we might be able to even inline certain direct eval calls, if they manage to hit the eval cache. More importantly, this patch simplifies the collection and dealing with CallIC feedback (and as a side effect fixes an inconsistency with feedback for super constructor calls). R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2425243003 Cr-Commit-Position: refs/heads/master@{#40412}
-
bmeurer authored
These intrinsics are unused now, and so we can drop all the code in fullcodegen and Crankshaft that deals with those. TurboFan and Ignition never tried to optimize those. R=mstarzinger@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2427673004 Cr-Commit-Position: refs/heads/master@{#40401}
-
- 12 Oct, 2016 1 commit
-
-
bjaideep authored
Port c15c5827 Original commit message: This is the next step to unify the Call/Construct feedback collection and prepare it to be able to collect SharedFunctionInfo feedback. This also reduces the CallICStub overhead quite a bit since we only need one stub per mode (and tail call mode), not also one per call arity. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2415583002 Cr-Commit-Position: refs/heads/master@{#40228}
-
- 11 Oct, 2016 1 commit
-
-
bjaideep authored
Port 001926cd Original commit message: In fullcodegen we used to count CallICs as patching ICs, and thus the heuristics are currently off by the number of calls in a code object. R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2410203002 Cr-Commit-Position: refs/heads/master@{#40182}
-
- 07 Oct, 2016 3 commits
-
-
jgruber authored
BUG= Committed: https://crrev.com/7db0ecdec3cf330766575cb7973b983f3f1e3020 Review-Url: https://codereview.chromium.org/2381843002 Cr-Original-Commit-Position: refs/heads/master@{#40080} Cr-Commit-Position: refs/heads/master@{#40087}
-
jgruber authored
This reverts commit 7db0ecde. Manual revert since automatic revert is too large for the web interface. BUG= TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,ahaas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2396353002 Cr-Commit-Position: refs/heads/master@{#40082}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2381843002 Cr-Commit-Position: refs/heads/master@{#40080}
-
- 06 Oct, 2016 1 commit
-
-
tebbi authored
BUG=v8:5431 Review-Url: https://codereview.chromium.org/2372113004 Cr-Commit-Position: refs/heads/master@{#40051}
-
- 28 Sep, 2016 1 commit
-
-
bmeurer authored
As of https://codereview.chromium.org/2348493003 there are no users of this intrinsic left in the code, and we don't want to have any new users of it. The runtime function remains as it serves as a fallback for the optimized code (Crankshaft code actually). BUG=v8:5049 R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2378693002 Cr-Commit-Position: refs/heads/master@{#39822}
-
- 24 Sep, 2016 1 commit
-
-
ishell authored
BUG=v8:5408 Review-Url: https://codereview.chromium.org/2367693002 Cr-Commit-Position: refs/heads/master@{#39707}
-
- 23 Sep, 2016 2 commits
-
-
machenbach authored
Reland of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:1 of https://codereview.chromium.org/2363123002/ ) Reason for revert: Didn't help Original issue's description: > Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) > > Reason for revert: > race suspect: > https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 > > Original issue's description: > > [fullcodegen] Refactor code that calls store ICs. > > > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > > slot according to store IC calling convention (StoreDescriptor). > > > > BUG=v8:5407 > > > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > > Cr-Commit-Position: refs/heads/master@{#39679} > > TBR=mvstanton@chromium.org,ishell@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:5407 > > Committed: https://crrev.com/51fa56d1b8e9e320f7442682415e9df50ab19591 > Cr-Commit-Position: refs/heads/master@{#39682} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2361393005 Cr-Commit-Position: refs/heads/master@{#39683}
-
machenbach authored
Revert of [fullcodegen] Refactor code that calls store ICs. (patchset #1 id:20001 of https://codereview.chromium.org/2363513003/ ) Reason for revert: race suspect: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/11893 Original issue's description: > [fullcodegen] Refactor code that calls store ICs. > > Make FCG::CallStoreIC() load slot and name and make FCG::CallKeyedStoreIC() load > slot according to store IC calling convention (StoreDescriptor). > > BUG=v8:5407 > > Committed: https://crrev.com/12918397b4af7b2bede8b29e1e9b1940d5d5ad3b > Cr-Commit-Position: refs/heads/master@{#39679} TBR=mvstanton@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5407 Review-Url: https://codereview.chromium.org/2363123002 Cr-Commit-Position: refs/heads/master@{#39682}
-