- 12 Jan, 2017 1 commit
-
-
ishell authored
This is a necessary cleanup before introducing PropertyConstness bit. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2624903003 Cr-Commit-Position: refs/heads/master@{#42277}
-
- 10 Jan, 2017 1 commit
-
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2623483002 Cr-Commit-Position: refs/heads/master@{#42171}
-
- 09 Jan, 2017 1 commit
-
-
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}
-
- 23 Dec, 2016 1 commit
-
-
danno authored
LoadFieldStub is the last Crankshaft/Hydrogen stub that stands in the way of being able to run --ignition-staging --turbo without any Crankshaft support, even for ICs/stubs. Review-Url: https://codereview.chromium.org/2595343002 Cr-Commit-Position: refs/heads/master@{#41939}
-
- 21 Dec, 2016 2 commits
-
-
danno authored
Review-Url: https://codereview.chromium.org/2597693002 Cr-Commit-Position: refs/heads/master@{#41903}
-
danno authored
Review-Url: https://codereview.chromium.org/2593033002 Cr-Commit-Position: refs/heads/master@{#41897}
-
- 08 Nov, 2016 1 commit
-
-
ishell authored
The access check is generated as a: - Equality check of an execution-time and a compile-time native contexts for primitive receivers. - Equality check of an execution-time and a compile-time native contexts or equality check of a respective security tokens for global proxy receivers. - No-op for other kinds of receivers. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2482913002 Cr-Commit-Position: refs/heads/master@{#40829}
-
- 04 Nov, 2016 1 commit
-
-
lpy authored
This patch is a follow-up patch to enable runtime statistics to use TracingCategoryObserver. BUG=v8:5590 Review-Url: https://codereview.chromium.org/2460973003 Cr-Commit-Position: refs/heads/master@{#40745}
-
- 03 Nov, 2016 2 commits
-
-
lpy authored
Revert of [Tracing] Use TracingCategoryObserver in runtime statistics (patchset #6 id:140001 of https://codereview.chromium.org/2460973003/ ) Reason for revert: Static-Initializers failed on Ubuntu-12.04 Original issue's description: > [Tracing] Use TracingCategoryObserver in runtime statistics > > This patch is a follow-up patch to enable runtime statistics to use > TracingCategoryObserver. > > BUG=v8:5590 TBR=cbruni@chromium.org,fmeawad@chromium.org,alph@chromium.org,bmeurer@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5590 Review-Url: https://codereview.chromium.org/2469403005 Cr-Commit-Position: refs/heads/master@{#40743}
-
lpy authored
This patch is a follow-up patch to enable runtime statistics to use TracingCategoryObserver. BUG=v8:5590 Review-Url: https://codereview.chromium.org/2460973003 Cr-Commit-Position: refs/heads/master@{#40742}
-
- 02 Nov, 2016 1 commit
-
-
jkummerow authored
Revert of [ic] Experiment: disable map-specific handler cache. (patchset #1 id:1 of https://codereview.chromium.org/2462973003/ ) Reason for revert: Causes performance regressions (up to 10% on the "IC" bucket). :-( Original issue's description: > [ic] Experiment: disable map-specific handler cache. > > IC data handlers support most of the hot cases nowdays. Let's see if > the map-specific code cache still help us to improve things. > > BUG=v8:5561 TBR=ishell@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2474653002 Cr-Commit-Position: refs/heads/master@{#40701}
-
- 01 Nov, 2016 1 commit
-
-
ishell authored
IC data handlers support most of the hot cases nowdays. Let's see if the map-specific code cache still help us to improve things. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2462973003 Cr-Commit-Position: refs/heads/master@{#40685}
-
- 31 Oct, 2016 2 commits
-
-
ishell authored
This CL adds Load/StoreIC_Premonomorphic and detailizes IC_HandlerCacheHit bucket. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2459333003 Cr-Commit-Position: refs/heads/master@{#40679}
-
ishell authored
This CL adds support for primitive maps to 1) PrototypeIterator, 2) PropertyHandlerCompiler::CheckPrototypes(), 3) Map::GetOrCreatePrototypeChainValidityCell(), 4) Prototype checks in data-driven ICs. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2466553002 Cr-Commit-Position: refs/heads/master@{#40673}
-
- 20 Oct, 2016 1 commit
-
-
ishell authored
BUG= Review-Url: https://chromiumcodereview.appspot.com/2433333002 Cr-Commit-Position: refs/heads/master@{#40469}
-
- 14 Oct, 2016 1 commit
-
-
ishell authored
... to keep all the pieces in one place for easier modifications. This CL also adds a new runtime call stats bucket: KeyedLoadIC_LoadElementDH. BUG= Review-Url: https://codereview.chromium.org/2412983008 Cr-Commit-Position: refs/heads/master@{#40314}
-
- 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}
-
- 23 Sep, 2016 1 commit
-
-
ishell authored
According to new store IC calling convention the value, slot and vector are passed on the stack and there's no need in trying to preserve values or respective registers in store handlers. Nice bonus: we also don't need virtual registers anymore. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2357323003 Cr-Commit-Position: refs/heads/master@{#39672}
-
- 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}
-
- 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}
-
- 05 Sep, 2016 1 commit
-
-
jkummerow authored
And also handle dictionary elements loads in the dispatcher. This is a reland with fix for negative indices into DICTIONARY_ELEMENTS. Original review: https://codereview.chromium.org/2245683002/ Review-Url: https://codereview.chromium.org/2313683002 Cr-Commit-Position: refs/heads/master@{#39172}
-
- 01 Sep, 2016 2 commits
-
-
jkummerow authored
Revert of [stubs] Port KeyedLoadIC_Generic stub to TurboFan (patchset #4 id:60001 of https://codereview.chromium.org/2245683002/ ) Reason for revert: Suspected to cause webgl_conformance_tests failures: WebglConformance_conformance_textures_misc_tex_image_with_format_and_type (gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest) ... [21956:1299:0901/082859:INFO:CONSOLE(11)] "Uncaught TypeError: Cannot read property 'charCodeAt' of undefined", source: (11) [21956:1299:0901/082859:INFO:CONSOLE(174)] "Uncaught TypeError: Cannot read property 'charCodeAt' of undefined", source: http://127.0.0.1:56892/js/pnglib.js (174) Original issue's description: > [stubs] Port KeyedLoadIC_Generic stub to TurboFan > > And also handle dictionary elements loads in the dispatcher. > > Committed: https://crrev.com/fd5fe3b2a40cc7a9b044416798c3c2aa734469ff > Cr-Commit-Position: refs/heads/master@{#39070} TBR=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/2303793002 Cr-Commit-Position: refs/heads/master@{#39096}
-
jkummerow authored
And also handle dictionary elements loads in the dispatcher. Review-Url: https://codereview.chromium.org/2245683002 Cr-Commit-Position: refs/heads/master@{#39070}
-
- 09 Aug, 2016 2 commits
-
-
jkummerow authored
This reverts commit d9d719e7. Original review: https://codereview.chromium.org/2180273002/ With additional fixes to repair performance regressions: - check PropertyCell::kValueOffset, not Cell::kValueOffset - convert HeapNumbers to int on the fly if possible NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2227703003 Cr-Commit-Position: refs/heads/master@{#38497}
-
hablich authored
Revert of [KeyedLoadIC] Support Smi "handlers" for element loads (patchset #5 id:80001 of https://codereview.chromium.org/2180273002/ ) Reason for revert: Times out webgl errors: https://bugs.chromium.org/p/chromium/issues/detail?id=635545 Original issue's description: > [KeyedLoadIC] Support Smi "handlers" for element loads > > This is an experiment as far as performance is concerned. If Smi-configured > element loading directly from the dispatcher stub is fast enough, then we > can stop compiling LoadFastElementStubs (and drop the corresponding code). > > Committed: https://crrev.com/c9308147b341596de2733039223918a6202afa5f > Cr-Commit-Position: refs/heads/master@{#38377} BUG=chromium:635545 TBR=ishell@chromium.org,jkummerow@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. Review-Url: https://codereview.chromium.org/2222273003 Cr-Commit-Position: refs/heads/master@{#38473}
-
- 05 Aug, 2016 1 commit
-
-
jkummerow authored
This is an experiment as far as performance is concerned. If Smi-configured element loading directly from the dispatcher stub is fast enough, then we can stop compiling LoadFastElementStubs (and drop the corresponding code). Review-Url: https://codereview.chromium.org/2180273002 Cr-Commit-Position: refs/heads/master@{#38377}
-
- 26 Jul, 2016 1 commit
-
-
jkummerow authored
This ports 9c59539f / r37803 to KeyedLoadICs. Review-Url: https://codereview.chromium.org/2182103002 Cr-Commit-Position: refs/heads/master@{#38070}
-
- 15 Jul, 2016 1 commit
-
-
jkummerow authored
No compiled handlers required! Instead, the type feedback vector contains a Smi encoding the field index. Review-Url: https://codereview.chromium.org/2133233002 Cr-Commit-Position: refs/heads/master@{#37803}
-
- 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}
-
- 13 Jul, 2016 1 commit
-
-
ishell authored
This CL also combines Runtime::GetGlobalInsideTypeof and Runtime::kGetGlobalNotInsideTypeof to Runtime::GetGlobal with explicit typeof_mode parameter. Drive-by-fix: tail call to correct Slow builtin from LoadCallback handlers when --runtime-call-stats is on. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2144643004 Cr-Commit-Position: refs/heads/master@{#37710}
-
- 16 Jun, 2016 1 commit
-
-
ishell authored
LoadICState was used to hold the TypeofMode flag which is relevant only for LoadGlobalIC. This CL removes usage of this state from LoadIC and KeyedLoadIC and renames the state class to LoadGlobalICState. BUG=chromium:576312 LOG=Y Review-Url: https://codereview.chromium.org/2065373003 Cr-Commit-Position: refs/heads/master@{#37033}
-
- 15 Jun, 2016 1 commit
-
-
alph authored
The patch introduces a dedicated dispatching class for JIT code events. It is set as a helper on the isolate. This allows classes across v8 to break their dependency on Logger and CpuProfiler. These two became just regular clients of the dispatcher. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2061623002 Cr-Commit-Position: refs/heads/master@{#37005}
-
- 14 Jun, 2016 1 commit
-
-
cbruni authored
Reland of place all remaining Oddball checks with new function (patchset #1 id:1 of https://codereview.chromium.org/2060213002/ ) Reason for revert: Cannot reproduce gc-stress failures locally. Original issue's description: > Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) > > Reason for revert: > failing tests > > Original issue's description: > > Replace all remaining Oddball checks with new function > > > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > > The new method all take the isolate as parameter. > > > > BUG= > > > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > > Cr-Commit-Position: refs/heads/master@{#36921} > > TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG= > > Committed: https://crrev.com/33b8bc24a12fb062100c0be84456faeb0b9fa5d1 > Cr-Commit-Position: refs/heads/master@{#36923} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/2059173002 Cr-Commit-Position: refs/heads/master@{#36957}
-
- 13 Jun, 2016 3 commits
-
-
jkummerow authored
When running with FLAG_runtime_call_stats, native accessor accesses must go through the runtime for accurate accounting. Previously the slow_stub() was used as a handler in order to accomplish this, but it could never be looked up from the code cache successfully due to mismatched code flags, which could cause more handler recompilations than in normal operation. This patch fixes that by emitting a runtime call into the compiled handler instead of using the slow_stub(). Drive-by cleanup: drop the unused StoreIC_Megamorphic builtin. Review-Url: https://codereview.chromium.org/2054133002 Cr-Commit-Position: refs/heads/master@{#36926}
-
cbruni authored
Revert of Replace all remaining Oddball checks with new function (patchset #10 id:180001 of https://codereview.chromium.org/2043183003/ ) Reason for revert: failing tests Original issue's description: > Replace all remaining Oddball checks with new function > > This CL removes the IsUndefined() and Co. methods from Object and HeapObject. > The new method all take the isolate as parameter. > > BUG= > > Committed: https://crrev.com/ccefb3ae5fe967288d568013fb04e8761eafebc5 > Cr-Commit-Position: refs/heads/master@{#36921} TBR=mstarzinger@chromium.org,verwaest@chromium.org,yangguo@chromium.org,ahaas@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/2060213002 Cr-Commit-Position: refs/heads/master@{#36923}
-
cbruni authored
This CL removes the IsUndefined() and Co. methods from Object and HeapObject. The new method all take the isolate as parameter. BUG= Review-Url: https://codereview.chromium.org/2043183003 Cr-Commit-Position: refs/heads/master@{#36921}
-
- 08 Jun, 2016 2 commits
-
-
jkummerow authored
Adding properties to prototypes is faster when we don't force their maps into fast mode yet. Once a prototype shows up in the IC system, its setup phase is likely over, and it makes sense to transition it to fast properties. This patch speeds up the microbenchmark in the bug by 20x. Octane-Typescript sees a 3% improvement. BUG=chromium:607010 Review-Url: https://codereview.chromium.org/2036493006 Cr-Commit-Position: refs/heads/master@{#36828}
-
gsathya authored
Revert "Revert of [builtins] Properly optimize TypedArray/DataView accessors. (patchset #3 id:40001 of https://codereview.chromium.org/2042013003/ )" This reverts commit d3a43e47. This patch also adds typed_array_fun and typed_array_protoype to the native context. These are used in InstallTypedArray to set up the prototype chain correctly for each typed array sub class. This removes the need to later monkey patch them prototype chain in typedarray.js. This mechanism is also used to get hold of the TypedArray in typedarray.js, removing the need for a global TypedArray. This patch updates CallRuntime.golden to account for the two extra native runtime calls. This patch also fixes some formatting issues (by running git cl format). BUG=chromium:579905, chromium:593634, v8:4085, v8:5073 Review-Url: https://codereview.chromium.org/2046333002 Cr-Commit-Position: refs/heads/master@{#36811}
-
- 07 Jun, 2016 2 commits
-
-
machenbach authored
Revert of [builtins] Properly optimize TypedArray/DataView accessors. (patchset #3 id:40001 of https://codereview.chromium.org/2042013003/ ) Reason for revert: Blink: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7296 Original issue's description: > [builtins] Properly optimize TypedArray/DataView accessors. > > The following getters were moved to the TypedArray/DataView prototype > chain with ES2015, and hence need different treatment now: > > - DataView.prototype.buffer > - DataView.prototype.byteLength > - DataView.prototype.byteOffset > - TypedArray.prototype.buffer > - TypedArray.prototype.byteLength > - TypedArray.prototype.byteOffset > - TypedArray.prototype.length > > Instead of having special magic on the LoadIC in the IC system and the > optimizing compilers, as we used to do before (and which we got rid of > already), we just treat those as normal accessors and make them > recognizable via the BuiltinFunctionId mechanism. This allows us to > remove some of the additional magic from the IC subsystem, and just > extend the BuiltinFunctionId mechanism in Crankshaft slightly to cover > these cases too (TurboFan doesn't yet support accessors, but that will > be fixed soonish anyways). > > This addresses most of the 15-20% regression we saw on the Octane > GameBoy emulator benchmark. > > BUG=chromium:579905,chromium:593634,v8:4085,v8:5073 > R=yangguo@chromium.org > > Committed: https://crrev.com/1ef737026565ea2becc84f30cfd432e581d50c6b > Cr-Commit-Position: refs/heads/master@{#36782} TBR=yangguo@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:579905,chromium:593634,v8:4085,v8:5073 Review-Url: https://codereview.chromium.org/2039093005 Cr-Commit-Position: refs/heads/master@{#36783}
-
bmeurer authored
The following getters were moved to the TypedArray/DataView prototype chain with ES2015, and hence need different treatment now: - DataView.prototype.buffer - DataView.prototype.byteLength - DataView.prototype.byteOffset - TypedArray.prototype.buffer - TypedArray.prototype.byteLength - TypedArray.prototype.byteOffset - TypedArray.prototype.length Instead of having special magic on the LoadIC in the IC system and the optimizing compilers, as we used to do before (and which we got rid of already), we just treat those as normal accessors and make them recognizable via the BuiltinFunctionId mechanism. This allows us to remove some of the additional magic from the IC subsystem, and just extend the BuiltinFunctionId mechanism in Crankshaft slightly to cover these cases too (TurboFan doesn't yet support accessors, but that will be fixed soonish anyways). This addresses most of the 15-20% regression we saw on the Octane GameBoy emulator benchmark. BUG=chromium:579905,chromium:593634,v8:4085,v8:5073 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2042013003 Cr-Commit-Position: refs/heads/master@{#36782}
-