- 15 Jun, 2016 1 commit
-
-
machenbach authored
Revert of Reland: Add a trace-event for each runtime-stats timer (CL 2052523002) (patchset #2 id:20001 of https://codereview.chromium.org/2063853002/ ) Reason for revert: [Sheriff] Speculative revert for http://crbug.com/620279 Original issue's description: > Reland: Add a trace-event for each runtime-stats timer (CL 2052523002) > > The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. > > As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. > > The original CL was failing the TSAN builder, the variable in question was intended to be accessed quickly with no guarantee. > Switched to using an Atomic variable with no barrier read/write. > > BUG=v8:5089 > > patch from issue 2052523002 at patchset 100001 (http://crrev.com/2052523002#ps100001) > > Committed: https://crrev.com/fd7080cbefc21f2f890b5db00d4eadf163e2cbbf > Cr-Commit-Position: refs/heads/master@{#36973} TBR=cbruni@chromium.org,fmeawad@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5089 Review-Url: https://codereview.chromium.org/2068143002 Cr-Commit-Position: refs/heads/master@{#36997}
-
- 14 Jun, 2016 2 commits
-
-
fmeawad authored
The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. The original CL was failing the TSAN builder, the variable in question was intended to be accessed quickly with no guarantee. Switched to using an Atomic variable with no barrier read/write. BUG=v8:5089 patch from issue 2052523002 at patchset 100001 (http://crrev.com/2052523002#ps100001) Review-Url: https://codereview.chromium.org/2063853002 Cr-Commit-Position: refs/heads/master@{#36973}
-
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
-
-
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}
-
bmeurer authored
Revert of Add a trace-event for each runtime-stats timer (patchset #6 id:100001 of https://codereview.chromium.org/2052523002/ ) Reason for revert: Seems to break TSAN, see http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10057 Original issue's description: > The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. > > As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. > > BUG=v8:5089 > > Committed: https://crrev.com/44ec143f26769bd103662643bfeafc7d0834cc90 > Cr-Commit-Position: refs/heads/master@{#36909} TBR=cbruni@chromium.org,fmeawad@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5089 Review-Url: https://codereview.chromium.org/2064553002 Cr-Commit-Position: refs/heads/master@{#36910}
-
- 12 Jun, 2016 1 commit
-
-
fmeawad authored
The trace-events will have a high overhead when turned on, but they are in a disabled-by-default category. As long as the off overhead is negligible, this CL allows us to understand the behavior of V8 rather than its performance at the moment. BUG=v8:5089 Review-Url: https://codereview.chromium.org/2052523002 Cr-Commit-Position: refs/heads/master@{#36909}
-
- 08 Jun, 2016 1 commit
-
-
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}
-
- 06 Jun, 2016 1 commit
-
-
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}
-
- 17 May, 2016 1 commit
-
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
- 13 May, 2016 1 commit
-
-
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
-
-
cbruni authored
Currently we do not check for @@isConcatSpreadable properly. If the Symbol is set on the Array.prototype or Object.prototype the current fast paths fail. This CL adds a fix to globally invalidate a isConcatSpreadable_protector. Drive-by-fix: use named accessors for context variables LOG=N BUG=chromium:542504, v8:903 Review-Url: https://codereview.chromium.org/1409123003 Cr-Commit-Position: refs/heads/master@{#36201}
-
- 11 May, 2016 1 commit
-
-
ishell authored
[runtime] Record runtime call stats for Map::TransitionTo*Property, Map::SetPrototype and property deletion to separate buckets. Review-Url: https://codereview.chromium.org/1973473002 Cr-Commit-Position: refs/heads/master@{#36176}
-
- 04 May, 2016 1 commit
-
-
jochen authored
BUG=chromium:588893, chromium:325923 LOG=n R=verwaest@chromium.org Review-Url: https://codereview.chromium.org/1943303002 Cr-Commit-Position: refs/heads/master@{#36025}
-
- 21 Apr, 2016 1 commit
-
-
verwaest authored
BUG=chromium:605060 LOG=n Review URL: https://codereview.chromium.org/1907953002 Cr-Commit-Position: refs/heads/master@{#35697}
-
- 07 Mar, 2016 1 commit
-
-
verwaest authored
BUG=chromium:592305 LOG=n Review URL: https://codereview.chromium.org/1770833002 Cr-Commit-Position: refs/heads/master@{#34552}
-
- 04 Mar, 2016 3 commits
-
-
verwaest authored
BUG=588893, 325923 LOG=n Review URL: https://codereview.chromium.org/1762273002 Cr-Commit-Position: refs/heads/master@{#34493}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1765713003 Cr-Commit-Position: refs/heads/master@{#34492}
-
verwaest authored
This is the equivalent of the fast-path in ApplyTransitionToDataProperty. BUG=588893, 325923 LOG=n Review URL: https://codereview.chromium.org/1765633003 Cr-Commit-Position: refs/heads/master@{#34488}
-
- 03 Mar, 2016 1 commit
-
-
machenbach authored
This reverts commit 2608ecc7. Revert "Specialize helper methods in the LookupIterator by is_element." This reverts commit 6eb483f8. Revert "Avoid SetPropertyInternal if the LookupIterator is NotFound" This reverts commit ca5bd8d4. Revert "Inline fast-bailout-checks for LookupIterator::UpdateProtector" This reverts commit d98570a1. This breaks layout tests with timeouts: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5060 It also seems to break jsfunfuzz: https://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/7930 The other three CLs are reverted to be able to revert the first. BUG=v8:4798 LOG=n TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/1761593003 Cr-Commit-Position: refs/heads/master@{#34457}
-
- 02 Mar, 2016 4 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1754023003 Cr-Commit-Position: refs/heads/master@{#34438}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1752383002 Cr-Commit-Position: refs/heads/master@{#34436}
-
verwaest authored
This speeds up lookup. BUG= Review URL: https://codereview.chromium.org/1753273002 Cr-Commit-Position: refs/heads/master@{#34430}
-
verwaest authored
This introduces a new instance type and reorders the JSObject types so any type requiring special LookupIterator support can be identified with a single range check. In addition, it restructures the Next for better performance, avoiding unnecessary calls. BUG= Review URL: https://codereview.chromium.org/1751043002 Cr-Commit-Position: refs/heads/master@{#34429}
-
- 22 Feb, 2016 1 commit
-
-
littledan authored
This patch makes ArraySpeciesCreate fast in V8 by avoiding two property reads when the following conditions are met: - No Array instance has had its __proto__ reset - No Array instance has had a constructor property defined - Array.prototype has not had its constructor changed - Array[Symbol.species] has not been reset For subclasses of Array, or for conditions where one of these assumptions is violated, the full lookup of species is done according to the ArraySpeciesCreate algorithm. Although this is a "performance cliff", it does not come up in the expected typical use case of @@species (Array subclassing), so it is hoped that this can form a good start. Array subclasses will incur the slowness of looking up @@species, but their use won't slow down invocations of, for example, Array.prototype.slice on Array base class instances. Possible future optimizations: - For the fallback case where the assumptions don't hold, optimize the two property lookups. - For Array.prototype.slice and Array.prototype.splice, even if the full lookup of @@species needs to take place, we still could take the rest of the C++ fastpath. However, to do this correctly requires changing the calling convention from C++ to JS to pass the @@species out, so it is not attempted in this patch. With this patch, microbenchmarks of Array.prototype.slice do not suffer a noticeable performance regression, unlike their previous 2.5x penalty. TBR=hpayer@chromium.org Review URL: https://codereview.chromium.org/1689733002 Cr-Commit-Position: refs/heads/master@{#34199}
-
- 19 Feb, 2016 3 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1715543003 Cr-Commit-Position: refs/heads/master@{#34150}
-
verwaest authored
Review URL: https://codereview.chromium.org/1717603002 Cr-Commit-Position: refs/heads/master@{#34149}
-
verwaest authored
This should restore the splay regression. BUG= Review URL: https://codereview.chromium.org/1714753003 Cr-Commit-Position: refs/heads/master@{#34144}
-
- 18 Feb, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1704353002 Cr-Commit-Position: refs/heads/master@{#34118}
-
- 17 Feb, 2016 4 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1706833002 Cr-Commit-Position: refs/heads/master@{#34087}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1705713002 Cr-Commit-Position: refs/heads/master@{#34070}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1702623002 Cr-Commit-Position: refs/heads/master@{#34063}
-
verwaest authored
Minor improvements measured through by https://github.com/kpdecker/six-speed/blob/master/tests/object-assign/object-assign.es6. Mostly due to inlining of NowContains on the FieldType Review URL: https://codereview.chromium.org/1703513002 Cr-Commit-Position: refs/heads/master@{#34060}
-
- 16 Feb, 2016 2 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1696333002 Cr-Commit-Position: refs/heads/master@{#34035}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1702443002 Cr-Commit-Position: refs/heads/master@{#34024}
-
- 15 Feb, 2016 1 commit
-
-
verwaest authored
By not calling ReloadPropertyInformation, we avoid expensive descriptor array lookup. BUG= Review URL: https://codereview.chromium.org/1697153002 Cr-Commit-Position: refs/heads/master@{#33995}
-
- 08 Feb, 2016 1 commit
-
-
verwaest authored
Generally we only care whether the next object is a hidden prototype. It's simpler to check whether the current object has a hidden prototype instead of walking to the next prototype and checking its map. BUG= Review URL: https://codereview.chromium.org/1675223002 Cr-Commit-Position: refs/heads/master@{#33816}
-
- 04 Feb, 2016 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1667083002 Cr-Commit-Position: refs/heads/master@{#33737}
-
- 03 Feb, 2016 1 commit
-
-
verwaest authored
This was inconsistent in the spec in case of has vs get, set. Removing receiver==holder simplifies the lookup; so tentatively removing this additional check which was broken until yesterday anyway. See https://github.com/tc39/ecma262/issues/347 for more information. Review URL: https://codereview.chromium.org/1660903002 Cr-Commit-Position: refs/heads/master@{#33701}
-
- 02 Feb, 2016 1 commit
-
-
verwaest authored
This includes 2 fixes: 1) We didn't properly advance the holder when checking whether Receiver==Holder, so we'd inadvertently block loading the property if the first property we find is on the typed array. 2) Reflect.get may cause any object on the prototype chain of the holder to be the receiver; so we need to recheck for this special state for each object we perform lookup on. Review URL: https://codereview.chromium.org/1651913005 Cr-Commit-Position: refs/heads/master@{#33689}
-