- 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 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 2 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}
-
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 2 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}
-
- 08 Jun, 2016 4 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}
-
- 07 Jun, 2016 1 commit
-
-
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 1 commit
-
-
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}
-
- 30 May, 2016 1 commit
-
-
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}
-
- 24 May, 2016 1 commit
-
-
yangguo authored
R=franzih@chromium.org Review-Url: https://codereview.chromium.org/2006673002 Cr-Commit-Position: refs/heads/master@{#36470}
-
- 19 May, 2016 1 commit
-
-
adamk authored
In ES2015, the "byteLength" and "byteOffset" properties of DataViews are getters on the prototype, so the previously-used strategy of special-casing them using only the receiver map is invalid. A future CL will need to use the same strategy which will be taken for TypedArray "length", "byteLength", and "byteOffset": adding a prototype chain check. BUG=v8:5018, chromium:593634 Review-Url: https://codereview.chromium.org/1984043002 Cr-Commit-Position: refs/heads/master@{#36382}
-
- 13 May, 2016 3 commits
-
-
cbruni authored
By fully annotating the API with runtime counters we can properly measure how much time we spend in total in v8. When --runtime-call-stats is specified we now disable the fast-paths for callbacks to properly measure them. As a drive-by-fix this CL unifies the LOG messages in api.cc. Additionally we added missing timers to gain better resolution in the parser and callbacks. BUG= Review-Url: https://codereview.chromium.org/1923893002 Cr-Commit-Position: refs/heads/master@{#36248}
-
jkummerow authored
Globally cached handler stubs shouldn't be put into the on-map caches. This should speed up IC misses and save a bit of memory. Drive-by fix: transitioning StoreIC handlers were erroneously never cached. Review-Url: https://codereview.chromium.org/1974793002 Cr-Commit-Position: refs/heads/master@{#36247}
-
verwaest authored
Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail. Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes. Review-Url: https://codereview.chromium.org/1975763002 Cr-Commit-Position: refs/heads/master@{#36235}
-
- 12 May, 2016 1 commit
-
-
jochen authored
BUG=chromium:609134 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/1973513002 Cr-Commit-Position: refs/heads/master@{#36203}
-
- 11 May, 2016 2 commits
-
-
ishell authored
Now we are able to distinguish different kind of misses based on which handler/stub did we actually use. Review-Url: https://codereview.chromium.org/1969733002 Cr-Commit-Position: refs/heads/master@{#36175}
-
jochen authored
BUG=chromium:609134 R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/1966853004 Cr-Commit-Position: refs/heads/master@{#36168}
-
- 27 Apr, 2016 1 commit
-
-
verwaest authored
Between the miss and patching, we run user code. That may already patch the same code. IC refactoring broke this (again), so including a regression test this time around. BUG=chromium:601392 LOG=n Review URL: https://codereview.chromium.org/1925583002 Cr-Commit-Position: refs/heads/master@{#35811}
-
- 22 Apr, 2016 1 commit
-
-
adamk authored
The feature was deprecated in M49 and flagged off in M50. This patch removes it entirely from the codebase. Review URL: https://codereview.chromium.org/1909433003 Cr-Commit-Position: refs/heads/master@{#35714}
-
- 21 Apr, 2016 1 commit
-
-
jkummerow authored
Non-vectorized KeyedLoadICs used to remember whether they had seen Names as keys; Crankshaft uses this information to avoid emitting elements accesses which would always deopt. This CL restores that functionality for vector ICs. BUG=chromium:594183 LOG=y R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1912593002 Cr-Commit-Position: refs/heads/master@{#35706}
-
- 19 Apr, 2016 2 commits
-
-
verwaest authored
This avoids custom compilation of receiver handlers for api getters. BUG= Review URL: https://codereview.chromium.org/1895093002 Cr-Commit-Position: refs/heads/master@{#35616}
-
ishell authored
BUG=chromium:603463 LOG=N Review URL: https://codereview.chromium.org/1894203002 Cr-Commit-Position: refs/heads/master@{#35607}
-
- 14 Apr, 2016 1 commit
-
-
verwaest authored
Otherwise the megamorphic stubcache will miss. It only probes for non-keyed handlers. BUG= Review URL: https://codereview.chromium.org/1883533003 Cr-Commit-Position: refs/heads/master@{#35492}
-
- 12 Apr, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1883533006 Cr-Commit-Position: refs/heads/master@{#35425}
-
- 11 Apr, 2016 5 commits
-
-
jkummerow authored
This logic mirrors what KeyedLoadICs are doing already. BUG=chromium:602184 LOG=n Review URL: https://codereview.chromium.org/1876793003 Cr-Commit-Position: refs/heads/master@{#35397}
-
verwaest authored
Otherwise they can't be found in the megamorphic cache, leading to repeated misses. BUG=chromium:596825 LOG=n Review URL: https://codereview.chromium.org/1874303002 Cr-Commit-Position: refs/heads/master@{#35393}
-
verwaest authored
BUG= Committed: https://crrev.com/8764f87a3399ba433a4ce6f32161181c713af95c Cr-Commit-Position: refs/heads/master@{#35376} Review URL: https://codereview.chromium.org/1864703003 Cr-Commit-Position: refs/heads/master@{#35386}
-
machenbach authored
Revert of Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache (patchset #5 id:80001 of https://codereview.chromium.org/1864703003/ ) Reason for revert: [Sheriff] Check during mksnapshot: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/5950/steps/compile/logs/stdio Original issue's description: > Turn StoreIC::Megamorphic into a builtin, get rid of the non-monomorphic-cache > > BUG= > > Committed: https://crrev.com/8764f87a3399ba433a4ce6f32161181c713af95c > Cr-Commit-Position: refs/heads/master@{#35376} TBR=mvstanton@chromium.org,hpayer@chromium.org,verwaest@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/1875033003 Cr-Commit-Position: refs/heads/master@{#35379}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1864703003 Cr-Commit-Position: refs/heads/master@{#35376}
-