- 20 Feb, 2017 2 commits
-
-
ishell authored
BUG= Review-Url: https://codereview.chromium.org/2710513003 Cr-Commit-Position: refs/heads/master@{#43329}
-
Toon Verwaest authored
BUG= Change-Id: Ib7cc2a04a7c8e314e1f4a8720eef569a6a4a3b18 Reviewed-on: https://chromium-review.googlesource.com/444406Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#43307}
-
- 17 Feb, 2017 2 commits
-
-
Igor Sheludko authored
BUG= Change-Id: Ifc441739ef730a0b2278be0b662413c223631a72 Reviewed-on: https://chromium-review.googlesource.com/444190Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43288}
-
Igor Sheludko authored
... which is used for initializing properties with non compile time values. Currently we use StoreOwnIC only for storing properties that already exist in the boilerplate therefore we can reuse StoreIC dispatcher. The proper StoreOwnIC dispatcher will be implemented in a separate CL. BUG=v8:5495, v8:4414 Change-Id: I9c33fdb8499ec5be2c7fce1ecb6ce7aa285e5844 Reviewed-on: https://chromium-review.googlesource.com/443588Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43285}
-
- 16 Feb, 2017 1 commit
-
-
jkummerow authored
Without relying on the stub cache. Review-Url: https://codereview.chromium.org/2696993002 Cr-Commit-Position: refs/heads/master@{#43261}
-
- 15 Feb, 2017 1 commit
-
-
Igor Sheludko authored
... and don't clear ICs during GC. The IC clearing used to prevent memory leaks but it's not necessary anymore because all the handlers that need to embed objects already use weak cells. This CL unblocks inlining of IC dispatchers into bytecode handlers. BUG=v8:5917 Change-Id: I229b9ba8dba44f431dfbe8ac5370d855e3e84dd6 Reviewed-on: https://chromium-review.googlesource.com/442127 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#43209}
-
- 14 Feb, 2017 1 commit
-
-
ishell@chromium.org authored
... and revert "[runtime] Mark maps created as a result of field type or representation generalization as migration targets." because it regresses performance of too many map checks in optimized code. BUG=v8:5444, chromium:680995 Change-Id: I84038d75425df3709a81e5fdcc6c0db32939060d Reviewed-on: https://chromium-review.googlesource.com/442125Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43188}
-
- 13 Feb, 2017 1 commit
-
-
verwaest authored
Unlike the old manually written LoadNonexistent stub, the data handler properly supports keyed loads out of the box. Simply remove the condition that disables it. BUG= Review-Url: https://codereview.chromium.org/2693913002 Cr-Commit-Position: refs/heads/master@{#43165}
-
- 10 Feb, 2017 2 commits
-
-
ishell authored
This CL includes runtime and IC parts of the tracking. It is controlled by compile-time flag FLAG_constant_field_tracking and currently disabled. Transition from kConst to kMutable still involves map deprecation. BUG=v8:5495 Review-Url: https://codereview.chromium.org/2598543003 Cr-Commit-Position: refs/heads/master@{#43081}
-
jkummerow authored
And use it to avoid runtime calls when there are too many properties for linear searching. The threshold of 32 was chosen by experimentation. Review-Url: https://codereview.chromium.org/2680973002 Cr-Commit-Position: refs/heads/master@{#43078}
-
- 09 Feb, 2017 5 commits
-
-
jkummerow authored
TBR=hpayer@chromium.org Review-Url: https://codereview.chromium.org/2688573003 Cr-Commit-Position: refs/heads/master@{#43075}
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2686723004 Cr-Commit-Position: refs/heads/master@{#43074}
-
jkummerow authored
BUG=v8:5269 Review-Url: https://codereview.chromium.org/2682153003 Cr-Commit-Position: refs/heads/master@{#43071}
-
jgruber authored
LoadGlobalIC will be inlined into ignition's LdaGlobal family of bytecode handlers. This CL splits up LoadGlobalIC into three distinct cases (property cell, handler, and miss) and introduces the ExitPoint abstraction in order to make inlining easier. BUG=v8:5917 Review-Url: https://codereview.chromium.org/2688503002 Cr-Commit-Position: refs/heads/master@{#43055}
-
Marja Hölttä authored
arguments.h is one of the headers including objects-inl.h. Files needing objects-inl.h used to innocently pull in debug.h, so that needs to be fixed now too. BUG=v8:5294 R=mstarzinger@chromium.org Change-Id: I8ce671c533ed757103ef9a3b0bf0a0509230fdd8 Reviewed-on: https://chromium-review.googlesource.com/439287Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#43054}
-
- 08 Feb, 2017 3 commits
-
-
ishell@chromium.org authored
BUG=v8:5917 Change-Id: I9611ace4ba73f18cb90f95f9c81eeb19c74e06f4 Reviewed-on: https://chromium-review.googlesource.com/439327Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#43032}
-
ishell@chromium.org authored
BUG=v8:5917 Change-Id: I2f78355ae344624906e40504fba168b3189a18bb Reviewed-on: https://chromium-review.googlesource.com/439447 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#43029}
-
ishell@chromium.org authored
Now we can inline vector-based IC dispatchers to bytecode handlers. BUG=v8:5917 Change-Id: Ie81750f252a730240097e514e69b348f410a48b7 Reviewed-on: https://chromium-review.googlesource.com/439265Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43028}
-
- 07 Feb, 2017 4 commits
-
-
ishell@chromium.org authored
BUG= Change-Id: I31b8da09f4728d55c2da91966edcad49528b554b Reviewed-on: https://chromium-review.googlesource.com/439146Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#43003}
-
ishell@chromium.org authored
... and TypeFeedbackMetadata to FeedbackMetadata. BUG= Change-Id: I2556d1c2a8f37b8cf3d532cc98d973b6dc7e9e6c Reviewed-on: https://chromium-review.googlesource.com/439244 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Jaroslav Sevcik <jarin@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#42999}
-
ishell authored
BUG=v8:5917 Review-Url: https://codereview.chromium.org/2673383002 Cr-Commit-Position: refs/heads/master@{#42982}
-
jkummerow authored
Adding a code path for strings introduces Phi nodes on the fast (i.e. non-string) path, causing a performance regression. BUG=chromium:687075 Review-Url: https://codereview.chromium.org/2670353004 Cr-Commit-Position: refs/heads/master@{#42977}
-
- 06 Feb, 2017 3 commits
-
-
ishell authored
... by using KeyedStoreIC_Slow builtin instead. The issue with hard-coded language mode is that the stub can be re-used through megamorphic stub cache for an IC with incompatible language mode. KeyedStoreIC_Slow already does the right thing - it decodes the language mode from the IC slot kind. This CL also fixes the code kinds of the slow IC handlers. The code kind of IC handlers is used only for checking that the handler was added to the right megamorphic stub cache, which expect the handlers' code kinds to be either Code::LOAD_IC or Code::STORE_IC. And the megamorphic builtins are just helper code stubs that are called from IC dispatchers, therefore they should have BUILTIN code kind. Same applies to the other stubs which are neither IC dispatchers nor handlers. BUG=v8:5917 Review-Url: https://codereview.chromium.org/2677603004 Cr-Commit-Position: refs/heads/master@{#42958}
-
ishell authored
This CL also removes unused LoadApiGetterStub and renames StoreElementStub to StoreSlowElementStub. BUG=v8:4587 Review-Url: https://codereview.chromium.org/2670863003 Cr-Commit-Position: refs/heads/master@{#42951}
-
ishell authored
BUG=v8:5917 Review-Url: https://codereview.chromium.org/2676583002 Cr-Commit-Position: refs/heads/master@{#42949}
-
- 02 Feb, 2017 4 commits
-
-
bmeurer authored
We don't need Code::CALL_IC for anything now that the CallICStub is migrated and no longer hooks into the traditional IC system. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2669193002 Cr-Commit-Position: refs/heads/master@{#42890}
-
bmeurer authored
Port the Call feedback machinery from the interpreter to the CallICStub as second step to unify the feedback collection. This removes a lot of hand-written native code, and makes the runtime miss handler obsolete. The next step will be to use the CallICStub from the interpreter as well. Drive-by-fix: Adjust CallIC/CallICTrampoline descriptors names. R=mvstanton@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2670843002 Cr-Commit-Position: refs/heads/master@{#42889}
-
jkummerow authored
This behavior was recently changed. Turns out that for some usage patterns at least, populating the stub cache is significantly faster overall. BUG=chromium:684428 Review-Url: https://codereview.chromium.org/2674653002 Cr-Commit-Position: refs/heads/master@{#42885}
-
bmeurer authored
The CallIC is already not a traditional IC in the V8 sense, so it doesn't make sense to integrate with the traditional IC machinery. The plan is to migrate it away completely from the IC world and use the code that is already available in the interpreter instead. R=yangguo@chromium.org BUG=v8:5049 Review-Url: https://codereview.chromium.org/2676543002 Cr-Commit-Position: refs/heads/master@{#42879}
-
- 01 Feb, 2017 2 commits
-
-
danno authored
This allows support for tagged representations of index/loop variables which asserted in BuildFastFixedArrayForEach's call to Increment up to this point. Review-Url: https://codereview.chromium.org/2665143002 Cr-Commit-Position: refs/heads/master@{#42863}
-
ishell authored
This is a step towards encoding all the necessary information in the feedback slot kind instead of storing it in the IC dispatcher's code object flags. BUG=v8:5849, v8:5917 Review-Url: https://codereview.chromium.org/2662113005 Cr-Commit-Position: refs/heads/master@{#42859}
-
- 31 Jan, 2017 1 commit
-
-
jkummerow authored
The spec for String.split() requires loading "separator[@@split]". The KeyedLoadIC for this goes generic right away, but still requires a runtime call. To avoid that, reshuffle checks in the generic stub and do the primitive-string -> String-function translation inline. Review-Url: https://codereview.chromium.org/2654893003 Cr-Commit-Position: refs/heads/master@{#42797}
-
- 30 Jan, 2017 1 commit
-
-
jkummerow authored
Performing lookups on the prototype chain in the stub avoids a bunch of slow-path runtime calls. For now, only receivers with dictionary-mode properties do this; fast-mode receivers will follow if it's beneficial. (previously landed as r42751 / 82e10f5f) Review-Url: https://codereview.chromium.org/2652213003 Cr-Commit-Position: refs/heads/master@{#42785}
-
- 28 Jan, 2017 2 commits
-
-
machenbach authored
Revert of [stubs] KeyedLoadIC_Generic: prototype chain lookup support (patchset #2 id:20001 of https://codereview.chromium.org/2652213003/ ) Reason for revert: Speculative revert for breaking a layout test: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/13113 Unfortunately, the test results archive is not giving much info this time. Original issue's description: > [stubs] KeyedLoadIC_Generic: prototype chain lookup support > > Performing lookups on the prototype chain in the stub avoids a > bunch of slow-path runtime calls. For now, only receivers with > dictionary-mode properties do this; fast-mode receivers will follow > if it's beneficial. > > Review-Url: https://codereview.chromium.org/2652213003 > Cr-Commit-Position: refs/heads/master@{#42751} > Committed: https://chromium.googlesource.com/v8/v8/+/82e10f5fbacbbd71bc65e99322f432470692bf41 TBR=ishell@chromium.org,jkummerow@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/2657393002 Cr-Commit-Position: refs/heads/master@{#42754}
-
jkummerow authored
Performing lookups on the prototype chain in the stub avoids a bunch of slow-path runtime calls. For now, only receivers with dictionary-mode properties do this; fast-mode receivers will follow if it's beneficial. Review-Url: https://codereview.chromium.org/2652213003 Cr-Commit-Position: refs/heads/master@{#42751}
-
- 19 Jan, 2017 2 commits
-
-
jkummerow authored
- builtins-ic.cc takes the place of the AccessorAssembler shim - AccessorAssemblerImpl can then be renamed - some cleanup in code-factory.cc - drop old _TF name suffixes - fix Generate##Name##Impl in TF_BUILTIN macro Review-Url: https://codereview.chromium.org/2647493002 Cr-Commit-Position: refs/heads/master@{#42520}
-
jkummerow authored
using newly introduced ThinStrings, which store a pointer to the actual, internalized string they represent. BUG=v8:4520 (Previously landed as #42168 / af51befe) (Previously landed as #42193 / 4c699e34) (Previously landed as #42235 / ec45e6ed) Review-Url: https://codereview.chromium.org/2549773002 Cr-Commit-Position: refs/heads/master@{#42503}
-
- 17 Jan, 2017 1 commit
-
-
ishell authored
BUG=v8:5495 Review-Url: https://codereview.chromium.org/2637073002 Cr-Commit-Position: refs/heads/master@{#42401}
-
- 12 Jan, 2017 2 commits
-
-
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}
-
jkummerow authored
Revert of Internalize strings in-place (patchset #20 id:380001 of https://codereview.chromium.org/2549773002/ ) Reason for revert: Blocks roll, ASan detects leaking ExternalStrings. Original issue's description: > Internalize strings in-place (reland^2) > > using newly introduced ThinStrings, which store a pointer to the actual, > internalized string they represent. > > BUG=v8:4520 > > (Previously landed as #42168 / af51befe) > (Previously landed as #42193 / 4c699e34) > > Review-Url: https://codereview.chromium.org/2549773002 > Cr-Commit-Position: refs/heads/master@{#42235} > Committed: https://chromium.googlesource.com/v8/v8/+/ec45e6ed2e11698c713e664b1510bc31bcdbbdba TBR=ishell@chromium.org,hpayer@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4520 Review-Url: https://codereview.chromium.org/2626893005 Cr-Commit-Position: refs/heads/master@{#42271}
-