- 07 Jul, 2016 1 commit
-
-
ishell authored
Now LookupIterator follows the same pattern of prepare transition, apply transition and write value when adding new properties to dictionary objects. JSGlobalObject case: * Prepare transition phase ensures that there is a "transition" property cell prepared for receiving a value. * Apply transition phase does nothing. * Prepare for data property phase ensures that the existing property cell can receive the value. * Write value phase writes value directly to the current property cell. JSObject case: * Prepare transition phase prepares the object for receiving a data value (which could switch an object to dictionary mode). * Apply transition phase migrates object to a transition map. If the map happened to be a dictionary mode object's map then an uninitialized entry added to the properties dictionary. * Prepare for data property phase does nothing. * Write value phase just puts value to the properties dictionary. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2127583002 Cr-Commit-Position: refs/heads/master@{#37585}
-
- 06 Jul, 2016 1 commit
-
-
jkummerow authored
Revert of Add crash instrumentation for crbug.com/621147 (patchset #1 id:1 of https://codereview.chromium.org/2114743002/ ) Reason for revert: Bug found and fixed: crrev.com/7614362b Instrumentation no longer needed. Original issue's description: > Add crash instrumentation for crbug.com/621147 > > BUG=chromium:621147 > LOG=N > R=ishell@chromium.org,cbruni@chromium.org > > Committed: https://crrev.com/5ff508a82299f20a0d9828cf73072a4f4772fab8 > Cr-Commit-Position: refs/heads/master@{#37328} TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org,adamk@chromium.org BUG=chromium:621147, chromium:624764 Review-Url: https://codereview.chromium.org/2127813002 Cr-Commit-Position: refs/heads/master@{#37552}
-
- 30 Jun, 2016 2 commits
-
-
adamk authored
Reland of Add crash instrumentation for crbug.com/621147 (patchset #1 id:1 of https://codereview.chromium.org/2118493002/ ) Reason for revert: By request from ishell, plan is to leave this in master for awhile longer Original issue's description: > Revert of Add crash instrumentation for crbug.com/621147 (patchset #5 id:80001 of https://codereview.chromium.org/2100313002/ ) > > Reason for revert: > Instrumentation not needed on master branch > > Original issue's description: > > Add crash instrumentation for crbug.com/621147 > > > > BUG=chromium:621147 > > LOG=N > > R=ishell@chromium.org,cbruni@chromium.org > > > > Committed: https://crrev.com/5ff508a82299f20a0d9828cf73072a4f4772fab8 > > Cr-Commit-Position: refs/heads/master@{#37328} > > TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=chromium:621147, chromium:624764 > > Committed: https://crrev.com/b324850900e531ccee03f1712333f13dfcf15427 > Cr-Commit-Position: refs/heads/master@{#37456} TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:621147, chromium:624764 Review-Url: https://codereview.chromium.org/2114743002 Cr-Commit-Position: refs/heads/master@{#37458}
-
adamk authored
Revert of Add crash instrumentation for crbug.com/621147 (patchset #5 id:80001 of https://codereview.chromium.org/2100313002/ ) Reason for revert: Instrumentation not needed on master branch Original issue's description: > Add crash instrumentation for crbug.com/621147 > > BUG=chromium:621147 > LOG=N > R=ishell@chromium.org,cbruni@chromium.org > > Committed: https://crrev.com/5ff508a82299f20a0d9828cf73072a4f4772fab8 > Cr-Commit-Position: refs/heads/master@{#37328} TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:621147, chromium:624764 Review-Url: https://codereview.chromium.org/2118493002 Cr-Commit-Position: refs/heads/master@{#37456}
-
- 28 Jun, 2016 1 commit
-
-
mlippautz authored
BUG=chromium:621147 LOG=N R=ishell@chromium.org,cbruni@chromium.org Review-Url: https://codereview.chromium.org/2100313002 Cr-Commit-Position: refs/heads/master@{#37328}
-
- 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}
-
- 23 Jun, 2016 1 commit
-
-
ishell authored
As a result LoadGlobalIC requires different slow stubs for each TypeofMode. This CL is a prerequisite for not passing variable name to LoadGlobalIC: the interceptor handler is the only kind of handler that requires a name and therefore LoadGlobalIC dispatcher does not need a variable name as well. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2081143002 Cr-Commit-Position: refs/heads/master@{#37222}
-
- 22 Jun, 2016 1 commit
-
-
verwaest authored
This was necessary since certain named handlers didn't check the name beforehand, and could miss to LoadIC_Miss with a name convertible to an index. This is currently not supported anymore, so we can drop this path. We should make sure we miss to the right label instead. BUG= Review-Url: https://codereview.chromium.org/2083283002 Cr-Commit-Position: refs/heads/master@{#37174}
-
- 16 Jun, 2016 2 commits
-
-
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}
-
ishell authored
BUG=chromium:576312 LOG=Y Review-Url: https://codereview.chromium.org/2062343002 Cr-Commit-Position: refs/heads/master@{#37030}
-
- 15 Jun, 2016 2 commits
-
-
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}
-
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 3 commits
-
-
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}
-
jkummerow authored
Review-Url: https://codereview.chromium.org/2064673002 Cr-Commit-Position: refs/heads/master@{#36958}
-
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}
-
- 10 Jun, 2016 1 commit
-
-
jkummerow authored
BUG=chromium:618845 Review-Url: https://codereview.chromium.org/2058063002 Cr-Commit-Position: refs/heads/master@{#36891}
-
- 09 Jun, 2016 3 commits
-
-
ishell authored
There are no ICs left that store their state in this field: vector based ICs use feedback vector and the rest three (BinaryOpIC, CompareIC and ToBooleanIC) reconstruct their state from the ExtraICState field. This CL also removes unused InlineCacheState::DEBUG_STUB which was used mostly in Code::is_debug_stub(). The latter now checks if the code is one of the debug builtins instead. BUG=chromium:618701 LOG=Y Review-Url: https://codereview.chromium.org/2052763003 Cr-Commit-Position: refs/heads/master@{#36871}
-
cbruni authored
BUG= NOTRY=Y Review-Url: https://codereview.chromium.org/2045013005 Cr-Commit-Position: refs/heads/master@{#36858}
-
alph authored
Move is_profiling to the isolate for now. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2040683002 Cr-Commit-Position: refs/heads/master@{#36838}
-
- 08 Jun, 2016 5 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}
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2040393003 Cr-Commit-Position: refs/heads/master@{#36825}
-
cbruni authored
This might help with some further investigations when using the IC-Explorer. BUG= Review-Url: https://codereview.chromium.org/2046943003 Cr-Commit-Position: refs/heads/master@{#36821}
-
verwaest authored
Now that we track feedback per realm, this kind of IC is always guaranteed to be an update to the object structure. BUG= Review-Url: https://codereview.chromium.org/2040363003 Cr-Commit-Position: refs/heads/master@{#36819}
-
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 3 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}
-
mstarzinger authored
This avoids the inclusion of inline headers (i.e. vm-state-inl.h in this case) in a normal header. There are three more such violations left in the code-base after this change. R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2039913002 Cr-Commit-Position: refs/heads/master@{#36781}
-
- 06 Jun, 2016 2 commits
-
-
ishell authored
[stubs] Introducing LoadICTFStub and LoadICTrampolineTFStub and a switch to enable them instead of respective platform stubs. The stubs do not increase respective counters as they are in the snapshot and --native-code-counters is off during snapshot creation anyway. Review-Url: https://codereview.chromium.org/2031753003 Cr-Commit-Position: refs/heads/master@{#36754}
-
cbruni authored
Passing in the isolate and pointer compare the instnance against the corresponding constant is always faster than decoding the instance types. BUG= Review-Url: https://codereview.chromium.org/2028983002 Cr-Commit-Position: refs/heads/master@{#36744}
-
- 01 Jun, 2016 2 commits
-
-
ishell authored
This CL also updates the elements kind transition lookup logic: 1) First we go back to the root map, 2) Follow elements kind transitions, 3) Replay the property transitions. BUG=v8:5009 LOG=Y TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2015513002 Cr-Commit-Position: refs/heads/master@{#36652}
-
bmeurer authored
The idea is to make it easier (cheaper) to call into C/C++ directly with C calling conventions, which require xmm0 to be used to pass and return floating point values in the future. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2023763010 Cr-Commit-Position: refs/heads/master@{#36646}
-
- 30 May, 2016 2 commits
-
-
mvstanton authored
In Crankshaft, we would install special ICs that didn't need a vector and slot in the MEGAMORPHIC case. This optimization limits our hand against future improvements. BUG= Review-Url: https://codereview.chromium.org/2019313003 Cr-Commit-Position: refs/heads/master@{#36597}
-
joransiu authored
Jaideep has been regularly contributing PPC and S390 changes recently. Adding him as owner/reviewer to PPC / S390 specific directories. R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2024533003 Cr-Commit-Position: refs/heads/master@{#36589}
-
- 24 May, 2016 3 commits
-
-
jyan authored
port eac1b38d Original Commit Message: This flag has been on by default for a while, along with FLAG_track_prototype_users which provides the prerequisite infrastructure. We are now sure that this is the direction we want to go in, so in order to simplify the code, this CL drops the respective flag-off code paths. R=jkummerow@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2004173003 Cr-Commit-Position: refs/heads/master@{#36491}
-
yangguo authored
R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2006673002 Cr-Commit-Position: refs/heads/master@{#36470}
-
machenbach authored
For cross-compiler-compatibility and standards compliance %p requires a void*, rather than any pointer type. BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2001073002 Cr-Commit-Position: refs/heads/master@{#36466}
-
- 23 May, 2016 1 commit
-
-
jkummerow authored
This flag has been on by default for a while, along with FLAG_track_prototype_users which provides the prerequisite infrastructure. We are now sure that this is the direction we want to go in, so in order to simplify the code, this CL drops the respective flag-off code paths. Review-Url: https://codereview.chromium.org/1993913002 Cr-Commit-Position: refs/heads/master@{#36445}
-