- 07 Nov, 2016 1 commit
-
-
danno authored
Review-Url: https://codereview.chromium.org/2448993002 Cr-Commit-Position: refs/heads/master@{#40814}
-
- 12 Oct, 2016 2 commits
-
-
ishell authored
Review-Url: https://codereview.chromium.org/2412613004 Cr-Commit-Position: refs/heads/master@{#40220}
-
bmeurer authored
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=mvstanton@chromium.org BUG=v8:2206 NOTRY=true Review-Url: https://codereview.chromium.org/2412453005 Cr-Commit-Position: refs/heads/master@{#40206}
-
- 05 Oct, 2016 1 commit
-
-
ishell authored
... by passing a field offset as a runtime parameter. This CL also introduces a StoreMapStub - a special case of a store transition that used to be handled by old StoreTransitionStub. BUG=chromium:648545 Review-Url: https://codereview.chromium.org/2397573004 Cr-Commit-Position: refs/heads/master@{#39997}
-
- 29 Sep, 2016 1 commit
-
-
epertoso authored
BUG= Review-Url: https://codereview.chromium.org/2380523005 Cr-Commit-Position: refs/heads/master@{#39867}
-
- 27 Sep, 2016 1 commit
-
-
epertoso authored
The bytecode offset parameter was Int32, but everywhere else it's an IntPtr. BUG= Review-Url: https://codereview.chromium.org/2369033003 Cr-Commit-Position: refs/heads/master@{#39777}
-
- 22 Sep, 2016 1 commit
-
-
ishell authored
The handlers cleanup will be done in a follow-up CL. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2357163003 Cr-Commit-Position: refs/heads/master@{#39617}
-
- 21 Sep, 2016 2 commits
-
-
ishell authored
Each stub should have more meaningful descriptor instead. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2356163002 Cr-Commit-Position: refs/heads/master@{#39593}
-
ishell authored
This cleanup is necessary to make HCallWithDescriptor support passing arguments on the stack. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2352163004 Cr-Commit-Position: refs/heads/master@{#39590}
-
- 16 Sep, 2016 1 commit
-
-
ishell authored
This CL also cleans up related interface descriptors: 1) unused StoreTransitionDescriptor is removed and VectorStoreTransitionDescriptor is renamed to StoreTransitionDescriptor. 2) on ia32/x87 architectures slot and vector are passed on the stack (dispatcher/handlers cleanup will be addressed in a separate CL). These two stub ports have to be combined in one CL because: 1) without changing the StoreTransitionDescriptor TF was not able to compile them on ia32/x87 (because of lack of registers), 2) it was not possible to change the descriptor first because Crankshaft was not able to deal with the stack allocated parameters in case of a stub failure. TBR=jkummerow@chromium.org BUG=v8:5269 Review-Url: https://codereview.chromium.org/2313093002 Cr-Commit-Position: refs/heads/master@{#39476}
-
- 01 Sep, 2016 1 commit
-
-
mvstanton authored
We really just need representation information from the CallInterfaceDescriptor. This change allows us to keep that, get away from Type, and it's Zone-based allocation as well. BUG= Review-Url: https://codereview.chromium.org/2301883002 Cr-Commit-Position: refs/heads/master@{#39105}
-
- 23 Aug, 2016 1 commit
-
-
epertoso authored
Drive-by fix: the order of parameters in the BinaryOpWithFeedback TurboFan code stubs now reflects the convention of having the context at the end. BUG=v8:5273 Review-Url: https://codereview.chromium.org/2263253002 Cr-Commit-Position: refs/heads/master@{#38832}
-
- 01 Aug, 2016 1 commit
-
-
klaasb authored
This will enable the interpreter to add a bytecode and use the stub. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2177273002 Cr-Commit-Position: refs/heads/master@{#38219}
-
- 26 Jul, 2016 1 commit
-
-
ishell authored
This is a first step towards a perfect world where a call interface descriptor is the only place that defines calling convention for a particular code stub. Review-Url: https://codereview.chromium.org/2172223002 Cr-Commit-Position: refs/heads/master@{#38059}
-
- 25 Jul, 2016 1 commit
-
-
jochen authored
R=bmeurer@chromium.org BUG= Review-Url: https://codereview.chromium.org/2173403002 Cr-Commit-Position: refs/heads/master@{#38007}
-
- 14 Jul, 2016 1 commit
-
-
ishell authored
All stores require a Slot parameter so VectorStoreICTrampolineDescriptor is a new StoreDescriptor. VectorStoreICDescriptor renamed to StoreWithVectorDescriptor. Review-Url: https://codereview.chromium.org/2147043002 Cr-Commit-Position: refs/heads/master@{#37779}
-
- 24 Jun, 2016 1 commit
-
-
ishell authored
This simplifies the calling convention of LoadGlobalIC. Currently we do a linear search to get the name but I'll address this in a follow-up CL. BUG=chromium:576312 TBR=rossberg@chromium.org Review-Url: https://codereview.chromium.org/2084913006 Cr-Commit-Position: refs/heads/master@{#37253}
-
- 22 Jun, 2016 1 commit
-
-
rmcilroy authored
Adds support for intrinsics which can be called as stubs. Namely: - HasProperty - MathPow - NewObject - NumberToString - RegExpConstructResult - RegExpExec - Substring - ToString - ToName - ToLength - ToNumber - ToObject Also adds interface descriptors for stub calls which have arguments passed on the stack. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/2051573002 Cr-Commit-Position: refs/heads/master@{#37185}
-
- 15 Jun, 2016 1 commit
-
-
ishell authored
The new approach is that instead of compiling custom handlers for every global object's PropertyCell it uses single dispatcher that caches PropertyCells in respective slot of the feedback vector. Currently the new LoadGlobalIC machinery is disabled. This CL also removes unused LoadGlobalViaContext* stuff. BUG=chromium:576312 LOG=Y Review-Url: https://codereview.chromium.org/2065113002 Cr-Commit-Position: refs/heads/master@{#37002}
-
- 14 Jun, 2016 1 commit
-
-
ishell authored
The former will handle loads of predeclared global variables (vars and functions), lets, consts and undeclared variables. The latter will handle named loads from explicit receiver. In addition, named loads does not depend of the TypeofMode. TypeofMode related cleanup will be done in the follow-up CL. BUG=chromium:576312 LOG=Y TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1912633002 Cr-Commit-Position: refs/heads/master@{#36965}
-
- 10 Jun, 2016 1 commit
-
-
danno authored
Instead, always tail call to the runtime. Also, cleanup the various versions of the runtime call that is used for Array construction fallback. There can be only one. BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/2024253002 Cr-Commit-Position: refs/heads/master@{#36888}
-
- 08 Jun, 2016 1 commit
-
-
verwaest authored
This speeds up .bind by >10x as measured by function f(a,b,c) {} for (var i = 0; i < 10000000; i++) { f.bind(1); // or more arguments. } (Uses hydrogen-stubs rather than TF due to var-args + possible runtime fallback, which is still unsupported in TF.) BUG= Review-Url: https://codereview.chromium.org/2044113002 Cr-Commit-Position: refs/heads/master@{#36817}
-
- 02 Jun, 2016 1 commit
-
-
ishell authored
This CL introduces a DECLARE_DEFAULT_DESCRIPTOR macro that helps defining a CallInterfaceDescriptor in a cases where it is not important which registers to use for passing arguments. One can use such descriptors for new TurboFan stubs. HasPropertyDescriptor now uses the new machinery. Review-Url: https://codereview.chromium.org/2002143002 Cr-Commit-Position: refs/heads/master@{#36675}
-
- 24 May, 2016 1 commit
-
-
danno authored
BUG=chromium:608675 LOG=n Review-Url: https://codereview.chromium.org/1987183002 Cr-Commit-Position: refs/heads/master@{#36463}
-
- 17 May, 2016 1 commit
-
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
- 10 May, 2016 1 commit
-
-
bmeurer authored
This adds a new pass MemoryOptimizer that walks over the effect chain from Start and lowers all Allocate, LoadField, StoreField, LoadElement, and StoreElement nodes, trying to fold allocations into allocation groups and eliminate write barriers on StoreField and StoreElement if possible (i.e. if the object belongs to the current allocation group and that group allocates in new space). R=hpayer@chromium.org, jarin@chromium.org BUG=v8:4931, chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1963583004 Cr-Commit-Position: refs/heads/master@{#36128}
-
- 03 May, 2016 2 commits
-
-
ishell authored
Code common with ObjectHasOwnProperty builtin was moved to CodeStubAssembler. BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1894953004 Cr-Commit-Position: refs/heads/master@{#35972}
-
danno authored
Review-Url: https://codereview.chromium.org/1903723003 Cr-Commit-Position: refs/heads/master@{#35963}
-
- 20 Apr, 2016 2 commits
-
-
hablich authored
Reland of Change calling convention of CallApiGetterStub to accept the AccessorInfo (patchset #1 id:1 of https://codereview.chromium.org/1906453002/ ) Reason for revert: Needs other reverts too. Original issue's description: > Revert of Change calling convention of CallApiGetterStub to accept the AccessorInfo (patchset #8 id:140001 of https://codereview.chromium.org/1892533004/ ) > > Reason for revert: > Blocks roll: https://codereview.chromium.org/1896103002/ > > Can also be seen on internal waterfall: https://chromegw.corp.google.com/i/internal.client.v8/builders/v8_cros_perf_1/builds/7558 > > Original issue's description: > > Change calling convention of CallApiGetterStub to accept the AccessorInfo > > > > MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com> > > > > Committed: https://crrev.com/d2b0a4b727f77f97960c7fa71da3431591dc959f > > Cr-Commit-Position: refs/heads/master@{#35606} > > TBR=rodolph.perfetta@arm.com,jkummerow@chromium.org,jacob.bramley@arm.com,verwaest@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true TBR=rodolph.perfetta@arm.com,jkummerow@chromium.org,jacob.bramley@arm.com,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1903093003 Cr-Commit-Position: refs/heads/master@{#35645}
-
hablich authored
Revert of Change calling convention of CallApiGetterStub to accept the AccessorInfo (patchset #8 id:140001 of https://codereview.chromium.org/1892533004/ ) Reason for revert: Blocks roll: https://codereview.chromium.org/1896103002/ Can also be seen on internal waterfall: https://chromegw.corp.google.com/i/internal.client.v8/builders/v8_cros_perf_1/builds/7558 Original issue's description: > Change calling convention of CallApiGetterStub to accept the AccessorInfo > > MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com> > > Committed: https://crrev.com/d2b0a4b727f77f97960c7fa71da3431591dc959f > Cr-Commit-Position: refs/heads/master@{#35606} TBR=rodolph.perfetta@arm.com,jkummerow@chromium.org,jacob.bramley@arm.com,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1906453002 Cr-Commit-Position: refs/heads/master@{#35644}
-
- 19 Apr, 2016 2 commits
-
-
rmcilroy authored
Removes the register file machine register from the interpreter and replaces it will loads from the parent frame pointer. As part of this change the raw operand values for register values changes to enable the interpreter to keep using the operand value as the offset from the parent frame pointer. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1894063002 Cr-Commit-Position: refs/heads/master@{#35618}
-
verwaest authored
MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com> Review URL: https://codereview.chromium.org/1892533004 Cr-Commit-Position: refs/heads/master@{#35606}
-
- 22 Mar, 2016 1 commit
-
-
verwaest authored
This roughly doubles performance for generic Array.prototype.push. BUG= Review URL: https://codereview.chromium.org/1816553002 Cr-Commit-Position: refs/heads/master@{#34987}
-
- 21 Mar, 2016 1 commit
-
-
bmeurer authored
Up until now all type conversions (i.e. ToNumber, ToString and friends) had their own specific call interface descriptors, where some of them had to match (i.e. ToString and NumberToString have to use the same argument register). Instead of all the different descriptors, it's sufficient to have a single TypeConversionDescriptor instead. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1823523002 Cr-Commit-Position: refs/heads/master@{#34916}
-
- 09 Mar, 2016 3 commits
-
-
vogelheim authored
- Eliminate stubs with a variable number of arguments. (That only worked due to their very limited use. These stubs' interface descriptors were basically lying about their number of args, which will fail when used generically.) - Fix all CallApi*Stubs' interface descriptors to no longer lie about their arguments. - Unify CallApi*Stub, for * in Function, Accessor, FunctionWithFixedArgs. (Since these are now all doing the same thing.) - Rename the unified stub (and interface descriptors) to *ApiCallback*, since that's really what they're doing. - Refuse inlining an API callback if its number of parameters exceeds the supported number of args. BUG= Committed: https://crrev.com/d238b953a474272c0e3ea22ef6a9b63fa9729340 Cr-Commit-Position: refs/heads/master@{#34614} Review URL: https://codereview.chromium.org/1748123003 Cr-Commit-Position: refs/heads/master@{#34627}
-
vogelheim authored
Revert of Rework CallApi*Stubs. (patchset #5 id:100001 of https://codereview.chromium.org/1748123003/ ) Reason for revert: Breaks Chromium. Original issue's description: > Rework CallApi*Stubs. > > - Eliminate stubs with a variable number of arguments. > (That only worked due to their very limited use. These > stubs' interface descriptors were basically lying > about their number of args, which will fail when used > generically.) > - Fix all CallApi*Stubs' interface descriptors to no > longer lie about their arguments. > - Unify CallApi*Stub, for * in Function, Accessor, > FunctionWithFixedArgs. > (Since these are now all doing the same thing.) > - Rename the unified stub (and interface descriptors) to > *ApiCallback*, since that's really what they're doing. > - Refuse inlining an API callback if its number of > parameters exceeds the supported number of args. > > BUG= > > Committed: https://crrev.com/d238b953a474272c0e3ea22ef6a9b63fa9729340 > Cr-Commit-Position: refs/heads/master@{#34614} TBR=danno@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1775933005 Cr-Commit-Position: refs/heads/master@{#34624}
-
vogelheim authored
- Eliminate stubs with a variable number of arguments. (That only worked due to their very limited use. These stubs' interface descriptors were basically lying about their number of args, which will fail when used generically.) - Fix all CallApi*Stubs' interface descriptors to no longer lie about their arguments. - Unify CallApi*Stub, for * in Function, Accessor, FunctionWithFixedArgs. (Since these are now all doing the same thing.) - Rename the unified stub (and interface descriptors) to *ApiCallback*, since that's really what they're doing. - Refuse inlining an API callback if its number of parameters exceeds the supported number of args. BUG= Review URL: https://codereview.chromium.org/1748123003 Cr-Commit-Position: refs/heads/master@{#34614}
-
- 15 Feb, 2016 3 commits
-
-
bmeurer authored
Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=mstarzinger@chromium.org Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04 Cr-Commit-Position: refs/heads/master@{#33973} Review URL: https://codereview.chromium.org/1695633003 Cr-Commit-Position: refs/heads/master@{#33986}
-
machenbach authored
Revert of [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. (patchset #2 id:20001 of https://codereview.chromium.org/1695633003/ ) Reason for revert: [Sheriff] Breaks ASAN with mipsel compile: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/4558/ Original issue's description: > [runtime] Turn ArgumentAccessStub into FastNewSloppyArgumentsStub. > > Turn the fast case of ArgumentsAccessStub into a new stub > FastNewSloppyArgumentsStub, which is similar to the existing > FastNewStrictArgumentsStub, although not polished yet, and the slow > case always went to the runtime anyway, so we can just directly emit > a runtime call there. > > R=mstarzinger@chromium.org > > Committed: https://crrev.com/55b0b4f6d572531eec00ab6ebd8f6feb7c584e04 > Cr-Commit-Position: refs/heads/master@{#33973} TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1701653002 Cr-Commit-Position: refs/heads/master@{#33976}
-
bmeurer authored
Turn the fast case of ArgumentsAccessStub into a new stub FastNewSloppyArgumentsStub, which is similar to the existing FastNewStrictArgumentsStub, although not polished yet, and the slow case always went to the runtime anyway, so we can just directly emit a runtime call there. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1695633003 Cr-Commit-Position: refs/heads/master@{#33973}
-