- 15 May, 2013 1 commit
-
-
palfia@homejinni.com authored
Port r14658 (12c49bd) This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information. BUG= Review URL: https://codereview.chromium.org/15005008 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2013 17 commits
-
-
yurys@chromium.org authored
TBR=jkummerow@chromium.org BUG=v8:2628 Review URL: https://codereview.chromium.org/15133007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where stack frame doesn't exist and completely ignore such samples. This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness. BUG=v8:2628 R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14253015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
Ideally this would have been implemented via desugaring at parse-time, but yield* is an expression, and its desugaring includes statements like while and try/catch. We'd have to have BlockExpression in the AST to support that, and it's not worth it for this feature. So instead we implement all of the logic in FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a try handler index, for the try/catch. Otherwise the implementation is straightforward. R=rossberg@chromium.org BUG=v8:2355 TEST=mjsunit/harmony/generators-iteration Review URL: https://codereview.chromium.org/14582007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
Ideally this would have been implemented via desugaring at parse-time, but yield* is an expression, and its desugaring includes statements like while and try/catch. We'd have to have BlockExpression in the AST to support that, and it's not worth it for this feature. So instead we implement all of the logic in FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a try handler index, for the try/catch. Otherwise the implementation is straightforward. R=mstarzinger@chromium.org BUG=v8:2355 TEST=mjsunit/harmony/generators-iteration git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters without an enclosing frame. This corrupted stackwalking. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/14813029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/15162002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
Improve dead code elimination by transitively marking live code and removing all dead code. Replace unreachable phi removal algorithm with the new dead code elimination pass, which is more thorough. Review URL: https://codereview.chromium.org/14676011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14971005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
They are a non-standard extension (probably in C1X, IIRC), but clang is unhappy with them when -Wnested-anon-types is enabled, which seems to be implied by -pedantic. With this change and the previous fix for clang, we are now -Werror clean, even on clang 3.3. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/14850016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14738009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
With static linkage, clang 3.3 is unhappy about unused functions template <> inline bool Is<JSFunction>(Object* obj) template <> inline bool Is<JSArray>(Object* obj) in any compilation unit apart from acessors.cc. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/14836014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/15159002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
BinaryOpStub::GenerateSmiStub() on 32bit would erroneously patch the IC in case of a gc requirement. Brought the behavior into line with ARM and x64. Also some cleanup to label names. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/15102006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r14650 (d045fbd3) BUG= Review URL: https://codereview.chromium.org/15035007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r14630 (124d01e7) Original commit message: Improves NavierStokes by about 5% BUG= Review URL: https://codereview.chromium.org/14762012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2013 13 commits
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14604007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
R=mstarzinger@chromium.org BUG=v8:2681 TEST=mjsunit/regress/regress-2681 Review URL: https://codereview.chromium.org/14731023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14927014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/15059009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=svenpanne@chomium.org BUG= Review URL: https://codereview.chromium.org/15129002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Previously, HDiv never had its CanOverflow flag cleared and HMod had inverted logic (compared to HAdd, HSub and HMul). Minor cleanups on the way. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14617015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14978005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:233737 Review URL: https://codereview.chromium.org/14978004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
To comply with c1visualizer syntax, the format for ranges and types has changed slightly. Furthermore, the format for phi uses has been changed a bit for more consistency, too. R=ulan@chromium.org Review URL: https://codereview.chromium.org/14882006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14978003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This makes sure that shared function infos that break the one-to-one mapping to code are marked as un-flushable. Otherwise enqueuing through the GC meta-data field in the code object doesn't work. R=rossberg@chromium.org TEST=cctest/test-api/Threading4 Review URL: https://codereview.chromium.org/14710015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Improves NavierStokes by about 5% R=ulan@chromium.org Review URL: https://codereview.chromium.org/15014020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
We have to check for overflow before attempting to do a modulo operation, otherwise Crankshaft itself segfaults on some platforms, e.g. ia32. Added tests even for division, where the problem doesn't show up, just to be sure... R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/14617014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 May, 2013 9 commits
-
-
palfia@homejinni.com authored
Port r14625 (bfb25ed8) BUG= Review URL: https://codereview.chromium.org/15102002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r14608 (339e0877) BUG= Review URL: https://codereview.chromium.org/14980008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/14707011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14996004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This will be relevant after Persistent is changed to Dispose itself when destructed. With Persistent::ClearAndLeak, Blink can take the ownership of the object pointed by a Persistent and avoid it getting destructed. BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/15023010 Patch from Marja Hölttä <marja@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/15.5.4.9_3 Review URL: https://codereview.chromium.org/14972015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/14838012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Casting NaN to int is unpredictable, on different architectures it produces different int value. TEST=test262/S15.4.4.10_A2.1_T2, test262/S15.4.4.10_A2.2_T2 BUG= Review URL: https://codereview.chromium.org/14812014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262 Review URL: https://codereview.chromium.org/14644015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-