- 02 Feb, 2017 1 commit
-
-
bmeurer authored
Rename the CallIC factory method to CallICTrampoline and the CallICInOptimizedCode to CallIC to match the naming of the stubs and better reflect their functionality. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2670073002 Cr-Commit-Position: refs/heads/master@{#42876}
-
- 27 Jan, 2017 1 commit
-
-
mstarzinger authored
This makes sure all use-site of {ObjectLiteral::constant_properties} are adapted to use the correct {BoilerplateDescription} type instead of just the {FixedArray} base type. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2659603003 Cr-Commit-Position: refs/heads/master@{#42738}
-
- 25 Jan, 2017 1 commit
-
-
zhengxing.li authored
port d287c819 (r42620) original commit message: [RELAND with one change: until literal arrays are rooted in the outer feedback vector (coming in the next days), the runtime-scope.cc change is held off.] When a function is declared in global scope, the closure is created by the DeclareGlobals runtime service. It needs a pointer to the literals array, already allocated in the feedback vector. This fixes a bug where it's behavior wasn't in sync with CreateClosure, which accepts the literals from the vector. This enables a follow-on performance improvement in the CompileLazy builtin. BUG= Review-Url: https://codereview.chromium.org/2653893002 Cr-Commit-Position: refs/heads/master@{#42641}
-
- 18 Jan, 2017 1 commit
-
-
ofrobots authored
This reverts commits * 45c11887 "[fullcodegen] Remove dead hole check logic" * 2aaf217b "[crankshaft] Remove dead Variable hole-checking code" * f40a3817 "[crankshaft] Fix mips/mips64 build: remove unused variable" BUG= R=adamk@chromium.org,bmeurer@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2640793004 Cr-Commit-Position: refs/heads/master@{#42476}
-
- 16 Jan, 2017 1 commit
-
-
leszeks authored
Moves constant element/property array building to be deferred for igition and on-demand for the other compilers, and splits off the object/array literal depth/flag initialisation from the array building. BUG=v8:5832 Review-Url: https://codereview.chromium.org/2625873009 Cr-Commit-Position: refs/heads/master@{#42362}
-
- 11 Jan, 2017 1 commit
-
-
rmcilroy authored
This CL modifies the ast-numbering phase to collect function literals which should be compiled eagerly. This is then used to eagerly compile the inner functions before compiling the outer function. This will be used to queue compilation jobs on the CompilerDispatcher in a later CL. This CL moves the compilation of eager inner functions out of the GetSharedFunctionInfo function and instead compiles them explicitly. This simplifies GetSharedFunctionInfo and also means there is no need to pass a LazyCompilationMode to the function, so this concept has been removed. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2618553004 Cr-Commit-Position: refs/heads/master@{#42221}
-
- 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}
-
- 03 Jan, 2017 2 commits
-
-
zhengxing.li authored
port 05873add (r41989) original commit message: The following ported to builtins: FastCloneRegExp FastCloneShallowArray FastCloneShallowObject BUG= Review-Url: https://codereview.chromium.org/2607383002 Cr-Commit-Position: refs/heads/master@{#42020}
-
zhengxing.li authored
port f2e8c978 (r41988) original commit message: BUG= Review-Url: https://codereview.chromium.org/2603313002 Cr-Commit-Position: refs/heads/master@{#42019}
-
- 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 1 commit
-
-
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}
-
- 16 Nov, 2016 1 commit
-
-
jing.bao authored
BUG= Review-Url: https://codereview.chromium.org/2509603002 Cr-Commit-Position: refs/heads/master@{#41020}
-
- 10 Nov, 2016 1 commit
-
-
mythria authored
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. BUG= Review-Url: https://codereview.chromium.org/2451703002 Cr-Commit-Position: refs/heads/master@{#40889}
-
- 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}
-
zhengxing.li authored
port 231c8ac0 (r40522) 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. BUG= Review-Url: https://codereview.chromium.org/2444823002 Cr-Commit-Position: refs/heads/master@{#40527}
-
- 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}
-
- 19 Oct, 2016 1 commit
-
-
zhengxing.li authored
port 308788b3 (r40397) 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). BUG= Review-Url: https://chromiumcodereview.appspot.com/2429623005 Cr-Commit-Position: refs/heads/master@{#40416}
-
- 18 Oct, 2016 1 commit
-
-
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}
-
- 13 Oct, 2016 1 commit
-
-
zhengxing.li authored
port c15c5827 (r40206) 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. BUG= Review-Url: https://codereview.chromium.org/2409953005 Cr-Commit-Position: refs/heads/master@{#40244}
-
- 12 Oct, 2016 1 commit
-
-
zhengxing.li authored
port 001926cd (r40163) 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. BUG= Review-Url: https://codereview.chromium.org/2406373004 Cr-Commit-Position: refs/heads/master@{#40199}
-
- 07 Oct, 2016 2 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}
-