- 27 Sep, 2016 8 commits
-
-
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}
-
cbruni authored
Without --enable-benchmarking we might get flaky results due to active finch experiments. BUG= NOTRY=true Review-Url: https://codereview.chromium.org/2369903002 Cr-Commit-Position: refs/heads/master@{#39752}
-
ishell authored
This CL introduces StoreICTFStub and StoreICTrampolineTFStub and a switch to enable them instead of respective platform stubs. This should ease the split of StoreIC to StoreGlobalIC and StoreIC. StubCache tests now exercise both load and store ICs. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2163253002 Cr-Commit-Position: refs/heads/master@{#39751}
-
machenbach authored
Revert of [tracing] Support ConvertableToTraceFormat argument type. (patchset #5 id:80001 of https://codereview.chromium.org/2367603002/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10100 See also: https://github.com/v8/v8/wiki/Blink%20layout%20tests Original issue's description: > [tracing] Support ConvertableToTraceFormat argument type. > > Drive-by: Use perfect forwarding for AddTraceEvent arguments. > > BUG=406277 > > Committed: https://crrev.com/dcac49af485fe5d4c0027f153901435dbb29c232 > Cr-Commit-Position: refs/heads/master@{#39742} TBR=jochen@chromium.org,caseq@chromium.org,fmeawad@chromium.org,alph@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=406277 Review-Url: https://codereview.chromium.org/2371103002 Cr-Commit-Position: refs/heads/master@{#39750}
-
bmeurer authored
Revert of [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. (patchset #6 id:100001 of https://codereview.chromium.org/2367593003/ ) Reason for revert: Still blows up on the main waterfall even after Jakob's fix: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/11557/steps/Check/logs/typedarray-indexing https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/11557/steps/Check/logs/typedarray https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/12982/steps/Check/logs/typedarray Original issue's description: > [turbofan] ChangeFloat64ToTagged shouldn't canonicalize. > > This matches current Crankshaft/fullcodegen behavior more closely and > thus reduces the chances that we run into unnecessary polymorphism due > to the field representation tracking in our object model. > > R=jarin@chromium.org > BUG=v8:5267 > > Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef > Committed: https://crrev.com/ee158e6c4cc896479a32245432a3c2fdd31bcb73 > Committed: https://crrev.com/ddf792beb3a72f6dba83e94fc8ada03ebf1630bd > Cr-Original-Commit-Position: refs/heads/master@{#39692} > Cr-Commit-Position: refs/heads/master@{#39748} TBR=jarin@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/2365353006 Cr-Commit-Position: refs/heads/master@{#39749}
-
bmeurer authored
This matches current Crankshaft/fullcodegen behavior more closely and thus reduces the chances that we run into unnecessary polymorphism due to the field representation tracking in our object model. R=jarin@chromium.org BUG=v8:5267 Committed: https://chromium.googlesource.com/v8/v8/+/6a939714e991ebf10d56ddbd2869325cca99c0ef Committed: https://crrev.com/ee158e6c4cc896479a32245432a3c2fdd31bcb73 Review-Url: https://codereview.chromium.org/2367593003 Cr-Original-Commit-Position: refs/heads/master@{#39692} Cr-Commit-Position: refs/heads/master@{#39748}
-
v8-autoroll authored
Rolling v8/build to 43f8b7b4f8fa2290a3ce9f82544514a8d961e2c3 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2370183002 Cr-Commit-Position: refs/heads/master@{#39747}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2372873002 Cr-Commit-Position: refs/heads/master@{#39746}
-
- 26 Sep, 2016 32 commits
-
-
neis authored
If we want to allow this in the future, we must force context-allocation for all variables that are declared at the module level but not MODULE-allocated. R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2373573003 Cr-Commit-Position: refs/heads/master@{#39745}
-
jkummerow authored
BUG=chromium:650404 Review-Url: https://codereview.chromium.org/2371963002 Cr-Commit-Position: refs/heads/master@{#39744}
-
adamk authored
Use an unordered_map<Module, unordered_set<String>> to keep track of visited Module/ExportName pairs during ResolveExport. This required adding a Hash() method to Module, which is accomplished by allocating a Symbol and storing it in the SharedFunctionInfo::name slot, then delegating the hash to that Symbol. Also added a helper method Module::shared() to easily get ahold of the SharedFunctionInfo and call it in the appropriate places instead of re-doing the ternary operator. BUG=v8:1569 Review-Url: https://codereview.chromium.org/2367623004 Cr-Commit-Position: refs/heads/master@{#39743}
-
alph authored
Drive-by: Use perfect forwarding for AddTraceEvent arguments. BUG=406277 Review-Url: https://codereview.chromium.org/2367603002 Cr-Commit-Position: refs/heads/master@{#39742}
-
jyan authored
Fix "error: ‘maximum’ may be used uninitialized in this function" R=ahaas@chromium.org, titzer@chromium.org, rossberg@chromium.org BUG= Review-Url: https://codereview.chromium.org/2371833002 Cr-Commit-Position: refs/heads/master@{#39741}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2367403003 Cr-Commit-Position: refs/heads/master@{#39740}
-
neis authored
R=adamk@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2369133002 Cr-Commit-Position: refs/heads/master@{#39739}
-
adamk authored
This allows the CreateExport/ResolveExport methods to be private to Module. R=neis@chromium.org BUG=v8:1569 Review-Url: https://codereview.chromium.org/2368393002 Cr-Commit-Position: refs/heads/master@{#39738}
-
hablich authored
Revert of [stubs] Port SubStringStub to TurboFan (patchset #8 id:140001 of https://codereview.chromium.org/2355793003/ ) Reason for revert: Speculative revert because of stability problems Original issue's description: > [stubs] Port SubStringStub to TurboFan > > This ports the platform-specific SubStringStub to TurboFan. > > It also contains a minor bug-fix for the case when the requested substring > length equals the subject string length, but the start index is not equal to 0. > The old stub implementation returned the subject string, while the new > implementation calls into runtime, which finally results in a thrown exception. > > BUG=v8:5415 > > Committed: https://crrev.com/49be31921536716706a6790fbbf9c346b975af16 > Cr-Commit-Position: refs/heads/master@{#39653} TBR=ishell@chromium.org,bmeurer@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5415, chromium:649967 NOPRESUBMIT=true NOTRY=true Review-Url: https://codereview.chromium.org/2365413002 Cr-Commit-Position: refs/heads/master@{#39737}
-
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}
-
hpayer authored
BUG=chromium:648568 Review-Url: https://codereview.chromium.org/2366393002 Cr-Commit-Position: refs/heads/master@{#39735}
-
kozyatinskiy authored
All warnings were fixed. MSVS builds V8 with inspector without warnings. BUG=chromium:635948 R=jochen@chromium.org Review-Url: https://codereview.chromium.org/2364473003 Cr-Commit-Position: refs/heads/master@{#39734}
-
tebbi authored
R=bmeurer@chromium.org,jarin@chromium.org BUG= Review-Url: https://codereview.chromium.org/2366993002 Cr-Commit-Position: refs/heads/master@{#39733}
-
jarin authored
Review-Url: https://codereview.chromium.org/2365343002 Cr-Commit-Position: refs/heads/master@{#39732}
-
jacob.bramley authored
Crankshaft doesn't actually require VFPv3, so there's no reason to restrict it. V8 already requires at least VFPv2. BUG= Review-Url: https://codereview.chromium.org/2369913002 Cr-Commit-Position: refs/heads/master@{#39731}
-
hablich authored
Revert of Preparse inner functions (new try) (patchset #21 id:420001 of https://codereview.chromium.org/2352593002/ ) Reason for revert: We currently have some stability issues on Canary. Let's reland this after we verified that we "fixed" Canary again. Original issue's description: > Preparse inner functions (new try) > > This is an overly pessimistic approach where PreParser only keeps > track of unresolved variables, but doesn't declare anything. This > will result in context-allocating variables in the outer function > unnecessarily, if the variable names clash with variable names > used by the inner function (even if the variables are not the > same). However, we have been unable to prove that this approach > wouldn't be good enough for the practical purposes. > > Fixes after the previous try ( https://codereview.chromium.org/2322243002/ ): > Keep the context-allocation decision stable when compiling fully eagerly. > > Tests which exercise this functionality: > mjsunit/fixed-context-shapes-when-recompiling.js > > Design document (chromium): > > https://docs.google.com/a/chromium.org/document/d/1rRv5JJZ0JpOZAZN2CSUwZPFJiBAdRnTiSYhazseNHFg/edit?usp=sharing > > BUG= > > Committed: https://crrev.com/7c73cf32c60484cdf37c84f1d61b4640e87068d7 > Cr-Commit-Position: refs/heads/master@{#39719} TBR=verwaest@chromium.org,adamk@chromium.org,marja@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/2373443003 Cr-Commit-Position: refs/heads/master@{#39730}
-
hablich authored
Revert of Preparse functions in the scope that was created when parsing of the function was started (patchset #2 id:20001 of https://codereview.chromium.org/2370713003/ ) Reason for revert: Needed for https://codereview.chromium.org/2373443003/ Original issue's description: > Preparse functions in the scope that was created when parsing of the function was started > > This reduces the number of scopes for lazily parsed top-level functions from 3 to 1 > > BUG=v8:5209 > > Committed: https://crrev.com/9618d095903c604a032b33792c068f4a6169503c > Cr-Commit-Position: refs/heads/master@{#39725} TBR=marja@chromium.org,verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5209 Review-Url: https://codereview.chromium.org/2365393002 Cr-Commit-Position: refs/heads/master@{#39729}
-
hablich authored
Reland of VariableProxy: when cloning, don't even think about creating dangling references. (patchset #1 id:1 of https://codereview.chromium.org/2368303002/ ) Reason for revert: wrong CL Original issue's description: > Revert of VariableProxy: when cloning, don't even think about creating dangling references. (patchset #1 id:1 of https://codereview.chromium.org/2368253002/ ) > > Reason for revert: > Needed for https://codereview.chromium.org/2373443003/ > > Original issue's description: > > VariableProxy: when cloning, don't even think about creating dangling references. > > > > The code path for cloning resolved VariableProxys (into a different > > Zone) was never hit, but if it was, it would create a dangling > > reference, since the Variable would stay in the original Zone. > > > > Kudos to verwaest@ for finding this! > > > > R=verwaest@chromium.org > > BUG= > > > > Committed: https://crrev.com/fd429bdb9e70cb8c4f8a4bbef0806e008c60440c > > Cr-Commit-Position: refs/heads/master@{#39723} > > TBR=verwaest@chromium.org,marja@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/8edf2905693a2b486a97a0547ec53bb552f7db15 > Cr-Commit-Position: refs/heads/master@{#39726} TBR=verwaest@chromium.org,marja@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/2366373002 Cr-Commit-Position: refs/heads/master@{#39728}
-
kozyatinskiy authored
BUG=chromium:635948 R=dgozman@chromium.org,alph@chromium.org Review-Url: https://codereview.chromium.org/2343733002 Cr-Commit-Position: refs/heads/master@{#39727}
-
hablich authored
Revert of VariableProxy: when cloning, don't even think about creating dangling references. (patchset #1 id:1 of https://codereview.chromium.org/2368253002/ ) Reason for revert: Needed for https://codereview.chromium.org/2373443003/ Original issue's description: > VariableProxy: when cloning, don't even think about creating dangling references. > > The code path for cloning resolved VariableProxys (into a different > Zone) was never hit, but if it was, it would create a dangling > reference, since the Variable would stay in the original Zone. > > Kudos to verwaest@ for finding this! > > R=verwaest@chromium.org > BUG= > > Committed: https://crrev.com/fd429bdb9e70cb8c4f8a4bbef0806e008c60440c > Cr-Commit-Position: refs/heads/master@{#39723} TBR=verwaest@chromium.org,marja@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/2368303002 Cr-Commit-Position: refs/heads/master@{#39726}
-
verwaest authored
This reduces the number of scopes for lazily parsed top-level functions from 3 to 1 BUG=v8:5209 Review-Url: https://codereview.chromium.org/2370713003 Cr-Commit-Position: refs/heads/master@{#39725}
-
hablich authored
Revert of [stubs] Port String.prototype.substring to TurboFan (patchset #5 id:80001 of https://codereview.chromium.org/2358133004/ ) Reason for revert: Blocks roll: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/10075 Original issue's description: > [stubs] Port String.prototype.substring to TurboFan > > BUG=v8:5415 > > Committed: https://crrev.com/cc37dff7ba21345b3a867a86127a208e34a3f707 > Cr-Commit-Position: refs/heads/master@{#39717} TBR=ishell@chromium.org,jgruber@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5415 Review-Url: https://codereview.chromium.org/2369003002 Cr-Commit-Position: refs/heads/master@{#39724}
-
marja authored
The code path for cloning resolved VariableProxys (into a different Zone) was never hit, but if it was, it would create a dangling reference, since the Variable would stay in the original Zone. Kudos to verwaest@ for finding this! R=verwaest@chromium.org BUG= Review-Url: https://codereview.chromium.org/2368253002 Cr-Commit-Position: refs/heads/master@{#39723}
-
ahaas authored
The WebAssembly spec requires a HasProperty() check for the maximum property of the descriptor object which is used to set up a WebAssembly.Memory object or a WebAssembly.Table object. The original implementation only approximated the HasProperty() check. It used Get() to get the value of the maximum property of the descriptor object and compared the resulting value to {undefined}. However, this approximation is incorrect if the property exists but its value is {undefined}. R=titzer@chromium.org, franzih@chromium.org BUG=chromium:649461 TEST=mjsunit/wasm/memory Review-Url: https://codereview.chromium.org/2367673003 Cr-Commit-Position: refs/heads/master@{#39722}
-
cbruni authored
The previous change accidentally shifted categories around which broke our performance graphs. BUG= Review-Url: https://codereview.chromium.org/2369863002 Cr-Commit-Position: refs/heads/master@{#39721}
-
mvstanton authored
Reverted for stability reasons. BUG=chromium:649967 TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2370763002 Cr-Commit-Position: refs/heads/master@{#39720}
-
marja authored
This is an overly pessimistic approach where PreParser only keeps track of unresolved variables, but doesn't declare anything. This will result in context-allocating variables in the outer function unnecessarily, if the variable names clash with variable names used by the inner function (even if the variables are not the same). However, we have been unable to prove that this approach wouldn't be good enough for the practical purposes. Fixes after the previous try ( https://codereview.chromium.org/2322243002/ ): Keep the context-allocation decision stable when compiling fully eagerly. Tests which exercise this functionality: mjsunit/fixed-context-shapes-when-recompiling.js Design document (chromium): https://docs.google.com/a/chromium.org/document/d/1rRv5JJZ0JpOZAZN2CSUwZPFJiBAdRnTiSYhazseNHFg/edit?usp=sharing BUG= Review-Url: https://codereview.chromium.org/2352593002 Cr-Commit-Position: refs/heads/master@{#39719}
-
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}
-
jgruber authored
BUG=v8:5415 Review-Url: https://codereview.chromium.org/2358133004 Cr-Commit-Position: refs/heads/master@{#39717}
-
mvstanton authored
Reverted for stability reasons. BUG=chromium:649967 TBR=jarin@chromium.org Review-Url: https://codereview.chromium.org/2366313002 Cr-Commit-Position: refs/heads/master@{#39716}
-
jarin authored
BUG=chromium:650215 Review-Url: https://codereview.chromium.org/2373453002 Cr-Commit-Position: refs/heads/master@{#39715}
-
mstarzinger authored
This adds handling of simplified ops without effect input to the escape status analysis. Such uses are treated as escaping for now until we add dedicated handling to the escape analysis reducer. R=bmeurer@chromium.org BUG=chromium:650170 Review-Url: https://codereview.chromium.org/2372533002 Cr-Commit-Position: refs/heads/master@{#39714}
-