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
rossberg@chromium.org [Wed, 6 Jun 2012 09:26:22 +0000 (09:26 +0000)]
Prepare push to trunk. Now working on version 3.11.10.
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10542022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Jun 2012 08:37:34 +0000 (08:37 +0000)]
Fix assertion in the debug agent.
Patch by Chris Taylor <chris@gameclosure.com>.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10543018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 6 Jun 2012 07:50:22 +0000 (07:50 +0000)]
Remove CheckNotRegistersEqual regexp-masm function from all architectures. This is a commit of codereview.chromium.org/
10066009/ for Daniel Kalmar
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Jun 2012 17:41:59 +0000 (17:41 +0000)]
Correctly check length when allocating string.
R=jkummerow@chromium.org
BUG=
TEST=regress-regexp-overflow.js
Review URL: https://chromiumcodereview.appspot.com/
10538012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11720
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Jun 2012 16:56:53 +0000 (16:56 +0000)]
Remove one more case behind --es5_readonly flag.
Plus add a couple of assertions.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10535011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11719
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 5 Jun 2012 14:41:01 +0000 (14:41 +0000)]
Revert one line from r11715 because of a test failure on Windows.
TEST=mjsunit/harmony/proxies
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10532004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Jun 2012 13:47:56 +0000 (13:47 +0000)]
MIPS: Implement correct checking for inherited readonliness on assignment.
Port r11694 (
29aa05e9)
Original commit message:
Implement correct checking for inherited readonliness on assignment.
Removes 6 out of 8 of our remaining unintentional failures on test262.
Also fixes treatment of inherited setters added after the fact.
Specifically:
- In the runtime, when looking for setter callbacks in the prototype chain,
also look for read-only properties. If one is found, reject (exception in
strict mode). If a proxy is found, invoke proper trap.
Note: this folds in the CanPut function from the spec and avoids an extra
lookup over the prototype chain.
- In generated code for stores, insert a test for the maps from the prototype
chain, but only up to the object where the property already exists (which
may be the object itself).
In Hydrogen, if the found property is read-only or not cacheable (e.g. a
proxy), bail out; in a stub, generate an unconditional miss (to get an
exception in strict mode).
- Add test cases and adapt existing test expectations.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10539004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11717
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Jun 2012 13:38:32 +0000 (13:38 +0000)]
Temporarily hack test frameworks to use the temporary flag. :(
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10541004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11716
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 5 Jun 2012 13:15:35 +0000 (13:15 +0000)]
Replace SharedFunctionInfo::EnsureCompiled with JSFunction::CompileLazy where possible.
After we get rid of all SharedFunctionInfo::EnsureCompiled calls, it will be possible to remove the HasTrivialOuterContext() condition in Scope::AllowsLazyCompilation.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10542002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11715
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 5 Jun 2012 12:39:07 +0000 (12:39 +0000)]
Put inherited readonliness behind a flag,
since it currently breaks WebKit bindings massively.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10535007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11714
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 5 Jun 2012 11:36:57 +0000 (11:36 +0000)]
ClearNonLiveTransitions has to hold on to non-map values.
This ensures that we don't accidentally throw away getters and/or setters that are still needed. To make sure the bug gets triggered, we have to construct a situation where the map is on the live side of a live->non-live transition. This ensures that the map is passed to ClearNonLiveTransitions.
BUG=v8:2163
TEST=test/mjsunit/regress/regress-2163.js
Review URL: https://chromiumcodereview.appspot.com/
10535004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11713
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 5 Jun 2012 08:59:39 +0000 (08:59 +0000)]
Transform HGlobalValueNumberer::AnalyzeBlock from recursive into an iteraive loop keeping the traversal state in the zone instead of on the stack.
Fixed issue 129536.
BUG=129536
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10520004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11712
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Mon, 4 Jun 2012 14:42:58 +0000 (14:42 +0000)]
Progress towards making Zones independent of Isolates and Threads.
This CL changes some parts of the code to explicitly pass around a
Zone. Not passing in a zone is okay too (in fact most of v8 still
doesn't), but that may incur a TLS lookup.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10443114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 4 Jun 2012 13:56:10 +0000 (13:56 +0000)]
MIPS: Fix several bugs that cause crashes in soft-float mode.
TEST=cctest/RobustSubStringStub,cctest/test-api/Threading,cctest/test-api/ExternalFloatArray,cctest/test-api/ExternalDoubleArray,mjsunit/external-array,mjsunit/unicodelctest
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10446003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11708
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Jun 2012 12:38:59 +0000 (12:38 +0000)]
Remove temporary debug print from test wrapper.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10483005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11707
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 4 Jun 2012 12:07:46 +0000 (12:07 +0000)]
Fix bug in __proto__ assignment transition cache where we forget the next enumeration index resulting in wrong iteration order.
Review URL: https://chromiumcodereview.appspot.com/
10515006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 4 Jun 2012 09:01:37 +0000 (09:01 +0000)]
Fix deadlock when terminating debugger session.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10479009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11705
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 4 Jun 2012 08:49:17 +0000 (08:49 +0000)]
Remove unnecessary code for non-zero-length global regexps.
Also fixing a bug in the arm implementation.
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/
10383280
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11704
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 4 Jun 2012 07:20:11 +0000 (07:20 +0000)]
Merging ContentArray into DescriptorArray
Review URL: https://chromiumcodereview.appspot.com/
10412030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11703
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 1 Jun 2012 16:10:52 +0000 (16:10 +0000)]
Expose last seen heap object id via v8 public api.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10444137
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11702
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 1 Jun 2012 12:41:31 +0000 (12:41 +0000)]
Fix grokdump inspector search for invalid addresses.
R=ulan@chromium.org
TEST=tools/grokdump.py
Review URL: https://chromiumcodereview.appspot.com/
10467003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 12:28:15 +0000 (12:28 +0000)]
STATIC_ASSERT is not available in shared build.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10444136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 12:10:19 +0000 (12:10 +0000)]
Silence Windows warning.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10449108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11699
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 11:46:05 +0000 (11:46 +0000)]
Clean up d8 ArrayBuffer implementation and fix bug in readbuffer:
- Separate CreateExternalArrayBuffer function.
- Properly create buffers for arrays constructed with size argument only.
- Finalization of data array is tied to buffer object exclusively.
- Get rid of hidden buffer reference in array objects and size header in data.
- Use 'new' instead of 'malloc' in readbuffer.
- Test cases for additional array and buffer properties.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10459047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 11:31:54 +0000 (11:31 +0000)]
Adapt test expectations (fewer tests failing).
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10451108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 1 Jun 2012 11:28:52 +0000 (11:28 +0000)]
Limit work done analyzing regexps with very large fanout.
BUG=128821
Review URL: https://chromiumcodereview.appspot.com/
10448117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11696
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 11:09:09 +0000 (11:09 +0000)]
Fix merge issue.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10454115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 1 Jun 2012 10:51:36 +0000 (10:51 +0000)]
Implement correct checking for inherited readonliness on assignment.
Removes 6 out of 8 of our remaining unintentional failures on test262.
Also fixes treatment of inherited setters added after the fact.
Specifically:
- In the runtime, when looking for setter callbacks in the prototype chain,
also look for read-only properties. If one is found, reject (exception in
strict mode). If a proxy is found, invoke proper trap.
Note: this folds in the CanPut function from the spec and avoids an extra
lookup over the prototype chain.
- In generated code for stores, insert a test for the maps from the prototype
chain, but only up to the object where the property already exists (which
may be the object itself).
In Hydrogen, if the found property is read-only or not cacheable (e.g. a
proxy), bail out; in a stub, generate an unconditional miss (to get an
exception in strict mode).
- Add test cases and adapt existing test expectations.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10388047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 1 Jun 2012 09:12:01 +0000 (09:12 +0000)]
ClearNonLiveTransitions indepedent of ContentArray
Review URL: https://chromiumcodereview.appspot.com/
10387231
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11693
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 31 May 2012 13:22:56 +0000 (13:22 +0000)]
Prepare push to trunk. Now working on version 3.11.9.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10447114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00