- 02 Dec, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, chromium:669411, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf Review-Url: https://codereview.chromium.org/2534613002 Cr-Original-Commit-Position: refs/heads/master@{#41332} Cr-Commit-Position: refs/heads/master@{#41449}
-
- 29 Nov, 2016 1 commit
-
-
machenbach authored
Revert of [ic] Use validity cells to protect keyed element stores against object's prototype chain modificati… (patchset #2 id:40001 of https://codereview.chromium.org/2534613002/ ) Reason for revert: Layout test crashes: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/11691 Original issue's description: > [ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. > > ... instead of clearing of all the KeyedStoreICs which didn't always work. > > BUG=chromium:662907, v8:5561 > TBR=verwaest@chromium.org, bmeurer@chromium.org > > Committed: https://crrev.com/a39522f44f7e0be4686831688917e9675255dcaf > Cr-Commit-Position: refs/heads/master@{#41332} TBR=jkummerow@chromium.org,ishell@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:662907, v8:5561 Review-Url: https://codereview.chromium.org/2538693002 Cr-Commit-Position: refs/heads/master@{#41337}
-
- 28 Nov, 2016 1 commit
-
-
ishell authored
[ic] Use validity cells to protect keyed element stores against object's prototype chain modifications. ... instead of clearing of all the KeyedStoreICs which didn't always work. BUG=chromium:662907, v8:5561 TBR=verwaest@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2534613002 Cr-Commit-Position: refs/heads/master@{#41332}
-
- 22 Nov, 2016 1 commit
-
-
jkummerow authored
The handwritten-assembly implementations of both dispatcher and generic stub have been replaced by Turbofan-generated stubs. Review-Url: https://codereview.chromium.org/2523473002 Cr-Commit-Position: refs/heads/master@{#41188}
-
- 13 Nov, 2016 1 commit
-
-
ishell authored
BUG=v8:5561 Review-Url: https://codereview.chromium.org/2488673004 Cr-Commit-Position: refs/heads/master@{#40946}
-
- 04 Nov, 2016 1 commit
-
-
vogelheim authored
Some accessors requires little to no computation at all, its result can be cached in a private property, avoiding the call overhead. Calls to the getter are translated into a cheap property load. Follow-on to crrev.com/2347523003, from peterssen@google.com BUG=chromium:634276, v8:5548 Review-Url: https://codereview.chromium.org/2405213002 Cr-Commit-Position: refs/heads/master@{#40765}
-
- 03 Nov, 2016 2 commits
-
-
ishell authored
Since all possible data-encoded prototype chain checks are supported by LoadIC we can remove this extra iteration. LoadGlobalIC does not support data handlers yet. BUG=v8:5561 Review-Url: https://codereview.chromium.org/2479523002 Cr-Commit-Position: refs/heads/master@{#40738}
-
ishell authored
BUG=v8:5561 Review-Url: https://codereview.chromium.org/2471613006 Cr-Commit-Position: refs/heads/master@{#40735}
-
- 31 Oct, 2016 1 commit
-
-
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}
-
- 27 Oct, 2016 1 commit
-
-
ishell authored
BUG=v8:5561 Review-Url: https://codereview.chromium.org/2449463002 Cr-Commit-Position: refs/heads/master@{#40626}
-
- 17 Oct, 2016 1 commit
-
-
jkummerow authored
RIP, handwritten KeyedLoadICStub, handwritten KeyedLoadIC_Megamorphic, and hydrogenized KeyedLoadGeneric! Review-Url: https://codereview.chromium.org/2424433002 Cr-Commit-Position: refs/heads/master@{#40354}
-
- 14 Oct, 2016 1 commit
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2421883002 Cr-Commit-Position: refs/heads/master@{#40325}
-
- 13 Oct, 2016 2 commits
-
-
ishell authored
This CL also adds separate runtime call stats buckets for data handlers. BUG= Review-Url: https://codereview.chromium.org/2419513002 Cr-Commit-Position: refs/heads/master@{#40281}
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2412043003 Cr-Commit-Position: refs/heads/master@{#40255}
-
- 04 Oct, 2016 2 commits
-
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2390923003 Cr-Commit-Position: refs/heads/master@{#39957}
-
franzih authored
BUG= Review-Url: https://codereview.chromium.org/2387173003 Cr-Commit-Position: refs/heads/master@{#39956}
-
- 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}
-
- 10 Aug, 2016 1 commit
-
-
ishell authored
... and let the stub ask the IC whether it should throw or not when the property was not found. This CL undoes ast-numbering changes made here: https://codereview.chromium.org/2219303002/ BUG=chromium:634467 TBR=verwaest@chromium.org Review-Url: https://codereview.chromium.org/2220203002 Cr-Commit-Position: refs/heads/master@{#38549}
-
- 27 Jul, 2016 1 commit
-
-
ishell authored
Inline XxxIC::initialize_stub_in_optimized_code() methods to CodeFactory and use stub's call interface descriptor instead of hard-coded one. BUG=v8:5236 Review-Url: https://codereview.chromium.org/2184063002 Cr-Commit-Position: refs/heads/master@{#38093}
-
- 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}
-
- 13 Jul, 2016 2 commits
-
-
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}
-
ishell authored
After this CL we can avoid using Code::flags in hash computations for megamorphic stub caches and therefore the unused ICState field can be finally removed from flags. BUG=chromium:618701 Review-Url: https://codereview.chromium.org/2123983004 Cr-Commit-Position: refs/heads/master@{#37708}
-
- 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}
-
- 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}
-
- 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}
-
- 13 Jun, 2016 1 commit
-
-
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}
-
- 09 Jun, 2016 1 commit
-
-
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}
-
- 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}
-
- 13 May, 2016 1 commit
-
-
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}
-
- 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}
-
- 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}
-
- 11 Apr, 2016 3 commits
-
-
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}
-
- 06 Apr, 2016 4 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1865873002 Cr-Commit-Position: refs/heads/master@{#35301}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1853373004 Cr-Commit-Position: refs/heads/master@{#35299}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1865863003 Cr-Commit-Position: refs/heads/master@{#35297}
-
verwaest authored
The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway. This CL additionally deletes some dead IC code. BUG= Review URL: https://codereview.chromium.org/1846963002 Cr-Commit-Position: refs/heads/master@{#35291}
-
- 27 Feb, 2016 1 commit
-
-
bmeurer authored
Since both null and undefined are also marked as undetectable now, we can just test that bit instead of having the CompareNilIC try to collect feedback to speed up the general case (without the undetectable bit being used). Drive-by-fix: Update the type system to match the new handling of undetectable in the runtime. R=danno@chromium.org Committed: https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba Cr-Commit-Position: refs/heads/master@{#34237} Review URL: https://codereview.chromium.org/1722193002 Cr-Commit-Position: refs/heads/master@{#34344}
-