- 14 May, 2013 12 commits
-
-
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 15 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
-
wingo@igalia.com authored
ES3 specified that functions created via Function() would have enumerable prototypes, unlike function literals. For this reason, V8 has always had two prototypes for functions: "function_map" for literals, and "function_instance_map" for "function instances": those functions created by Function(). However, since 2009 or so, both maps have been the same! Both have had writable, non-enumerable prototypes. Moreover, ES5 changed to specify that function instances would have non-enumerable prototypes. This patch removes the separate maps for function instances in sloppy and strict mode. R=mstarzinger@chromium.org TEST=mjsunit/function-prototype BUG= Review URL: https://codereview.chromium.org/14829005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/15059016 Patch from Marja Hölttä <marja@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Currently things only work because of a very fragile interaction between minus zero propagation and range analysis. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/14904008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=mvstanton@chromium.org Review URL: https://chromiumcodereview.appspot.com/15098002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Two tiny changes: * Some phases were missing an HPhase, which was added, so we can now see all phases in the visualizer output. * Consistently test commandline flags directly in the pipeline, making it clearer which parts are optional and which are not. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/15074005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=ulan@chromium.org BUG=chromium:160010 TEST=mjsunit/regress/regress-crbug-160010 Review URL: https://codereview.chromium.org/14908006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-