- 13 Jul, 2015 1 commit
-
-
rmcilroy authored
Review URL: https://codereview.chromium.org/1221433021 Cr-Commit-Position: refs/heads/master@{#29604}
-
- 10 Jul, 2015 2 commits
-
-
bmeurer authored
EnumtSet has been deprecated for quite some time, and replaced with the more general and type safe base::Flags template class. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1229233002 Cr-Commit-Position: refs/heads/master@{#29564}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1213623020 Cr-Commit-Position: refs/heads/master@{#29562}
-
- 06 Jul, 2015 3 commits
-
-
bmeurer authored
[turbofan] Reland "Add new JSFrameSpecialization reducer." and "Perform OSR deconstruction early and remove type propagation.". We have to reland these two commits at once, because the first breaks some asm.js benchmarks without the second. The change was reverted because of bogus checks in the verifier, which will not work in the presence of OSR (and where hidden because of the type back propagation hack in OSR so far). Original messages are below: [turbofan] Add new JSFrameSpecialization reducer. The JSFrameSpecialization specializes an OSR graph to the current unoptimized frame on which we will perform the on-stack replacement. This is used for asm.js functions, where we cannot reuse the OSR code object anyway because of context specialization, and so we could as well specialize to the max instead. It works by replacing all OsrValues in the graph with their values in the JavaScriptFrame. The idea is that using this trick we get better performance without doing the unsound backpropagation of types to OsrValues later. This is the first step towards fixing OSR for TurboFan. [turbofan] Perform OSR deconstruction early and remove type propagation. This way we don't have to deal with dead pre-OSR code in the graph and risk optimizing the wrong code, especially we don't make optimistic assumptions in the dead code that leaks into the OSR code (i.e. deopt guards are in dead code, but the types propagate to OSR code via the OsrValue type back propagation). BUG=v8:4273 LOG=n R=jarin@chromium.org Review URL: https://codereview.chromium.org/1226673005 Cr-Commit-Position: refs/heads/master@{#29486}
-
machenbach authored
Also revert "[turbofan] Perform OSR deconstruction early and remove type propagation." This reverts commit b0a852e8. This reverts commit cdbb6c48. NOTRY=true NOTREECHECKS=true BUG=v8:4273 LOG=n TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1225743002 Cr-Commit-Position: refs/heads/master@{#29480}
-
bmeurer authored
The JSFrameSpecialization specializes an OSR graph to the current unoptimized frame on which we will perform the on-stack replacement. This is used for asm.js functions, where we cannot reuse the OSR code object anyway because of context specialization, and so we could as well specialize to the max instead. It works by replacing all OsrValues in the graph with their values in the JavaScriptFrame. The idea is that using this trick we get better performance without doing the unsound backpropagation of types to OsrValues later. This is the first step towards fixing OSR for TurboFan. R=jarin@chromium.org BUG=v8:4273 LOG=n Review URL: https://codereview.chromium.org/1225683004 Cr-Commit-Position: refs/heads/master@{#29476}
-
- 30 Jun, 2015 1 commit
-
-
yangguo authored
R=mvstanton@chromium.org BUG=v8:4132 LOG=N Review URL: https://codereview.chromium.org/1214953003 Cr-Commit-Position: refs/heads/master@{#29370}
-
- 29 Jun, 2015 1 commit
-
-
arv authored
This makes new.target work in [[Call]] and [[Construct]] of ordinary functions. We achieve this by introducing a new construct stub for functions that uses the new.target variable. The construct stub pushes the original constructor just above the receiver in the construct frame. BUG=v8:3887 LOG=N R=adamk@chromium.org, dslomov@chromium.org Review URL: https://codereview.chromium.org/1203813002 Cr-Commit-Position: refs/heads/master@{#29358}
-
- 26 Jun, 2015 3 commits
-
-
yangguo authored
Now that we keep tabs on shared function infos from a script, we can speed up finding shared function infos for debugging. However, in case we have to compile a function that cannot be lazily compiled without context, we fall back to the slow heap iteration. R=mstarzinger@chromium.org BUG=v8:4132,v8:4052 LOG=N Committed: https://crrev.com/cfe89a71a332ef9ed481c8210bc3ad6d2822034b Cr-Commit-Position: refs/heads/master@{#29296} Review URL: https://codereview.chromium.org/1206573004 Cr-Commit-Position: refs/heads/master@{#29327}
-
yangguo authored
Note that prior to having canonical shared function infos, this has been a source of duplicate shared function infos. R=bmeurer@chromium.org BUG=chromium:504787 LOG=N Review URL: https://codereview.chromium.org/1209383002 Cr-Commit-Position: refs/heads/master@{#29326}
-
mstarzinger authored
This allows context-independent code generated by TurboFan to be cached in the optimized code map and reused across native contexts. Note that currently this cache is still flushed at GC time. R=bmeurer@chromium.org,mvstanton@chromium.org TEST=cctest/test-compiler/OptimizedCodeSharing Review URL: https://codereview.chromium.org/1208013002 Cr-Commit-Position: refs/heads/master@{#29313}
-
- 25 Jun, 2015 6 commits
-
-
yangguo authored
BUG=v8:4132 LOG=N Review URL: https://codereview.chromium.org/1211803002 Cr-Commit-Position: refs/heads/master@{#29291}
-
yangguo authored
Revert of Reland "Keep a canonical list of shared function infos." (patchset #3 id:40001 of https://codereview.chromium.org/1211453002/) Reason for revert: proxies test failing https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/903/steps/Mjsunit/logs/proxies Original issue's description: > Reland "Keep a canonical list of shared function infos." > > This reverts commit 3164aa74. > > Committed: https://crrev.com/cacb646d80daa429f6915824a741f595db7d5044 > Cr-Commit-Position: refs/heads/master@{#29282} TBR=adamk@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1206263002 Cr-Commit-Position: refs/heads/master@{#29285}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1206803003 Cr-Commit-Position: refs/heads/master@{#29284}
-
yangguo authored
This reverts commit 3164aa74. Review URL: https://codereview.chromium.org/1211453002 Cr-Commit-Position: refs/heads/master@{#29282}
-
Michael Starzinger authored
This is one step torwards extracting an OptimizedCodeMap out from the SharedFunctionInfo in order to have a more flexible implementation. R=bmeurer@chromium.org, jarin@chromium.org Review URL: https://codereview.chromium.org/1205783003. Cr-Commit-Position: refs/heads/master@{#29278}
-
mstarzinger authored
This is one step torwards extracting an OptimizedCodeMap out from the SharedFunctionInfo in order to have a more flexible implementation. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1210523002 Cr-Commit-Position: refs/heads/master@{#29275}
-
- 24 Jun, 2015 1 commit
-
-
danno authored
- Thread Type::FunctionType through stubs and the TF pipeline. - Augment Typer to decorate parameter nodes with types from a Type::FunctionType associated with interface descriptors. - Factor interface descriptors into platform-specific and platform-independent components so that all descriptors share a common Type::FunctionType for all platforms. Review URL: https://codereview.chromium.org/1197703002 Cr-Commit-Position: refs/heads/master@{#29248}
-
- 23 Jun, 2015 1 commit
-
-
adamk authored
Speculative revert in the hopes of fixing serializer crashes seen in canary. This reverts commit c1669450, as well as followup change "Do not look for existing shared function info when compiling a new script." (commit 7c43967b). BUG=chromium:503552,v8:4132 TBR=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1207583002 Cr-Commit-Position: refs/heads/master@{#29241}
-
- 22 Jun, 2015 2 commits
-
-
yangguo authored
LOG=N BUG=chromium:502908 Review URL: https://codereview.chromium.org/1196223002 Cr-Commit-Position: refs/heads/master@{#29179}
-
mstarzinger authored
This fixes a terrible interaction of code flushing and the clearing of optimized code maps hanging off a SharedFunctionInfo. The following is what happened: 1) Incremental marking cleared map in SharedFunctionInfo s, however it was not enqueued as a flushing candidate because one JSFunction f1 still had optimized code. 2) Deoptimization of f1 made s eligible for code flushing. 3) Optimization of f2 added new entry to optimized code map of s. 4) The JSFunction f2 became unreachable and hence is never marked. 5) Incremental marking now visits f1, finds it eligible for flushing, also s is eligible for flushing, both are enqueued. 6) Marking finishes, code flusher clears f1 and s, but the optimized code map of s still contains an entry. 7) Boom! R=ulan@chromium.org,hpayer@chromium.org TEST=mjsunit/es6/generators-iteration BUG=v8:3803 LOG=N Review URL: https://codereview.chromium.org/1197713004 Cr-Commit-Position: refs/heads/master@{#29177}
-
- 19 Jun, 2015 2 commits
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1187563011 Cr-Commit-Position: refs/heads/master@{#29162}
-
yangguo authored
Each Script object now keeps a WeakFixedArray of SharedFunctionInfo objects created from this script. This way, when compiling a function, we do not create duplicate shared function info objects when recompiling with either compiler. This fixes a class of issues in the debugger, where we set break points on one shared function info, but functions from duplicate shared function infos are not affected. LOG=N BUG=v8:4132 Review URL: https://codereview.chromium.org/1183733006 Cr-Commit-Position: refs/heads/master@{#29151}
-
- 11 Jun, 2015 2 commits
-
-
bmeurer authored
Revert of [turbofan] Record the SharedFunctionInfo of ALL inlined functions. (patchset #2 id:20001 of https://codereview.chromium.org/1175953002/) Reason for revert: Breaks Windows debug. Original issue's description: > [turbofan] Record the SharedFunctionInfo of ALL inlined functions. > > Previously we only recorded the SharedFunctionInfo of inlined functions > that had at least one (lazy) deopt point left at code generation time. > > R=mstarzinger@chromium.org > > Committed: https://chromium.googlesource.com/v8/v8/+/ffa0b4007cd7de0cfd6d37079ef360e3beeb5686 TBR=mstarzinger@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1178683004 Cr-Commit-Position: refs/heads/master@{#28920}
-
Benedikt Meurer authored
Previously we only recorded the SharedFunctionInfo of inlined functions that had at least one (lazy) deopt point left at code generation time. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1175953002. Cr-Commit-Position: refs/heads/master@{#28919}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 21 May, 2015 2 commits
-
-
mstarzinger authored
This allows enabling TurboFan on a certain subset of language features in the AstNumberingVisitor. The heuristics of when to optimize remain unchanged, only the choice of which optimizing compiler to use changes. R=bmeurer@chromium.org BUG=v8:4131 LOG=N Review URL: https://codereview.chromium.org/1155503002 Cr-Commit-Position: refs/heads/master@{#28544}
-
bmeurer authored
Replace the --turbo-deoptimization flag with --turbo-asm-deoptimization and enable deoptimization for non-asm.js TurboFan code unconditionally. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1153483002 Cr-Commit-Position: refs/heads/master@{#28543}
-
- 20 May, 2015 2 commits
-
-
mstarzinger authored
This flag mostly duplicates SharedFunctionInfo::optimization_disabled and is only queried in places where the original is available. Remove the brittle and error-prone duplication. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1148043002 Cr-Commit-Position: refs/heads/master@{#28520}
-
danno authored
Review URL: https://codereview.chromium.org/1140743004 Cr-Commit-Position: refs/heads/master@{#28510}
-
- 19 May, 2015 3 commits
-
-
wingo authored
This reapplies https://codereview.chromium.org/1136073002, along with the followups: Remove Scope::scope_uses_this_ flag https://codereview.chromium.org/1128963005 and PPC: Resolve references to "this" the same way as normal variables https://codereview.chromium.org/1134073003 R=rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1136883006 Cr-Commit-Position: refs/heads/master@{#28458} Review URL: https://codereview.chromium.org/1140633003 Cr-Commit-Position: refs/heads/master@{#28484}
-
wingo authored
Revert of Reapply "Resolve references to "this" the same way as normal variables"" (patchset #2 id:20001 of https://codereview.chromium.org/1136883006/) Reason for revert: Something is deserializing "this" declarations as Variable::NORMAL and not Variable::THIS https://codereview.chromium.org/1136123010/ Original issue's description: > Reapply "Resolve references to "this" the same way as normal variables"" > > This reapplies https://codereview.chromium.org/1136073002, along with > the followups: > > Remove Scope::scope_uses_this_ flag > https://codereview.chromium.org/1128963005 > > and > > PPC: Resolve references to "this" the same way as normal variables > https://codereview.chromium.org/1134073003 > > R=yangguo@chromium.org, rossberg@chromium.org > LOG=N > BUG= > > Committed: https://crrev.com/1efc1e4f7a3d30d5225e9d5cb2585cad7cb17099 > Cr-Commit-Position: refs/heads/master@{#28458} TBR=rossberg@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1146733002 Cr-Commit-Position: refs/heads/master@{#28473}
-
horo authored
When the page is controlled by a ServiceWorker, the ServiceWorker can return an opaque (non-CORS cross origin) resource response. We need to treat the messages from such script resource as opaque. Committed: https://crrev.com/7a599c5e1242d3c5ab7515ee149623da90ae69ec Cr-Commit-Position: refs/heads/master@{#28445} Review URL: https://codereview.chromium.org/1140673002 Cr-Commit-Position: refs/heads/master@{#28459}
-
- 18 May, 2015 3 commits
-
-
wingo authored
This reapplies https://codereview.chromium.org/1136073002, along with the followups: Remove Scope::scope_uses_this_ flag https://codereview.chromium.org/1128963005 and PPC: Resolve references to "this" the same way as normal variables https://codereview.chromium.org/1134073003 R=yangguo@chromium.org, rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1136883006 Cr-Commit-Position: refs/heads/master@{#28458}
-
machenbach authored
Revert of [V8] Added Script::is_opaque flag for embedders (patchset #5 id:80001 of https://codereview.chromium.org/1140673002/) Reason for revert: [Sheriff] Breaks chromium win compilation: http://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Win/builds/96 Original issue's description: > [V8] Added Script::is_opaque flag for embedders > > When the page is controlled by a ServiceWorker, the ServiceWorker can return an opaque (non-CORS cross origin) resource response. > We need to treat the messages from such script resource as opaque. > > Committed: https://crrev.com/7a599c5e1242d3c5ab7515ee149623da90ae69ec > Cr-Commit-Position: refs/heads/master@{#28445} TBR=mkwst@chromium.org,jochen@chromium.org,yangguo@chromium.org,horo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1135343005 Cr-Commit-Position: refs/heads/master@{#28449}
-
horo authored
When the page is controlled by a ServiceWorker, the ServiceWorker can return an opaque (non-CORS cross origin) resource response. We need to treat the messages from such script resource as opaque. Review URL: https://codereview.chromium.org/1140673002 Cr-Commit-Position: refs/heads/master@{#28445}
-
- 13 May, 2015 1 commit
-
-
yangguo authored
... and the following two "PPC: Resolve references to "this" the same way as normal variables" "Remove Scope::scope_uses_this_ flag" R=hablich@chromium.org BUG=chromium:487289 LOG=N Review URL: https://codereview.chromium.org/1134003003 Cr-Commit-Position: refs/heads/master@{#28395}
-
- 11 May, 2015 2 commits
-
-
wingo authored
R=rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1128963005 Cr-Commit-Position: refs/heads/master@{#28343}
-
danno authored
This stub will be used as the basis of a Math.floor-specific CallIC to detect and track calls to floor that return -0. Along the way: - Create a TurboFanCodeStub super class from which the StringLength and MathRound TF stubs derive. - Fix the ugly hack that passes the first stub parameter as the "this" pointer in the the TF-compiled JS function. - Fix bugs in the ia32/x64 disassembler. Review URL: https://codereview.chromium.org/1137703002 Cr-Commit-Position: refs/heads/master@{#28339}
-
- 08 May, 2015 1 commit
-
-
mvstanton authored
TurboFan compilation was committing dependencies long before the optimized function made it's way into the optimized code list for the native context. The problem is that once the code pointer is out there in dependency arrays, it is eligible for deopt. But the deopt logic needs the code to be in the optimized code list to fully do it's job. BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/1136693003 Cr-Commit-Position: refs/heads/master@{#28312}
-