rossberg@chromium.org [Tue, 19 Jun 2012 13:44:07 +0000 (13:44 +0000)]
Fix crash bug in Hydrogen occurring with empty prototype chain.
(Thanks for diagnosing this.)
R=vegorov@chromium.org
BUG=115100
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10576013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11861
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 19 Jun 2012 13:16:39 +0000 (13:16 +0000)]
Fixing ClearNonLiveTransition bug in combination with AccessorPairs.
BUG=133211
TEST=test/mjsunit/regress/regress-133211b.js
Review URL: https://chromiumcodereview.appspot.com/
10575018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11860
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 19 Jun 2012 12:54:24 +0000 (12:54 +0000)]
Fix check in r11850 for nosse2 and novfp3 machines.
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/
10573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11859
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 19 Jun 2012 11:41:50 +0000 (11:41 +0000)]
Teach grokdump to print oddball kind when ToString content is not available
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10559063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11856
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 19 Jun 2012 11:25:49 +0000 (11:25 +0000)]
Correctly resolve local var shadowing a context-allocated var in debugger.
R=ulan@chromium.org
BUG=131994
TEST=regress/regress-131994.js
Review URL: https://chromiumcodereview.appspot.com/
10585002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11855
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 19 Jun 2012 10:58:15 +0000 (10:58 +0000)]
Make sure we don't leak map transitions from AccessorPairs to the Javascript world.
BUG=133211
TEST=test/mjsunit/regress/regress-133211.js
Review URL: https://chromiumcodereview.appspot.com/
10559062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11854
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 18 Jun 2012 14:21:29 +0000 (14:21 +0000)]
Fix handling of numbers in SameValue method.
R=vegorov@chromium.org
BUG=v8:2186
TEST=mjsunit/regress/regress-2186
Review URL: https://chromiumcodereview.appspot.com/
10532198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11853
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Jun 2012 13:39:24 +0000 (13:39 +0000)]
Print correct line number for Error thrown inside eval.
R=rossberg@chromium.org
BUG=v8:1914
TEST=eval-stack-trace.js
Review URL: https://chromiumcodereview.appspot.com/
10565002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11851
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 18 Jun 2012 13:26:43 +0000 (13:26 +0000)]
Fix optimized code caching in FastNewClosureStub.
This fixes a corner-case on ARM and MIPS where optimized code was not
shared immediately across closures when a function was used in several
global contexts at once.
R=ulan@chromium.org
TEST=cctest/test-compiler/OptimizedCodeSharing
Review URL: https://chromiumcodereview.appspot.com/
10544205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11850
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 18 Jun 2012 12:56:49 +0000 (12:56 +0000)]
Remove default from switch.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10555026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11849
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 18 Jun 2012 12:54:10 +0000 (12:54 +0000)]
MIPS: Share optimized code for closures.
Port r11817 (
616dfcf0)
Original commit message:
Each SharedFunctionInfo gets an optimized code map to store
one optimized code object per context. When allocating a new
closure we consult this map and check if there is optimized code
that can be shared.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10557002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11848
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Mon, 18 Jun 2012 12:48:21 +0000 (12:48 +0000)]
Fix MSVC warnings about missing operator delete.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10556038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11847
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 18 Jun 2012 12:42:46 +0000 (12:42 +0000)]
Removing superfluous IsSmi check from DescriptorArray::IsEmpty.
DescriptorArray::IsEmpty is never called with a Smi.
Review URL: https://chromiumcodereview.appspot.com/
10555024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11846
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 18 Jun 2012 11:59:02 +0000 (11:59 +0000)]
Reimplemented HGraph::Postorder and HGraph::PostorderLoopBlocks iteratively to avoid stack overflows.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10543138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11843
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 18 Jun 2012 11:43:09 +0000 (11:43 +0000)]
Implementing weak referencing elements transition maps.
Review URL: https://chromiumcodereview.appspot.com/
10559032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11842
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 18 Jun 2012 11:16:02 +0000 (11:16 +0000)]
Fixing bugs in promotion of elements transitions (r1175).
- Fixed invalid memory access when reading enum-cache from descriptor array with elements transitions but 0 real descriptors.
- Fixed infinite recursion in the intrusive map iterator when visiting elements transitions.
- Properly cached non-fastmode elements transitions.
Review URL: https://chromiumcodereview.appspot.com/
10565030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11841
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 18 Jun 2012 10:51:23 +0000 (10:51 +0000)]
MIPS: Fix packed-element.js test on ARM with no snap
Port r11826 (
5be3568a)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10559002
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11840
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Mon, 18 Jun 2012 09:23:05 +0000 (09:23 +0000)]
Avoid arbitrarily deep recursion in Array.sort.
BUG=v8:2185
Review URL: http://codereview.chromium.org/
10561017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11839
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 18 Jun 2012 08:28:32 +0000 (08:28 +0000)]
Remove unused-but-set variable from objects.cc.
This fixes compilation with newer GCCs.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/
10568006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11838
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sat, 16 Jun 2012 21:40:35 +0000 (21:40 +0000)]
Fix for Issue 915
Review URL: https://chromiumcodereview.appspot.com/
10332101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11837
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 15 Jun 2012 16:52:03 +0000 (16:52 +0000)]
Support 'restart call frame' debug command
Review URL: https://chromiumcodereview.appspot.com/
10544151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11836
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 15 Jun 2012 13:48:54 +0000 (13:48 +0000)]
Unify promotion and allocation limit computation.
BUG=129628
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10552002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11835
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 15 Jun 2012 13:34:39 +0000 (13:34 +0000)]
Fix external exceptions in external try-catch handlers.
This tries to propagate exceptions which are externally thrown into
external try-catch handlers before scheduling them. This also allows
embedders to nest external try-catch handlers.
R=rossberg@chromium.org
BUG=v8:2166
TEST=cctest/test-api/TryCatchNested
Review URL: https://chromiumcodereview.appspot.com/
10555004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11834
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 15 Jun 2012 11:53:09 +0000 (11:53 +0000)]
Revert part of 11727 as it sometimes tanked V8 benchmark (raytrace) performance
for reasons that are not obvious. Now we make objects into fast-case objects
when they are made prototypes for other objects, but we do not mark objects
that are already fast case with a bit that helps keep them in fast case.
Review URL: https://chromiumcodereview.appspot.com/
10556004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11831
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 15 Jun 2012 10:36:45 +0000 (10:36 +0000)]
Fix list traversal of optimized functions in deoptimizer.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10546179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11829
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 15 Jun 2012 09:15:57 +0000 (09:15 +0000)]
Fix packed-element.js test on ARM with no snap
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10546171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11826
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 17:06:16 +0000 (17:06 +0000)]
Unbreak interpreted regexp.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10535164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11825
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 14 Jun 2012 15:33:15 +0000 (15:33 +0000)]
Reset the path tracer completely, and check whether an object has source code before trying to print
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9749008
Patch from Jochen Eisigner <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11822
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 15:04:27 +0000 (15:04 +0000)]
Check for valid PC when stepping in the ARM sim debugger.
BUG=v8:2134
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10546169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11821
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 14 Jun 2012 14:37:10 +0000 (14:37 +0000)]
ES5.2 var semantics: take hidden prototypes into account.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10546166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11818
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 14 Jun 2012 14:06:22 +0000 (14:06 +0000)]
Share optimized code for closures.
Each SharedFunctionInfo gets an optimized code map to store
one optimized code object per context. When allocating a new
closure we consult this map and check if there is optimized code
that can be shared.
This patch is based on an original patch
by Anton Muhin (http://codereview.chromium.org/6793013/).
BUG=v8:2087, v8:2094
TEST=test/mjsunit/compiler/optimized-closures.js
Review URL: https://chromiumcodereview.appspot.com/
10103035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11817
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 13:59:48 +0000 (13:59 +0000)]
Add missing string length check in regexp engine.
R=erik.corry@gmail.com
BUG=v8:2172
TEST=regress-2172.js
Review URL: https://chromiumcodereview.appspot.com/
10536170
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11816
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Jun 2012 13:54:23 +0000 (13:54 +0000)]
Fix assertion for map code cache of shared maps.
R=danno@chromium.org
TEST=mjsunit/compare-known-objects-slow
Review URL: https://chromiumcodereview.appspot.com/
10548046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11815
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 14 Jun 2012 13:52:58 +0000 (13:52 +0000)]
Increase old space in cctest/test-api/HugeConsStringOutOfMemory test.
This test is failing on MIPS since r11715 (
a7d6f92c),
it seems that after the modifications in bootstrapper.cc,
this test runs out of old generation space on MIPS.
TEST=cctest/test-api/HugeConsStringOutOfMemory
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10533148
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11814
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 14 Jun 2012 12:21:05 +0000 (12:21 +0000)]
Workaround for: Chrome dev tools crashes when taking a heap snapshot of Docs offline shared worker.
BUG=132727
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10543160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11813
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 11:16:47 +0000 (11:16 +0000)]
ARM: Fix literal pool handling for breakpoints in debugger.
BUG=2177
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10449047
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11812
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 14 Jun 2012 08:57:34 +0000 (08:57 +0000)]
Fix Kraken regression due to optimistic monomorphic element transitions
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10539141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11807
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 08:42:40 +0000 (08:42 +0000)]
Fix lint.
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10546163
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11806
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Jun 2012 08:01:05 +0000 (08:01 +0000)]
Introduce regexp=interpreted to GYP to enable building with interpreted regexp engine.
This option existis for scons. It does not compile yet since there are some broken stuff yet to be fixed.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10544138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11805
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Jun 2012 15:02:05 +0000 (15:02 +0000)]
Ensure removing processed command line arguments.
BUG="d8 --crankshaft --expose-debug-as" crashes
TEST=test-flags/FlagsRemoveIncomplete
Review URL: https://chromiumcodereview.appspot.com/
10534137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11803
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Jun 2012 14:07:50 +0000 (14:07 +0000)]
Remove faster ticks for debug mode.
This solves the problem that code runs very slow when the debugger is enabled.
BUG=v8:2179
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10544135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11802
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 13 Jun 2012 13:48:18 +0000 (13:48 +0000)]
postmortem: fix postmortem build
This is a commit of https://chromiumcodereview.appspot.com/
10539132/ for Fedor Indutny.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11801
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Jun 2012 11:58:18 +0000 (11:58 +0000)]
Fix performance regression caused by r11202.
R=erik.corry@gmail.com
BUG=v8:2156,v8:2034
TEST=mjsunit/regress/regress-2156,mjsunit/regress/regress-2034
Review URL: https://chromiumcodereview.appspot.com/
10539131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11800
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 13 Jun 2012 11:49:26 +0000 (11:49 +0000)]
Prepare push to trunk. Now working on version 3.12.0.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10532124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11797
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Jun 2012 11:26:34 +0000 (11:26 +0000)]
Revert r11782, r11783 and r11790 due to Webkit failures.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10536142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11796
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexeif@chromium.org [Wed, 13 Jun 2012 11:23:16 +0000 (11:23 +0000)]
Fix failing STATIC_CHECK on Windows.
Review URL: https://chromiumcodereview.appspot.com/
10543135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11795
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 13 Jun 2012 11:09:28 +0000 (11:09 +0000)]
MIPS: Add negative lookups to polymorphic loads in Crankshaft.
This is a commit of https://chromiumcodereview.appspot.com/
10536130/ for Akos Palfi.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11794
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexeif@chromium.org [Wed, 13 Jun 2012 11:02:24 +0000 (11:02 +0000)]
Implement heap profiler memory usage reporting.
Review URL: https://chromiumcodereview.appspot.com/
10535096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11793
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Wed, 13 Jun 2012 09:54:34 +0000 (09:54 +0000)]
Fix r11780 to avoid bugs where near branches are used to labels that are out of range.
Review URL: http://codereview.chromium.org/
10542137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11792
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 13 Jun 2012 09:10:37 +0000 (09:10 +0000)]
Return an error when parsing invalid dates where a number immediately follows a word.
BUG=53209,126448
TEST=mjsunit/date-parse.js
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10541138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11791
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Jun 2012 09:10:16 +0000 (09:10 +0000)]
Adapt pre-parser heuristics for lazy compilation.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10540120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11790
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 13 Jun 2012 07:55:53 +0000 (07:55 +0000)]
MIPS: Eliminate redundant smi checks
Port r11774 (
28c45b9b)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10536128
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11789
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Jun 2012 07:17:37 +0000 (07:17 +0000)]
Fix GCC 4.6 build.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10541137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11788
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 13 Jun 2012 06:42:30 +0000 (06:42 +0000)]
MIPS: Small fix for r11771 (
1b74d45b).
TEST=mjsunit/object-define-property.js
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10535138
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11787
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 12 Jun 2012 22:34:13 +0000 (22:34 +0000)]
Revert r11778 "Activate packed array optimizations by default" due to mjsunit test failures on ARM.
TBR=danno
Review URL: https://chromiumcodereview.appspot.com/
10550002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11786
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Jun 2012 17:26:28 +0000 (17:26 +0000)]
Martyn Capewell <m.m.capewell@googlemail.com>
Review URL: https://chromiumcodereview.appspot.com/
10451037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11784
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Jun 2012 16:53:15 +0000 (16:53 +0000)]
Fix failing assertion in r11782.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10548004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11783
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Jun 2012 15:57:50 +0000 (15:57 +0000)]
Enable lazy compilation for non-trivial outer contexts.
This changes the compiler to be more aggressive about lazy compilation
of closures with non-trivial outer context. Compilation can only be
triggered with a valid outer context now. One exception is the debugger,
which can request compilation of arbitrary shared code, but it ensures
to trigger compilation only at points where no context is needed.
R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested
Review URL: https://chromiumcodereview.appspot.com/
10538102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11782
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 12 Jun 2012 15:45:08 +0000 (15:45 +0000)]
Force inlining of some hot functions (problem reported by Bert Belder).
Review URL: https://chromiumcodereview.appspot.com/
10546122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11781
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Tue, 12 Jun 2012 15:44:12 +0000 (15:44 +0000)]
Add negative lookups to polymorphic loads in Crankshaft.
Review URL: http://codereview.chromium.org/
10539110
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11780
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 12 Jun 2012 15:38:57 +0000 (15:38 +0000)]
Activate packed array optimizations by default
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10546123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11778
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 12 Jun 2012 15:30:16 +0000 (15:30 +0000)]
Optimization of some packed array cases.
R=jkummerow@chromium.org
TEST=slight improvement in 3d-morph
Review URL: https://chromiumcodereview.appspot.com/
10538104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11777
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Jun 2012 15:23:36 +0000 (15:23 +0000)]
Temporarily disable debugger test on ARM.
R=yangguo@chromium.org
BUG=v8:2177
TEST=mjsunit/debug-liveedit-breakpoints
Review URL: https://chromiumcodereview.appspot.com/
10543112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11776
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Jun 2012 15:22:21 +0000 (15:22 +0000)]
Disable array bounds checks elimination by default.
BUG=132114
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10532107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11775
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 12 Jun 2012 12:16:19 +0000 (12:16 +0000)]
Eliminate redundant smi checks
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10543094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11774
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 12 Jun 2012 10:30:51 +0000 (10:30 +0000)]
Fix arm build.
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10543108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11773
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 12 Jun 2012 10:22:33 +0000 (10:22 +0000)]
Reimplement dynamic frame alignment for frames that are compiled via OSR or have more than 2 double spill slots.
The first spill slot is now reserved on all optimized frames to distinguish frames that were aligned.
Review URL: https://chromiumcodereview.appspot.com/
10532066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11772
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Jun 2012 09:32:17 +0000 (09:32 +0000)]
Implemented StoreIC for setters.
Review URL: https://chromiumcodereview.appspot.com/
10534091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11771
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Jun 2012 06:47:29 +0000 (06:47 +0000)]
Presubmit fix.
TBR=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10539102
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11770
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Jun 2012 06:43:13 +0000 (06:43 +0000)]
MIPS: Remove TLS access for current Zone.
Port r11761 (
769624bf)
Original commit message:
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10537108
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11769
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Jun 2012 06:15:59 +0000 (06:15 +0000)]
MIPS: Reland r11753: Fix try..finally.
Port r11762 (
4fdbdd7a)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10545121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11768
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Jun 2012 06:13:14 +0000 (06:13 +0000)]
Port r11704 to MIPS.
BUG=2174
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/
10538080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11767
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 11 Jun 2012 16:57:27 +0000 (16:57 +0000)]
Reland r11425 "Re-enable optimization for hot functions that have optimization disabled due to many deopts."
Fix performance regressions introduced in r11425 by
- counting number of function deoptimizations instead of function optimizations,
- packing several counters into one field of shared function info.
BUG=v8:2040,121196
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10534063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11766
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Mon, 11 Jun 2012 16:47:08 +0000 (16:47 +0000)]
AssemblerBase does not need remember a Zone. Fix this.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10546095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11765
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Jun 2012 13:18:05 +0000 (13:18 +0000)]
Reland r11753: Fix try..finally.
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage, mjsunit/try-finally-continue.js
Review URL: https://chromiumcodereview.appspot.com/
10540095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11762
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Mon, 11 Jun 2012 12:42:31 +0000 (12:42 +0000)]
Remove TLS access for current Zone.
By passing around a Zone object explicitly we no longer need to do a
TLS access at the sites that allocate memory from the current Zone.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10534006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11761
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Mon, 11 Jun 2012 12:32:14 +0000 (12:32 +0000)]
Fix lint.
Review URL: http://codereview.chromium.org/
10542100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11758
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 11 Jun 2012 12:24:00 +0000 (12:24 +0000)]
Clean up some minor stuff in test expectation files
Review URL: https://chromiumcodereview.appspot.com/
10545082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11757
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 11 Jun 2012 11:25:10 +0000 (11:25 +0000)]
Add guard against self assignment.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10537024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11756
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Jun 2012 11:21:21 +0000 (11:21 +0000)]
Revert r11753.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10546092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11755
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erikcorry [Mon, 11 Jun 2012 11:18:04 +0000 (11:18 +0000)]
Fix optimization of Unicode regexp with ASCII subject to respect repeat counts.
bug=131923
Review URL: http://codereview.chromium.org/
10544093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11754
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Jun 2012 10:51:09 +0000 (10:51 +0000)]
Preserve error message during finally block in try..finally.
R=ulan@chromium.org
BUG=129171
TEST=test-api/TryFinallyMessage
Review URL: https://chromiumcodereview.appspot.com/
10537078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11753
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Jun 2012 08:41:48 +0000 (08:41 +0000)]
Fix EnsureCanContainElements to properly handle double values.
R=jkummerow@chromium.org
BUG=v8:2170
TEST=test/mjsunit/regress/regress-2170.js
Review URL: https://chromiumcodereview.appspot.com/
10542084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11751
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 11 Jun 2012 06:59:56 +0000 (06:59 +0000)]
Promoting elements transitions to their own field.
This is a first step towards separating all transitions from the property descriptions. If we link the property descriptions from the transition object, this will in allow the descriptor array (property descriptions) to become immutable.
Review URL: https://chromiumcodereview.appspot.com/
10444055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11750
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 8 Jun 2012 14:47:12 +0000 (14:47 +0000)]
Remove --crankshaft flag from the test infrastructure.
It has outlived its usefulness as Crankshaft is on by default anyway.
Review URL: https://chromiumcodereview.appspot.com/
10539062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11749
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 8 Jun 2012 13:21:40 +0000 (13:21 +0000)]
Adjust Android heap sizes.
This improves performance on heavy pages by increasing
max_executable_size_ and max_old_generation_size_.
There is now no need for an Android specific LUMP_OF_MEMORY.
Review URL: https://chromiumcodereview.appspot.com/
10541053
Patch from Ben Murdoch <benm@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11740
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 8 Jun 2012 13:06:24 +0000 (13:06 +0000)]
Optimistically assume that elements IC only transition once.
Thanks to Zheng Liu for identifying this issue.
R=jkummerow@chromium.org
BUG=v8:2141
TEST=test/mjsunit/elements-kind.js
Review URL: https://chromiumcodereview.appspot.com/
10532063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11739
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Jun 2012 12:53:20 +0000 (12:53 +0000)]
Make clang/GCMole happy.
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10532065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 8 Jun 2012 09:21:23 +0000 (09:21 +0000)]
Improve representation inference
- Extend HValue interface to allow splitting observed input representation (comming from type feedback) from required input representation (dictated by instruction itself). Currently all instructions except for bitwise binary operations have this representations match. For bitwise binary operations hydrogen builder unconditionaly forces Integer32 representation for those operations that have Double type feedback. Thus causing representation inference to incorrectly count such uses as Integer32 instead of Double. This change also prepares for more fine grained type feedback for inputs of binary operations.
- For phies that are not convertable to Integer32 discard direct and indirect use count of Integer32 type to avoid propagation of these uses to connected phies.
R=jkummerow@chromium.org
BUG=v8:2096
Review URL: https://chromiumcodereview.appspot.com/
10540049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Jun 2012 09:15:32 +0000 (09:15 +0000)]
Tentative fix for overly clever Mac compiler.
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10543074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11736
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Jun 2012 08:48:05 +0000 (08:48 +0000)]
Added LoadIC stub for getters.
Removed some dead constants on the way.
Review URL: https://chromiumcodereview.appspot.com/
10515008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11735
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Jun 2012 07:45:11 +0000 (07:45 +0000)]
Implement implicit instance checks for API accessors.
This allows to specify a constructor against which an implicit instance
check is performed for API accessors. If the receiver is incompatible,
an implicit TypeError is thrown and no callback is invoked.
R=svenpanne@chromium.org
BUG=v8:2075
TEST=cctest/test-api/InstanceCheckOn[*]
Review URL: https://chromiumcodereview.appspot.com/
10442129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11734
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 7 Jun 2012 20:12:50 +0000 (20:12 +0000)]
More tests for r11732 syntax based fast-mode heuristics.
Review URL: https://chromiumcodereview.appspot.com/
10539046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11733
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 7 Jun 2012 12:08:07 +0000 (12:08 +0000)]
Use the syntax of a property addition as a hint for controlling the fast-mode vs. dictionary mode heursitics on objects.
Review URL: https://chromiumcodereview.appspot.com/
10537050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Jun 2012 15:21:13 +0000 (15:21 +0000)]
Fix CompileFullCodeForDebugging to compile closure.
This compiles against a given closure instead of the shared function
info, which is a prerequisite for enabling lazy compilation of inner
functions within a closure with non-trivial context.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10543026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 6 Jun 2012 11:44:54 +0000 (11:44 +0000)]
Unbreak MIPS build after recent zone-related changes
Review URL: https://chromiumcodereview.appspot.com/
10533022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11730
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 6 Jun 2012 11:05:28 +0000 (11:05 +0000)]
Optimize write barrier of map-only elements transitions
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10544005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11729
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexeif@chromium.org [Wed, 6 Jun 2012 10:57:20 +0000 (10:57 +0000)]
Serialize edge counts instead of indexes in heap snapshot.
The serialized node structure currently holds an index
of its first containment edge in the edges array.
The index can be quite big (up to 7 digits for large snapshots).
The patch changes the serialization format to pass
node containment edge count instead. For most nodes the count
is just a single digit number.
This reduces serialized snapshot size and therefore its transfer time.
Review URL: https://chromiumcodereview.appspot.com/
10534008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11728
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 Jun 2012 10:17:26 +0000 (10:17 +0000)]
Keep track of which maps are associated with prototype objects so we can tune the fast-case vs. hash map heuristics accordingly.
This is a reland of r11681 https://chromiumcodereview.appspot.com/
10448011 , which was reverted because of layout test failures that were actually caused by the long-standing issue fixed in https://chromiumcodereview.appspot.com/
10515006 (r11706).
Review URL: https://chromiumcodereview.appspot.com/
10532021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Jun 2012 09:54:46 +0000 (09:54 +0000)]
Cleanup Runtime_SetCode and drop EnsureCompiled.
This change triggers compilation for a given closure instead of the
shared function info. It will allow for even more cases to be compiled
lazily.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10544025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00