- 17 Oct, 2016 5 commits
-
-
vogelheim authored
Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Review-Url: https://codereview.chromium.org/2403003002 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365}
-
heimbuef authored
This adds more useful information to the v8-heap-stats tool. BUG=v8:5489 Review-Url: https://codereview.chromium.org/2394213003 Cr-Commit-Position: refs/heads/master@{#40361}
-
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}
-
mstarzinger authored
This removes the {ParseInfo} constructor consuming a closure, replacing all uses to pass only the shared function info. The goal is to make the fact that parsing is independent of a concrete closure explicit. R=jochen@chromium.org BUG=v8:2206 Committed: https://crrev.com/3de42b3f224217ec88e4c609d3cf23fe06806dca Review-Url: https://codereview.chromium.org/2396963003 Cr-Original-Commit-Position: refs/heads/master@{#40083} Cr-Commit-Position: refs/heads/master@{#40353}
-
sander authored
This is a fix for a regression that started ~6 months ago when https://codereview.chromium.org/1757013002 landed. This patch will remove the unnecessary Change/CallWithDescriptor/Change opcodes causing the regression. BUG=v8:5373 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2423923002 Cr-Commit-Position: refs/heads/master@{#40345}
-
- 12 Oct, 2016 5 commits
-
-
ishell authored
... because the latter automatically respects the desired calling convention. BUG=v8:5408 Review-Url: https://codereview.chromium.org/2391043005 Cr-Commit-Position: refs/heads/master@{#40223}
-
ishell authored
Thus the parameter indices defined in respective CallInterfaceDescriptor can be used for querying parameters. BUG= Review-Url: https://codereview.chromium.org/2389133007 Cr-Commit-Position: refs/heads/master@{#40222}
-
bmeurer authored
We want to extend the use of this code dependency, so the name does no longer reflect the purpose. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2410293003 Cr-Commit-Position: refs/heads/master@{#40210}
-
bmeurer authored
This is the next step to unify the Call/Construct feedback collection and prepare it to be able to collect SharedFunctionInfo feedback. This also reduces the CallICStub overhead quite a bit since we only need one stub per mode (and tail call mode), not also one per call arity. R=mvstanton@chromium.org BUG=v8:2206 NOTRY=true Review-Url: https://codereview.chromium.org/2412453005 Cr-Commit-Position: refs/heads/master@{#40206}
-
ishell authored
BUG=chromium:645438 Review-Url: https://codereview.chromium.org/2412853002 Cr-Commit-Position: refs/heads/master@{#40202}
-
- 11 Oct, 2016 3 commits
-
-
machenbach authored
Revert of Speedup access to global_proxy.* attributes/accessors. (patchset #3 id:80001 of https://codereview.chromium.org/2403003002/ ) Reason for revert: Blocks roll: https://codereview.chromium.org/2406213002/ Original issue's description: > Speedup access to global_proxy.* attributes/accessors. > > Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. > > This is a follow-on CL to crrev.com/2369933005: > - The initial upload is crrev.com/2369933005 + a rebase. > - The remaining issues are the fixes requested by the reviewers on that CL. > > BUG=chromium:634276 > > Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 > Cr-Commit-Position: refs/heads/master@{#40153} TBR=jochen@chromium.org,verwaest@chromium.org,vogelheim@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:634276 Review-Url: https://codereview.chromium.org/2408133002 Cr-Commit-Position: refs/heads/master@{#40171}
-
vogelheim authored
Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 Review-Url: https://codereview.chromium.org/2403003002 Cr-Commit-Position: refs/heads/master@{#40153}
-
zhengxing.li authored
This CL set Floating-point precision in Math.Cos/Math.Sin in Crankshaft compiler to standard double precision which is expected by v8. BUG= Review-Url: https://codereview.chromium.org/2403803002 Cr-Commit-Position: refs/heads/master@{#40146}
-
- 07 Oct, 2016 8 commits
-
-
hablich authored
Revert of [parser] Deprecate ParseInfo constructor taking closure. (patchset #2 id:20001 of https://codereview.chromium.org/2396963003/ ) Reason for revert: Needed to revert https://codereview.chromium.org/2400343002/ Original issue's description: > [parser] Deprecate ParseInfo constructor taking closure. > > This removes the {ParseInfo} constructor consuming a closure, replacing > all uses to pass only the shared function info. The goal is to make the > fact that parsing is independent of a concrete closure explicit. > > R=jochen@chromium.org > BUG=v8:2206 > > Committed: https://crrev.com/3de42b3f224217ec88e4c609d3cf23fe06806dca > Cr-Commit-Position: refs/heads/master@{#40083} TBR=jochen@chromium.org,bmeurer@chromium.org,marja@chromium.org,yangguo@chromium.org,mstarzinger@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:2206 Review-Url: https://codereview.chromium.org/2406623002 Cr-Commit-Position: refs/heads/master@{#40097}
-
jgruber authored
BUG= Committed: https://crrev.com/7db0ecdec3cf330766575cb7973b983f3f1e3020 Review-Url: https://codereview.chromium.org/2381843002 Cr-Original-Commit-Position: refs/heads/master@{#40080} Cr-Commit-Position: refs/heads/master@{#40087}
-
Mike Stanton authored
(GcStress failure was unrelated.) At one time, we hoped to generate the same code for different native contexts. But in truth, much performance comes from optimizing on the native context. Now we abandon this pathway. BUG= TBR=bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/2402663002 . Cr-Commit-Position: refs/heads/master@{#40086}
-
mstarzinger authored
This removes the {ParseInfo} constructor consuming a closure, replacing all uses to pass only the shared function info. The goal is to make the fact that parsing is independent of a concrete closure explicit. R=jochen@chromium.org BUG=v8:2206 Review-Url: https://codereview.chromium.org/2396963003 Cr-Commit-Position: refs/heads/master@{#40083}
-
jgruber authored
This reverts commit 7db0ecde. Manual revert since automatic revert is too large for the web interface. BUG= TBR=bmeurer@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org,ahaas@chromium.org NOPRESUBMIT=true NOTREECHECKS=true Review-Url: https://codereview.chromium.org/2396353002 Cr-Commit-Position: refs/heads/master@{#40082}
-
mvstanton authored
Revert of [turbofan] Discard the shared code entry in the optimized code map. (patchset #3 id:40001 of https://codereview.chromium.org/2401653002/ ) Reason for revert: Possible GCSTRESS failure, investigating. Original issue's description: > [turbofan] Discard the shared code entry in the optimized code map. > > At one time, we hoped to generate the same code for different > native contexts. But in truth, much performance comes from optimizing > on the native context. Now we abandon this pathway. > > BUG= > > Committed: https://crrev.com/55af3c44c99a6e4cd6d53df775023d760ad2b2c3 > Cr-Commit-Position: refs/heads/master@{#40079} TBR=mstarzinger@chromium.org,ishell@chromium.org,bmeurer@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/2403453002 Cr-Commit-Position: refs/heads/master@{#40081}
-
jgruber authored
BUG= Review-Url: https://codereview.chromium.org/2381843002 Cr-Commit-Position: refs/heads/master@{#40080}
-
mvstanton authored
At one time, we hoped to generate the same code for different native contexts. But in truth, much performance comes from optimizing on the native context. Now we abandon this pathway. BUG= Review-Url: https://codereview.chromium.org/2401653002 Cr-Commit-Position: refs/heads/master@{#40079}
-
- 06 Oct, 2016 4 commits
-
-
ziyang authored
Port 0c168a90 R=tebbi@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/2397193003 Cr-Commit-Position: refs/heads/master@{#40059}
-
tebbi authored
BUG=v8:5431 Review-Url: https://codereview.chromium.org/2372113004 Cr-Commit-Position: refs/heads/master@{#40051}
-
ishell authored
... because the latter automatically respects the desired calling convention. BUG=v8:5408 Review-Url: https://codereview.chromium.org/2398683004 Cr-Commit-Position: refs/heads/master@{#40025}
-
ishell authored
... because the latter automatically respects the desired calling convention. BUG=v8:5408 Review-Url: https://codereview.chromium.org/2396023002 Cr-Commit-Position: refs/heads/master@{#40023}
-
- 30 Sep, 2016 2 commits
-
-
leszeks authored
matching function, creates a hashmap the specialises the case of keys that simply check pointer equality. I measure an average ~1% improvement on Octane code-load. Review-Url: https://codereview.chromium.org/2369963002 Cr-Commit-Position: refs/heads/master@{#39920}
-
mstarzinger authored
This moves the Hydrogen-specific {is_tracking_positions} predicate which also depends on the --hydrogen-track-positions flag into the Crankshaft directory and removes it from the more general {CompilationInfo}. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2377283002 Cr-Commit-Position: refs/heads/master@{#39913}
-
- 28 Sep, 2016 1 commit
-
-
bmeurer authored
As of https://codereview.chromium.org/2348493003 there are no users of this intrinsic left in the code, and we don't want to have any new users of it. The runtime function remains as it serves as a fallback for the optimized code (Crankshaft code actually). BUG=v8:5049 R=mstarzinger@chromium.org Review-Url: https://codereview.chromium.org/2378693002 Cr-Commit-Position: refs/heads/master@{#39822}
-
- 27 Sep, 2016 1 commit
-
-
mythria authored
Ignition collects type feedback for binary and compare operations in type feedback vector and FCG uses Binary/CompareOpICs to collect type feedback. The feedback collected by ignition is not used by crankshaft. This hits the performance, when trying to optimize functions that did not tier upto FCG. This cl merges the feedback collected by ignition and FCG when passing to crankshaft. BUG=v8:4280 Review-Url: https://codereview.chromium.org/2361043002 Cr-Commit-Position: refs/heads/master@{#39753}
-
- 26 Sep, 2016 3 commits
-
-
jkummerow authored
BUG=chromium:650404 Review-Url: https://codereview.chromium.org/2371963002 Cr-Commit-Position: refs/heads/master@{#39744}
-
bmeurer authored
Revert of [compiler] Properly guard the speculative optimizations for instanceof. (patchset #3 id:40001 of https://codereview.chromium.org/2370693002/ ) Reason for revert: Tanks EarleyBoyer. Original issue's description: > [compiler] Properly guard the speculative optimizations for instanceof. > > Add a general feedback slot for instanceof similar to what we already have > for for-in, which basically has a fast (indicated by the uninitialized > sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now > we can only take the fast path when the feedback slot says it hasn't > seen any funky inputs and nothing funky appeared in the prototype chain. > In the TurboFan code we also deoptimize whenever we see a funky object > (i.e. a proxy or an object that requires access checks) in the prototype > chain (similar to what Crankshaft already did). > > Drive-by-fix: Also make Crankshaft respect the mode and therefore > address the deopt loop in Crankshaft around instanceof. > > We might want to introduce an InstanceOfIC mechanism at some point and > track the map of the right-hand side. > > BUG=v8:5267 > R=mvstanton@chromium.org > > Committed: https://crrev.com/a0484bc6116ebc2b855de87d862945e2ae07169b > Cr-Commit-Position: refs/heads/master@{#39718} TBR=mvstanton@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5267 Review-Url: https://codereview.chromium.org/2365223003 Cr-Commit-Position: refs/heads/master@{#39736}
-
bmeurer authored
Add a general feedback slot for instanceof similar to what we already have for for-in, which basically has a fast (indicated by the uninitialized sentinel) and a slow (indicated by the megamorphic sentinel) mode. Now we can only take the fast path when the feedback slot says it hasn't seen any funky inputs and nothing funky appeared in the prototype chain. In the TurboFan code we also deoptimize whenever we see a funky object (i.e. a proxy or an object that requires access checks) in the prototype chain (similar to what Crankshaft already did). Drive-by-fix: Also make Crankshaft respect the mode and therefore address the deopt loop in Crankshaft around instanceof. We might want to introduce an InstanceOfIC mechanism at some point and track the map of the right-hand side. BUG=v8:5267 R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2370693002 Cr-Commit-Position: refs/heads/master@{#39718}
-
- 23 Sep, 2016 1 commit
-
-
verwaest authored
Remove ARGUMENTS_VARIABLE and fix crankshaft to properly detect the arguments object and keep it alive when inlining .apply BUG= Review-Url: https://codereview.chromium.org/2367483003 Cr-Commit-Position: refs/heads/master@{#39670}
-
- 22 Sep, 2016 2 commits
-
-
leszeks authored
This reverts commit b42ecda5. That commit introduced a allocator field to hashmap, which indirectly added a field to Scopes, where the field, effectively storing a Zone, is unnecessary because the Zone can be accessed in other ways. Review-Url: https://codereview.chromium.org/2351393003 Cr-Commit-Position: refs/heads/master@{#39623}
-
ishell authored
BUG=v8:5407 Review-Url: https://codereview.chromium.org/2353303002 Cr-Commit-Position: refs/heads/master@{#39613}
-
- 20 Sep, 2016 5 commits
-
-
heimbuef authored
This is some initial cleanup to keep /src clean. The AccountingAllocator is actually exclusively used by zones and this common subfolder makes that more clear. BUG=v8:5409 Review-Url: https://codereview.chromium.org/2344143003 Cr-Commit-Position: refs/heads/master@{#39558}
-
klaasb authored
Refactors CodeStubAssembler::AllocateJSArray to share code. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2304573004 Cr-Commit-Position: refs/heads/master@{#39550}
-
ishell authored
... because the latter automatically respects the desired calling convention. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2350423002 Cr-Commit-Position: refs/heads/master@{#39543}
-
leszeks authored
Moves the hashmap's allocator from being a parameter in the various hashmap functions, to being a field in the hashmap itself. This 1. Protects against incorrectly passed allocators, and 2. Cleans up the API so that e.g. callers don't have to store their allocator This is part of a wider set of changes discussed in: https://groups.google.com/forum/#!topic/v8-dev/QLsC0XPYLeM Review-Url: https://codereview.chromium.org/2345233003 Cr-Commit-Position: refs/heads/master@{#39538}
-
ishell authored
... because the latter automatically respects the desired calling convention. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2358533002 Cr-Commit-Position: refs/heads/master@{#39535}
-