mstarzinger
0ef9ce4ad8
Remove exorbitant duplication of DebuggerHasBreakpoints.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/804713006
Cr-Commit-Position: refs/heads/master@{#26145}
2015-01-19 16:51:52 +00:00
mstarzinger
6daecbd5ff
Allow --always-opt to go further into the pipeline (2).
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/855873002
Cr-Commit-Position: refs/heads/master@{#26131}
2015-01-19 12:35:19 +00:00
yangguo
db653e547c
Allow nested compile-script histogram scopes.
...
R=bmeurer@chromium.org
BUG=chromium:449959
LOG=N
Review URL: https://codereview.chromium.org/822823003
Cr-Commit-Position: refs/heads/master@{#26128}
2015-01-19 11:33:14 +00:00
mstarzinger
459c45db0a
Allow --always-opt to go further into the pipeline (1).
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/841213003
Cr-Commit-Position: refs/heads/master@{#26112}
2015-01-16 22:20:09 +00:00
yangguo
6586bd19fd
Introduce new compile histogram that includes parsing/caching.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/851953003
Cr-Commit-Position: refs/heads/master@{#26059}
2015-01-14 15:22:51 +00:00
Andy Wingo
79a8caec54
AbortOptimization, RetryOptimization preserve first bailout reason
...
The current logic appears to have been introduced in
https://codereview.chromium.org/596783002 .
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/836033005
Cr-Commit-Position: refs/heads/master@{#26043}
2015-01-13 14:37:09 +00:00
Ben Noordhuis
ad0069e8fe
compiler: enable optimizer for function literals
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/821553003
Patch from Ben Noordhuis <ben@strongloop.com>.
Cr-Commit-Position: refs/heads/master@{#25992}
2015-01-08 13:13:59 +00:00
Sven Panne
50b7ca5593
Improved --trace-opt output a bit.
...
This ensures that we always have a kind of "brace" around the actual compilation
with --trace-opt. Previously this was coupled to --trace-hydrogen for
Crankshaft, and there was no output at the start of the compilation for
TurboFan.
Removed redundant "[completed...]" output: Whenever the compilation was
successful, we have already printed "[optimizing...took...]".
Output total TurboFanning time with --trace-opt, too (basically as graph
building time, this is rather arbitrary).
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/819613002
Cr-Commit-Position: refs/heads/master@{#25900}
2014-12-19 11:47:27 +00:00
svenpanne
71bb00e261
Consistently use only one of virtual/OVERRIDE/FINAL.
...
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use
more than one of these. The Google C++ style guide even requires this, see
http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance .
While we're here, port r24662 to x87.
The net result is that v8 compiles again with a current clang.
BUG=v8:3753
LOG=y
Review URL: https://codereview.chromium.org/797943002
Cr-Commit-Position: refs/heads/master@{#25792}
2014-12-12 10:44:25 +00:00
jochen
aa0664e58f
Disable generating of code cache if the debugger is loaded
...
BUG=440880
R=yangguo@chromium.org ,dcarney@chromium.org,vogelheim@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/796823002
Cr-Commit-Position: refs/heads/master@{#25774}
2014-12-11 12:58:47 +00:00
mstarzinger
8acf387620
Make --no-turbo-types work on all paths through the pipeline.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/785933002
Cr-Commit-Position: refs/heads/master@{#25717}
2014-12-09 04:47:59 +00:00
dslomov
b4f3250712
Better message location for 'super(...)' restriction error.
...
R=arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/776563002
Cr-Commit-Position: refs/heads/master@{#25714}
2014-12-08 15:55:03 +00:00
dslomov
65aa17b9c3
harmony-classes: Implement 'super(...)' call syntactic restriction.
...
R=rossberg@chromium.org ,arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/766663003
Cr-Commit-Position: refs/heads/master@{#25555}
2014-11-28 04:08:58 +00:00
Michael Stanton
c142994f74
Flesh out vector ic state query and set mechanisms.
...
The IC system now fully integrates the vector concept and can
handle loads and keyed loads vector-based.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/754303003
Cr-Commit-Position: refs/heads/master@{#25552}
2014-11-27 16:36:40 +00:00
titzer
9da4998204
Abort optimization in corner case.
...
The %OptimizeFunctionOnNextCall sledgehammer can cause a function to be
marked for optimization before it's ever been compiled by fullcode.
This can lead to the situation where a function doesn't have optimization
disabled until we try to compile it optimized.
Basically, the assert should just handle this case more gracefully.
R=yangguo@chromium.org
BUG=436893
LOG=Y
Review URL: https://codereview.chromium.org/760063002
Cr-Commit-Position: refs/heads/master@{#25528}
2014-11-26 16:57:52 +00:00
yangguo
33853f73a7
Partially revert "Optimize function across closures."
...
BUG=chromium:434447
Review URL: https://codereview.chromium.org/755173002
Cr-Commit-Position: refs/heads/master@{#25500}
2014-11-25 13:22:04 +00:00
yangguo
7904576039
Refactor use of Isolate::use_crankshaft.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/755883003
Cr-Commit-Position: refs/heads/master@{#25499}
2014-11-25 12:48:06 +00:00
mstarzinger
7aad1d2e42
Revert "Remove deprecated ShouldSelfOptimize machinery."
...
This reverts commit 9da92c1a33
because of performance regressions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/752613002
Cr-Commit-Position: refs/heads/master@{#25467}
2014-11-21 17:28:38 +00:00
mstarzinger
9da92c1a33
Remove deprecated ShouldSelfOptimize machinery.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/582683002
Cr-Commit-Position: refs/heads/master@{#25459}
2014-11-21 11:23:52 +00:00
mstarzinger
bf11bf4758
Remove superflous SharedFunctionInfo::uses_super call.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/736383002
Cr-Commit-Position: refs/heads/master@{#25445}
2014-11-20 16:22:04 +00:00
yangguo
c64b47f552
When optimizing deserialized code, make sure IC state is preserved.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/737373003
Cr-Commit-Position: refs/heads/master@{#25444}
2014-11-20 16:20:56 +00:00
jochen
821736a674
Remove --clever-optimizations
...
We should always be clever
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/723023003
Cr-Commit-Position: refs/heads/master@{#25431}
2014-11-20 08:54:42 +00:00
yangguo
7e2ebd4c00
Reland "Soft fail for invalid cache data."
...
Review URL: https://codereview.chromium.org/733023003
Cr-Commit-Position: refs/heads/master@{#25378}
2014-11-17 12:16:40 +00:00
yangguo
6714365a30
Reland "Optimize function across closures." (again).
...
Review URL: https://codereview.chromium.org/707463002
Cr-Commit-Position: refs/heads/master@{#25367}
2014-11-17 08:43:00 +00:00
Michael Starzinger
20df102b20
Make TurboFan inlining work without deoptimization.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/726823002
Cr-Commit-Position: refs/heads/master@{#25354}
2014-11-14 10:34:51 +00:00
Andy Wingo
1503d0e78c
Move feedback slot allocation to post-pass
...
R=mvstanton@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/670953003
Cr-Commit-Position: refs/heads/master@{#25348}
2014-11-14 08:21:33 +00:00
Erik Arvidsson
04719195a2
Classes: Cleanup default constructor flag
...
Now that we keep track of whether a function contains super we do not
need kDefaultConstructorCallSuper
BUG=None
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/718833002
Cr-Commit-Position: refs/heads/master@{#25337}
2014-11-13 16:50:21 +00:00
Daniel Vogelheim
f83f10973e
Revert "Soft fail for invalid cache data."
...
This reverts commit eafce666f4
.
Original commit failed some tests w/ memory leaks.
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724053004
Cr-Commit-Position: refs/heads/master@{#25336}
2014-11-13 16:47:05 +00:00
Yang Guo
eafce666f4
Soft fail for invalid cache data.
...
API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/724023002
Cr-Commit-Position: refs/heads/master@{#25335}
2014-11-13 15:42:47 +00:00
Andy Wingo
910711a169
Move BailoutReason and flags computation to post-pass
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/668143003
Cr-Commit-Position: refs/heads/master@{#25321}
2014-11-13 09:57:56 +00:00
dslomov@chromium.org
0e2f7e3c35
Re-enable serialization under harmony-scoping.
...
R=yangguo@chromium.org
BUG=v8:3689
LOG=N
Review URL: https://codereview.chromium.org/717153002
Cr-Commit-Position: refs/heads/master@{#25294}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 13:12:50 +00:00
dslomov@chromium.org
02709e5891
Disable top level serialization under harmony_scoping. It has broken tests.
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/717143002
Cr-Commit-Position: refs/heads/master@{#25293}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 12:23:41 +00:00
dslomov@chromium.org
eacdfa0b7a
Various clean-ups after top-level lexical declarations are done.
...
1. Global{Context,Scope}=>Script{Context,Scope}
2. Enable fixed tests
3. Update comments
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716833002
Cr-Commit-Position: refs/heads/master@{#25291}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 11:35:18 +00:00
yangguo@chromium.org
6de28b2be1
Revert "Reland "Optimize function across closures.""
...
This reverts commit r25142.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/702853002
Cr-Commit-Position: refs/heads/master@{#25145}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:37:42 +00:00
yangguo@chromium.org
1cdf4e9308
Reland "Optimize function across closures."
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/703603003
Cr-Commit-Position: refs/heads/master@{#25142}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-05 11:12:41 +00:00
yangguo@chromium.org
c66a3f95ae
Revert "Optimize function across closures."
...
This reverts r25102.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/699143002
Cr-Commit-Position: refs/heads/master@{#25104}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 11:40:45 +00:00
yangguo@chromium.org
1d66934565
Optimize function across closures.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/699633002
Cr-Commit-Position: refs/heads/master@{#25102}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 11:06:44 +00:00
erikcorry@chromium.org
3d62e24c5f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=ulan@chromium.org , jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/687003005
Cr-Commit-Position: refs/heads/master@{#25083}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 17:24:22 +00:00
yangguo@chromium.org
ba1aef3fab
Do not compile with Turbofan if we cannot deopt for debugging.
...
R=jarin@chromium.org
BUG=v8:3660
LOG=N
Review URL: https://codereview.chromium.org/677843005
Cr-Commit-Position: refs/heads/master@{#25020}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:40:44 +00:00
yangguo@chromium.org
1c4f80836a
Eager compile for debugging when debug is active.
...
Scenario:
On reload, Devtools restores previously set break points. At this point,
since Devtools is already opened, all code is compiled with debug break
slots. No break points exist yet, so we would lazily compile inner
functions, even ones that cannot be compiled lazily without a context.
So when we use Debug::FindSharedFunctionInfoInScript to find the break
positions, those lazily compiled functions are skipped.
By eagerly compiling when debug is active, we make sure that whenever
Devtools is open, functions that cannot be compiled lazily without a
context are always compiled with its outer function.
R=ulan@chromium.org
BUG=chromium:424142
LOG=N
Review URL: https://codereview.chromium.org/683413003
Cr-Commit-Position: refs/heads/master@{#24971}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:28:44 +00:00
wingo@igalia.com
d518d3bce7
Move AST node counting to post-pass
...
R=mstarzinger@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/683023002
Cr-Commit-Position: refs/heads/master@{#24937}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:24:18 +00:00
yangguo@chromium.org
0dfbf83468
Use shared function info for eval cache key.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/678843004
Cr-Commit-Position: refs/heads/master@{#24927}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 10:01:44 +00:00
wingo@igalia.com
0755160e28
Revert "Move AST node counting to post-pass"
...
This reverts commit 698356720824559a6bd81c24be707b44ac277526 for
breaking regress-96526-002 among other things.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/678033002
Cr-Commit-Position: refs/heads/master@{#24910}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 16:25:40 +00:00
wingo@igalia.com
88e0c38c9a
Move AST node counting to post-pass
...
R=mstarzinger@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/675493002
Cr-Commit-Position: refs/heads/master@{#24909}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 15:00:43 +00:00
erikcorry@chromium.org
716648065a
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'
...
Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/677403002
Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:03:39 +00:00
erikcorry@chromium.org
891e289d0f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=jochen@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/649563006
Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 11:05:11 +00:00
jarin@chromium.org
23df66ee24
Add more missing deopts
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/639883002
Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-26 10:25:48 +00:00
yangguo@chromium.org
601b776e7e
Use hash map to look for objects in the root array when serializing.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/645533003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:43:17 +00:00
wingo@igalia.com
4eddbacabf
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
This is a re-land of https://codereview.chromium.org/636403003/ with a
fix for the arm64 code generator.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:16:37 +00:00
svenpanne@chromium.org
d66d302b00
Revert "Assign bailout and type feedback IDs in a post-pass"
...
This reverts r24757, which breaks the ARM64 simulator build.
Simple repro:
out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/652543006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:55:12 +00:00