platform/upstream/v8.git
12 years agoDisallow inlining of functions containing array literals.
mstarzinger@chromium.org [Fri, 29 Jun 2012 16:39:40 +0000 (16:39 +0000)]
Disallow inlining of functions containing array literals.

This is disabled due to regressions in 3d-cube, but leaves the actual
code to allow inlining in place so it can easily be enabled again.

R=jkummerow@chromium.org
BUG=v8:1322

Review URL: https://chromiumcodereview.appspot.com/10690045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.7.
yangguo@chromium.org [Fri, 29 Jun 2012 15:15:20 +0000 (15:15 +0000)]
Prepare push to trunk.  Now working on version 3.12.7.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10695041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPut even more debug information on stack when aborting.
yangguo@chromium.org [Fri, 29 Jun 2012 15:11:16 +0000 (15:11 +0000)]
Put even more debug information on stack when aborting.

R=jkummerow@chromium.org
BUG=131642
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698048

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoExtend test for external arrays.
yangguo@chromium.org [Fri, 29 Jun 2012 15:06:36 +0000 (15:06 +0000)]
Extend test for external arrays.

R=rossberg@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10697033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix isolate build.
yangguo@chromium.org [Fri, 29 Jun 2012 09:15:52 +0000 (09:15 +0000)]
Fix isolate build.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10704038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCleanup hardfp ABI detection. This work was triggered by issue 2140.
yangguo@chromium.org [Fri, 29 Jun 2012 08:04:24 +0000 (08:04 +0000)]
Cleanup hardfp ABI detection. This work was triggered by issue 2140.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10713009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoARRAY_SIZE is not available on Linux-shared.
rossberg@chromium.org [Thu, 28 Jun 2012 16:40:16 +0000 (16:40 +0000)]
ARRAY_SIZE is not available on Linux-shared.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10718008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFurther extend TypedArray support in d8:
rossberg@chromium.org [Thu, 28 Jun 2012 16:29:53 +0000 (16:29 +0000)]
Further extend TypedArray support in d8:

- Add copy constructors.
- Add subarray methods.
- Make instanceof and constructor property work.
- Rename PixelArray to Uint8ClampedArray.

Also fix broken definition of assertInstanceof in MJSUnit test harness.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10558005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.6.
yangguo@chromium.org [Thu, 28 Jun 2012 15:03:51 +0000 (15:03 +0000)]
Prepare push to trunk.  Now working on version 3.12.6.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10710010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix lazy parsing heuristics to respect outer scope.
mstarzinger@chromium.org [Thu, 28 Jun 2012 14:56:28 +0000 (14:56 +0000)]
Fix lazy parsing heuristics to respect outer scope.

This makes sure that a function literal is only parsed lazily when the
outer scope actually allows lazy compilation. Otherwise compilation will
crash due to a missing function body.

R=ulan@chromium.org
BUG=chromium:135008
TEST=mjsunit/regress/regress-crbug-135008

Review URL: https://chromiumcodereview.appspot.com/10698032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllow using test-wrapper-gypbuild.py on Windows when no python interpreter is registered.
jkummerow@chromium.org [Thu, 28 Jun 2012 14:31:03 +0000 (14:31 +0000)]
Allow using test-wrapper-gypbuild.py on Windows when no python interpreter is registered.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10716004
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert 11939 'Add a CompilationHandleScope' since it breaks array-sort.js in Win32...
sanjoy@chromium.org [Thu, 28 Jun 2012 12:34:51 +0000 (12:34 +0000)]
Revert 11939 'Add a CompilationHandleScope' since it breaks array-sort.js in Win32 Release.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10698031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllow inlining of functions containing array literals.
mstarzinger@chromium.org [Wed, 27 Jun 2012 14:46:01 +0000 (14:46 +0000)]
Allow inlining of functions containing array literals.

R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

Review URL: https://chromiumcodereview.appspot.com/10689005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable the CHECK for near-jump displacement range in Release mode too.
jkummerow@chromium.org [Wed, 27 Jun 2012 12:33:39 +0000 (12:33 +0000)]
Enable the CHECK for near-jump displacement range in Release mode too.

If we're generating bad code anyway, we might as well crash immediately and at least get a proper backtrace.

Review URL: https://chromiumcodereview.appspot.com/10697004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllow inlining of functions containing RegExp literals.
mstarzinger@chromium.org [Wed, 27 Jun 2012 11:49:37 +0000 (11:49 +0000)]
Allow inlining of functions containing RegExp literals.

R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

Review URL: https://chromiumcodereview.appspot.com/10703005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd a second kind of HandleScope that ties the lifetime of Handles created in its...
sanjoy@chromium.org [Wed, 27 Jun 2012 11:47:47 +0000 (11:47 +0000)]
Add a second kind of HandleScope that ties the lifetime of Handles created in its scope to the lifetime of a given CompilationInfo.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10640012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.5.
jkummerow@chromium.org [Wed, 27 Jun 2012 11:09:17 +0000 (11:09 +0000)]
Prepare push to trunk.  Now working on version 3.12.5.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10704002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPort r11517 (not deopt Math.floor on negative input) to x64, sse2.
yangguo@chromium.org [Wed, 27 Jun 2012 07:27:28 +0000 (07:27 +0000)]
Port r11517 (not deopt Math.floor on negative input) to x64, sse2.

BUG=v8:873
TEST=math-floor-negative.js

Review URL: https://chromiumcodereview.appspot.com/10636057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove -fomit-frame-pointer flag from Release builds
jkummerow@chromium.org [Tue, 26 Jun 2012 15:31:27 +0000 (15:31 +0000)]
Remove -fomit-frame-pointer flag from Release builds

BUG=133723

Review URL: https://chromiumcodereview.appspot.com/10659030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable whole program optimization for WIN64 to make build-bot green.
ulan@chromium.org [Tue, 26 Jun 2012 15:27:12 +0000 (15:27 +0000)]
Enable whole program optimization for WIN64 to make build-bot green.

R=jkummerow@chromium.org
BUG=v8:2207

Review URL: https://chromiumcodereview.appspot.com/10636055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPort r7868 (constant masking) to x64.
yangguo@chromium.org [Tue, 26 Jun 2012 13:56:48 +0000 (13:56 +0000)]
Port r7868 (constant masking) to x64.

BUG=v8:1374
TEST=test-compiler/SplitConstantsInFullCompiler

Review URL: https://chromiumcodereview.appspot.com/10662045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoExpose more detailed memory statistics
mstarzinger@chromium.org [Tue, 26 Jun 2012 11:46:16 +0000 (11:46 +0000)]
Expose more detailed memory statistics

Expose allocated and used byte counters for the different spaces. The goal is
to monitor those values both on page cycles and via UMA

BUG=v8:2201
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10657022
Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix missing slot recording in transition compaction.
mstarzinger@chromium.org [Tue, 26 Jun 2012 11:25:28 +0000 (11:25 +0000)]
Fix missing slot recording in transition compaction.

R=verwaest@chromium.org
TEST=cctest/test-api/Threading2

Review URL: https://chromiumcodereview.appspot.com/10658033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Skip LiveEdit test on ARM.
yangguo@chromium.org [Tue, 26 Jun 2012 07:48:04 +0000 (07:48 +0000)]
MIPS: Skip LiveEdit test on ARM.

Port r11915 (4c749256)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10661049
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert 11927 "Fix liveedit heap traversal bug with write barrier"
peter.rybin@gmail.com [Mon, 25 Jun 2012 22:20:52 +0000 (22:20 +0000)]
Revert 11927 "Fix liveedit heap traversal bug with write barrier"

A test was broken by r11927

Review URL: https://chromiumcodereview.appspot.com/10667025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix liveedit heap traversal bug with write barrier
peter.rybin@gmail.com [Mon, 25 Jun 2012 21:43:50 +0000 (21:43 +0000)]
Fix liveedit heap traversal bug with write barrier

Review URL: https://chromiumcodereview.appspot.com/10639006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix failing test after r11924.
mstarzinger@chromium.org [Mon, 25 Jun 2012 13:57:52 +0000 (13:57 +0000)]
Fix failing test after r11924.

R=verwaest@chromium.org
BUG=chromium:132744
TEST=cctest/test-dictionary/ObjectHashTableCausesGC

Review URL: https://chromiumcodereview.appspot.com/10658016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUpdate heap test so it calls gc 6 times. This is necessary to avoid flakiness.
verwaest@chromium.org [Mon, 25 Jun 2012 13:55:36 +0000 (13:55 +0000)]
Update heap test so it calls gc 6 times. This is necessary to avoid flakiness.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10668022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix Harmony Maps and WeakMaps for undefined values.
mstarzinger@chromium.org [Mon, 25 Jun 2012 13:33:48 +0000 (13:33 +0000)]
Fix Harmony Maps and WeakMaps for undefined values.

R=rossberg@chromium.org
BUG=chromium:132744
TEST=mjsunit/harmony/collections

Review URL: https://chromiumcodereview.appspot.com/10658014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCorrectly throw reference error in strict mode with ICs disabled.
yangguo@chromium.org [Mon, 25 Jun 2012 13:28:11 +0000 (13:28 +0000)]
Correctly throw reference error in strict mode with ICs disabled.

R=jkummerow@chromium.org
BUG=v8:2119
TEST=regress/regress-2119.js

Review URL: https://chromiumcodereview.appspot.com/10659011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoIn-place shrinking of descriptor arrays with non-live transitions.
verwaest@chromium.org [Mon, 25 Jun 2012 13:10:54 +0000 (13:10 +0000)]
In-place shrinking of descriptor arrays with non-live transitions.
Instead of overwriting non-live transitions with NULL_DESCRIPTORs, we remove them from the array by compacting the array (shifting live values to the left) and in-place trimming the array. If the final descriptor array contains no live values (only contained transitions which are now all cleared), we move bit_field3 back from the descriptor array to the map. The descriptor array itself will be collected in the next GC.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10575032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUse correct size of objects in PrintShortHeapStatistics.
ulan@chromium.org [Mon, 25 Jun 2012 12:51:03 +0000 (12:51 +0000)]
Use correct size of objects in PrintShortHeapStatistics.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10579041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSeparate stub types from property types.
verwaest@chromium.org [Mon, 25 Jun 2012 11:35:23 +0000 (11:35 +0000)]
Separate stub types from property types.

Review URL: https://chromiumcodereview.appspot.com/10656018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.4.
ulan@chromium.org [Mon, 25 Jun 2012 09:45:51 +0000 (09:45 +0000)]
Prepare push to trunk.  Now working on version 3.12.4.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10668019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert r11835 'Unify promotion and allocation limit computation' due to V8 Splay...
ulan@chromium.org [Mon, 25 Jun 2012 09:14:47 +0000 (09:14 +0000)]
Revert r11835 'Unify promotion and allocation limit computation' due to V8 Splay performance regression on Mac.

R=mstarzinger@chromium.org
BUG=134183

Review URL: https://chromiumcodereview.appspot.com/10664013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSkip LiveEdit test on ARM.
yangguo@chromium.org [Mon, 25 Jun 2012 08:18:09 +0000 (08:18 +0000)]
Skip LiveEdit test on ARM.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10665021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCorrectly support several consecutive stack modifications.
peter.rybin@gmail.com [Fri, 22 Jun 2012 20:50:03 +0000 (20:50 +0000)]
Correctly support several consecutive stack modifications.

Review URL: https://chromiumcodereview.appspot.com/10637003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix sharing of literal boilerplates for optimized code.
mstarzinger@chromium.org [Fri, 22 Jun 2012 13:55:15 +0000 (13:55 +0000)]
Fix sharing of literal boilerplates for optimized code.

This makes sure the literal boilerplates array is correctly shared
together with optimized code when caching of optimized code is enabled.
It also enabled said caching by default again.

R=ulan@chromium.org
BUG=v8:2193
TEST=mjsunit/regress/regress-2193

Review URL: https://chromiumcodereview.appspot.com/10649008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.3.
yangguo@chromium.org [Fri, 22 Jun 2012 13:44:02 +0000 (13:44 +0000)]
Prepare push to trunk.  Now working on version 3.12.3.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10633027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake near-jump check more strict in LoadNamedFieldPolymorphic on ia32/x64
jkummerow@chromium.org [Fri, 22 Jun 2012 13:38:39 +0000 (13:38 +0000)]
Make near-jump check more strict in LoadNamedFieldPolymorphic on ia32/x64

BUG=134055

TEST=mjsunit/regress/regress-crbug-134055

Review URL: https://chromiumcodereview.appspot.com/10630027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSkip test for optimized code sharing if flag is disabled by default.
yangguo@chromium.org [Fri, 22 Jun 2012 12:47:11 +0000 (12:47 +0000)]
Skip test for optimized code sharing if flag is disabled by default.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10642019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDisable --cache-optimized-code by default.
yangguo@chromium.org [Fri, 22 Jun 2012 12:21:18 +0000 (12:21 +0000)]
Disable --cache-optimized-code by default.

R=mstarzinger@chromium.org
BUG=v8:2193
TEST=

Review URL: https://chromiumcodereview.appspot.com/10626015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix lazy sweeping heuristics to prevent old-space expansion.
mstarzinger@chromium.org [Fri, 22 Jun 2012 11:47:30 +0000 (11:47 +0000)]
Fix lazy sweeping heuristics to prevent old-space expansion.

This is a temporary fix to prevent excessive expansion of old-space
caused by inaccuracies in lazy sweeper advancing. We actually don't
intend to sweep any pages eagerly, but that requires further changes
to lazy sweeping.

R=ulan@chromium.org,erik.corry@gmail.com
BUG=v8:2194

Review URL: https://chromiumcodereview.appspot.com/10640002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix lint.
yangguo@chromium.org [Fri, 22 Jun 2012 10:11:19 +0000 (10:11 +0000)]
Fix lint.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10640018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoActually put debug information on stack when aborting.
yangguo@chromium.org [Fri, 22 Jun 2012 09:36:39 +0000 (09:36 +0000)]
Actually put debug information on stack when aborting.

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10627015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdapt fragmentation heuristics for over reserved pages.
mstarzinger@chromium.org [Fri, 22 Jun 2012 09:29:49 +0000 (09:29 +0000)]
Adapt fragmentation heuristics for over reserved pages.

This adapts the heuristics that detect fragmented pages to reduce memory
footprint for spaces with over reserved memory. This minimizes external
fragmentation caused by pages that cannot be released to the OS because
of just a few live objects on them.

R=erik.corry@gmail.com
TEST=cctest/test-heap/ReleaseOverReservedPages

Review URL: https://chromiumcodereview.appspot.com/10629004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdjust idle notification handler to do full GC at the end of idle round in order...
ulan@chromium.org [Fri, 22 Jun 2012 08:33:43 +0000 (08:33 +0000)]
Adjust idle notification handler to do full GC at the end of idle round in order to compact code space.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10639002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCleaning up usage of lookup results.
verwaest@chromium.org [Thu, 21 Jun 2012 15:32:52 +0000 (15:32 +0000)]
Cleaning up usage of lookup results.

- Ensure that IsFound() is only used when not in combination with other
  checks. To do so, the default type is NONEXISTENT rather than NORMAL;
  and NotFound() also resets the type to NONEXISTENT.
- Use test methods rather than .type() == A_PROPERTY_TYPE.

Review URL: https://chromiumcodereview.appspot.com/10626004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd unit test for r11818.
mstarzinger@chromium.org [Thu, 21 Jun 2012 11:31:30 +0000 (11:31 +0000)]
Add unit test for r11818.

R=rossberg@chromium.org
TEST=cctest/test-decls/ExistsInHiddenPrototype

Review URL: https://chromiumcodereview.appspot.com/10628002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.2.
yangguo@chromium.org [Thu, 21 Jun 2012 11:15:57 +0000 (11:15 +0000)]
Prepare push to trunk.  Now working on version 3.12.2.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10634002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert r11834 because of broken Chromium unit test.
mstarzinger@chromium.org [Thu, 21 Jun 2012 11:10:53 +0000 (11:10 +0000)]
Revert r11834 because of broken Chromium unit test.

R=yangguo@chromium.org
BUG=v8:2166

Review URL: https://chromiumcodereview.appspot.com/10630003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoIn test-api.cc a few calls to Heap::CollectAllGarbage use obsolete argument.
ulan@chromium.org [Wed, 20 Jun 2012 16:07:30 +0000 (16:07 +0000)]
In test-api.cc a few calls to Heap::CollectAllGarbage use obsolete argument.

The assertion failure I ran into is in Regress1516, where collector falls back to SCAVENGER, during x64.debug.check run.

Zheng Liu
zheng.z.liu@intel.com

Review URL: https://chromiumcodereview.appspot.com/10536199
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix Windows build.
yangguo@chromium.org [Wed, 20 Jun 2012 14:22:32 +0000 (14:22 +0000)]
Fix Windows build.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10578039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agox86/x64 port of Math.floor(x/y) to use integer division for specific divisor.
yangguo@chromium.org [Wed, 20 Jun 2012 14:08:03 +0000 (14:08 +0000)]
x86/x64 port of Math.floor(x/y) to use integer division for specific divisor.
Only handles when x is int32 and y is int32 constant.

BUG=v8:2038

Currently implemented by imul (not fpmul).
x86 and x64 algorithm differs a bit.
x86 implementation is kind of cumbersome, but I couldn't think of better ways.

Review URL: https://chromiumcodereview.appspot.com/10382033
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix GC bug with missing handle. Bug=133618
erik.corry@gmail.com [Wed, 20 Jun 2012 13:40:10 +0000 (13:40 +0000)]
Fix GC bug with missing handle. Bug=133618
Review URL: https://chromiumcodereview.appspot.com/10559083

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove unused variable.
sanjoy@chromium.org [Wed, 20 Jun 2012 13:32:18 +0000 (13:32 +0000)]
Remove unused variable.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10559082

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake a test run faster that is timing out on the ARM simulator.
erik.corry@gmail.com [Wed, 20 Jun 2012 13:31:07 +0000 (13:31 +0000)]
Make a test run faster that is timing out on the ARM simulator.
Review URL: https://chromiumcodereview.appspot.com/10577032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.12.1.
yangguo@chromium.org [Wed, 20 Jun 2012 11:25:08 +0000 (11:25 +0000)]
Prepare push to trunk.  Now working on version 3.12.1.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10584027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUnbreak bleeding_edge by getting the Parser to work with a CompilationInfo instead...
sanjoy@chromium.org [Wed, 20 Jun 2012 10:56:53 +0000 (10:56 +0000)]
Unbreak bleeding_edge by getting the Parser to work with a CompilationInfo instead of a Handle<Script> and a Zone.  This should have been fixed in the initial patch itself but escaped my attention.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10583031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoOne Zone per CompilationInfo.
sanjoy@chromium.org [Wed, 20 Jun 2012 08:58:41 +0000 (08:58 +0000)]
One Zone per CompilationInfo.

The CompilationInfo record now saves a Zone, and the compiler pipeline
allocates memory from the Zone in the CompilationInfo.  Before
compiling a function, we create a Zone on the stack and save a pointer
to that Zone to the CompilationInfo; which then gets picked up and
allocated from.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10534139

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove unused variable in mksnapshot.cc.
erik.corry@gmail.com [Wed, 20 Jun 2012 08:14:31 +0000 (08:14 +0000)]
Remove unused variable in mksnapshot.cc.
Review URL: https://chromiumcodereview.appspot.com/10559078

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoQuicksort: Choose pivot with recursive sort of pivot candidates on large arrays to...
erikcorry [Wed, 20 Jun 2012 07:52:47 +0000 (07:52 +0000)]
Quicksort: Choose pivot with recursive sort of pivot candidates on large arrays to avoid patholgical cases.
Review URL: http://codereview.chromium.org/10532193

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd missing cast to make MSVC happier.
erikcorry [Tue, 19 Jun 2012 19:37:33 +0000 (19:37 +0000)]
Add missing cast to make MSVC happier.
Review URL: http://codereview.chromium.org/10592003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSnapshots: Add --extra-code flag to mksnapshot which lets you specify a file
erikcorry [Tue, 19 Jun 2012 18:38:03 +0000 (18:38 +0000)]
Snapshots: Add --extra-code flag to mksnapshot which lets you specify a file
with more JS code that is loaded into the VM before writing the snapshot.  Get
rid of the hard coded limit on the partial snapshot cache size.  This change
disables most of the serializer tests for the snapshot build of the VM: It's
getting too complicated to support both booting from a snapshot and then
creating a new snapshot from the same VM or loading more code with another
snapshot in the same VM.
Review URL: http://codereview.chromium.org/10574013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix return values for Harmony map and set operations.
mstarzinger@chromium.org [Tue, 19 Jun 2012 15:23:03 +0000 (15:23 +0000)]
Fix return values for Harmony map and set operations.

R=rossberg@chromium.org
BUG=chromium:132741,chromium:132742
TEST=mjsunit/harmony/collections

Review URL: https://chromiumcodereview.appspot.com/10573011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable lazy compilation for non-trivial outer contexts.
mstarzinger@chromium.org [Tue, 19 Jun 2012 14:29:48 +0000 (14:29 +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.

This relands r11782, r11783, r11790 and a minor fix.

R=ulan@chromium.org
TEST=mjsunit/debug-script-breakpoints-nested

Review URL: https://chromiumcodereview.appspot.com/10543141

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd msvs_configuration_platform to common.gypi to allow x64 builds on Windows
jkummerow@chromium.org [Tue, 19 Jun 2012 14:20:29 +0000 (14:20 +0000)]
Add msvs_configuration_platform to common.gypi to allow x64 builds on Windows

Review URL: https://chromiumcodereview.appspot.com/10573008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix a bunch of implicit casts detected by the Win64 compiler
jkummerow@chromium.org [Tue, 19 Jun 2012 13:45:30 +0000 (13:45 +0000)]
Fix a bunch of implicit casts detected by the Win64 compiler

Review URL: https://chromiumcodereview.appspot.com/10536202

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix crash bug in Hydrogen occurring with empty prototype chain.
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

12 years agoFixing ClearNonLiveTransition bug in combination with AccessorPairs.
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

12 years agoFix check in r11850 for nosse2 and novfp3 machines.
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

12 years agoTeach grokdump to print oddball kind when ToString content is not available
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

12 years agoCorrectly resolve local var shadowing a context-allocated var in debugger.
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

12 years agoMake sure we don't leak map transitions from AccessorPairs to the Javascript world.
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

12 years agoFix handling of numbers in SameValue method.
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

12 years agoPrint correct line number for Error thrown inside eval.
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

12 years agoFix optimized code caching in FastNewClosureStub.
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

12 years agoRemove default from switch.
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

12 years agoMIPS: Share optimized code for closures.
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

12 years agoFix MSVC warnings about missing operator delete.
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

12 years agoRemoving superfluous IsSmi check from DescriptorArray::IsEmpty.
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

12 years agoReimplemented HGraph::Postorder and HGraph::PostorderLoopBlocks iteratively to avoid...
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

12 years agoImplementing weak referencing elements transition maps.
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

12 years agoFixing bugs in promotion of elements transitions (r1175).
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

12 years agoMIPS: Fix packed-element.js test on ARM with no snap
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

12 years agoAvoid arbitrarily deep recursion in Array.sort.
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

12 years agoRemove unused-but-set variable from objects.cc.
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

12 years agoFix for Issue 915
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

12 years agoSupport 'restart call frame' debug command
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

12 years agoUnify promotion and allocation limit computation.
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

12 years agoFix external exceptions in external try-catch handlers.
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

12 years agoRevert part of 11727 as it sometimes tanked V8 benchmark (raytrace) performance
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

12 years agoFix list traversal of optimized functions in deoptimizer.
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

12 years agoFix packed-element.js test on ARM with no snap
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

12 years agoUnbreak interpreted regexp.
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

12 years agoReset the path tracer completely, and check whether an object has source code before...
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

12 years agoCheck for valid PC when stepping in the ARM sim debugger.
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

12 years agoES5.2 var semantics: take hidden prototypes into account.
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

12 years agoShare optimized code for closures.
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

12 years agoAdd missing string length check in regexp engine.
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