platform/upstream/v8.git
12 years agoCleaned up AST nodes a bit.
svenpanne@chromium.org [Fri, 20 Jul 2012 09:39:27 +0000 (09:39 +0000)]
Cleaned up AST nodes a bit.

* Made AST IDs constant. Making this explicit helps understanding the code.

* Removed a few dead functions.

* Be honest by making node_type() pure virtual.

All these changes have been checked to be performance-neutral.

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

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

12 years agoTrack how much time the compiler thread spends doing useful work.
sanjoy@chromium.org [Fri, 20 Jul 2012 08:56:20 +0000 (08:56 +0000)]
Track how much time the compiler thread spends doing useful work.

BUG=
TEST=

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

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

12 years agoAdd test case for custom error's toString.
yangguo@chromium.org [Fri, 20 Jul 2012 08:03:46 +0000 (08:03 +0000)]
Add test case for custom error's toString.

R=arv@chromium.org
BUG=
TEST=error-tostring.js

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

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

12 years agoDon't record elements transition slots since it will contain a map.
verwaest@chromium.org [Fri, 20 Jul 2012 07:24:50 +0000 (07:24 +0000)]
Don't record elements transition slots since it will contain a map.

Additionally removed unused code.

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

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

12 years agoRemoved dead variable to make GCC 4.6 happy again.
svenpanne@chromium.org [Fri, 20 Jul 2012 07:12:06 +0000 (07:12 +0000)]
Removed dead variable to make GCC 4.6 happy again.

TBR=jkummerow@chromium.org

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

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

12 years agoOptimize functions on a second thread.
sanjoy@chromium.org [Thu, 19 Jul 2012 18:58:23 +0000 (18:58 +0000)]
Optimize functions on a second thread.

BUG=
TEST=

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

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

12 years agoRemove LastAdded from the EnumCacheBridge.
verwaest@chromium.org [Thu, 19 Jul 2012 14:59:30 +0000 (14:59 +0000)]
Remove LastAdded from the EnumCacheBridge.

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

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

12 years agoMoved lastadded from DescriptorArray to Map. Renamed kLastAdded to kEnumCache.
verwaest@chromium.org [Thu, 19 Jul 2012 14:45:19 +0000 (14:45 +0000)]
Moved lastadded from DescriptorArray to Map. Renamed kLastAdded to kEnumCache.

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

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

12 years agoMove all Copy* methods from descriptor array into the Copy* versions on the map.
verwaest@chromium.org [Thu, 19 Jul 2012 14:05:27 +0000 (14:05 +0000)]
Move all Copy* methods from descriptor array into the Copy* versions on the map.

Another step towards moving LastAdded from the DescriptorArray to the Map.

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

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

12 years agoSimplify TryInline's signature.
svenpanne@chromium.org [Thu, 19 Jul 2012 10:46:03 +0000 (10:46 +0000)]
Simplify TryInline's signature.

We don't actually need the arguments of the call, just their count. This change
is needed because in an accessor call there is no explicit argument list.

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

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

12 years agoAndroid test runner: Rename "Error" to "ANDROID"
jkummerow@chromium.org [Thu, 19 Jul 2012 10:44:15 +0000 (10:44 +0000)]
Android test runner: Rename "Error" to "ANDROID"

Review URL: https://chromiumcodereview.appspot.com/10809010
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoMIPS: Fix mipsel GYP build on Emdebian.
jkummerow@chromium.org [Thu, 19 Jul 2012 10:36:19 +0000 (10:36 +0000)]
MIPS: Fix mipsel GYP build on Emdebian.

Emdebian's cross compiler identifies itself as
"Target: mipsel-linux-gnu"; modified pattern to
match this compiler too.

BUG=
TEST=

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

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

12 years agoAppend to descriptors over map.
verwaest@chromium.org [Thu, 19 Jul 2012 10:01:52 +0000 (10:01 +0000)]
Append to descriptors over map.

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

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

12 years agoFix compilation for ARMv5TEJ
svenpanne@chromium.org [Thu, 19 Jul 2012 09:49:12 +0000 (09:49 +0000)]
Fix compilation for ARMv5TEJ

BUG=
TEST=Compiling for ARMv5TEJ

Review URL: https://chromiumcodereview.appspot.com/10784013
Patch from Remi Duraffort <remi.duraffort@st.com>.

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

12 years agoAdd missing operator delete.
sanjoy@chromium.org [Thu, 19 Jul 2012 08:43:00 +0000 (08:43 +0000)]
Add missing operator delete.

BUG=
TEST=

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

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

12 years agoFix Windows build spam.
sanjoy@chromium.org [Thu, 19 Jul 2012 08:32:30 +0000 (08:32 +0000)]
Fix Windows build spam.

BUG=v8:2242
TEST=

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

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

12 years agoDon't use alloca.
svenpanne@chromium.org [Thu, 19 Jul 2012 07:32:58 +0000 (07:32 +0000)]
Don't use alloca.

It leads to compability hell, and the amount of memory we need is bounded,
anyway. Added a few more assertions on the way.

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

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

12 years agoLet DescriptorArray::Append insert at proper position, avoiding need for resorting.
verwaest@chromium.org [Wed, 18 Jul 2012 15:38:58 +0000 (15:38 +0000)]
Let DescriptorArray::Append insert at proper position, avoiding need for resorting.

Using insertion-sort won't have too much of an overhead for the short arrays for bootstrapping (which are probably snapshot anyway).
CopyAppendCallbackDescriptors was extending and sorting the array in a loop. By using an append that inserts at the right position we do not need to resort in each iteration.

Additionally remove Sort and rename SortUnchecked to Sort. The IsSortedNoDuplicates check is moved into InitializeDescriptor.

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

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

12 years agoPush rdi instead of rsi when probing for CPU features.
yangguo@chromium.org [Wed, 18 Jul 2012 15:05:04 +0000 (15:05 +0000)]
Push rdi instead of rsi when probing for CPU features.

TBR=svenpanne@chromium.org
BUG=v8:2238
TEST=

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

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

12 years agoThe deferred handes list belongs to the Isolate and not to the
sanjoy@chromium.org [Wed, 18 Jul 2012 14:15:02 +0000 (14:15 +0000)]
The deferred handes list belongs to the Isolate and not to the
HandleScopeImplementer (since it isn't something specific to a
particular thread executing on an Isolate). This patch ensures correct
traversal of the handles when when multiple compilations are queued
up.

BUG=
TEST=

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

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

12 years agoRemoved CopyAppendForeignDescriptor.
verwaest@chromium.org [Wed, 18 Jul 2012 14:00:58 +0000 (14:00 +0000)]
Removed CopyAppendForeignDescriptor.

Use descriptor array preallocation + appending instead.

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

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

12 years agoMIPS: Fix transcendental cache on ARM in optimized code.
yangguo@chromium.org [Wed, 18 Jul 2012 13:50:19 +0000 (13:50 +0000)]
MIPS: Fix transcendental cache on ARM in optimized code.

Port r12086 (84066033)

BUG=
TEST=

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

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

12 years agoInsert missing write barrier in sliced string allocation.
yangguo@chromium.org [Wed, 18 Jul 2012 13:39:53 +0000 (13:39 +0000)]
Insert missing write barrier in sliced string allocation.

BUG=v8:2237
TEST=test-heap/Regress2237

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

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

12 years agoRestore rsi on x64 when probing for CPU features.
yangguo@chromium.org [Wed, 18 Jul 2012 13:02:27 +0000 (13:02 +0000)]
Restore rsi on x64 when probing for CPU features.

BUG=v8:2238
TEST=

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

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

12 years agoAndroid test runner: Sync missing JS files
jkummerow@chromium.org [Wed, 18 Jul 2012 12:40:13 +0000 (12:40 +0000)]
Android test runner: Sync missing JS files

Review URL: https://chromiumcodereview.appspot.com/10801009
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoExpose counters in javascript.
yangguo@chromium.org [Wed, 18 Jul 2012 12:27:29 +0000 (12:27 +0000)]
Expose counters in javascript.

R=rossberg
BUG=
TEST=

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

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

12 years agoMake message pass in Android testing
jkummerow@chromium.org [Wed, 18 Jul 2012 11:55:39 +0000 (11:55 +0000)]
Make message pass in Android testing

Review URL: https://chromiumcodereview.appspot.com/10805006
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoBuild V8 for Android IA
jkummerow@chromium.org [Wed, 18 Jul 2012 11:43:44 +0000 (11:43 +0000)]
Build V8 for Android IA

Review URL: https://chromiumcodereview.appspot.com/10778033
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoHConstant::PrintDataTo() uses wrong format string
sanjoy@chromium.org [Wed, 18 Jul 2012 11:40:39 +0000 (11:40 +0000)]
HConstant::PrintDataTo() uses wrong format string

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

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

12 years agoAdd --trace-parse flag to parser.
mstarzinger@chromium.org [Wed, 18 Jul 2012 11:22:46 +0000 (11:22 +0000)]
Add --trace-parse flag to parser.

R=yangguo@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.15.
verwaest@chromium.org [Wed, 18 Jul 2012 11:21:12 +0000 (11:21 +0000)]
Prepare push to trunk.  Now working on version 3.12.15.

R=danno@chromium.org
BUG=
TEST=

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

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

12 years agoDeactivate optimization of packed arrays.
svenpanne@chromium.org [Wed, 18 Jul 2012 10:41:03 +0000 (10:41 +0000)]
Deactivate optimization of packed arrays.

It breaks the San Angeles WebGL demo.

BUG=http://code.google.com/p/chromium/issues/detail?id=137768
TEST=https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/google/san-angeles/index.html

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

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

12 years agoWhen following an accessor transition for an already existing accessor, don't load...
verwaest@chromium.org [Wed, 18 Jul 2012 09:20:57 +0000 (09:20 +0000)]
When following an accessor transition for an already existing accessor, don't load the last added descriptor but the same descriptor as we already found previously.

BUG=137689
TEST=test/mjsunit/regress/regress-crbug-137689.js

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

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

12 years agoMake CompilationInfo::~CompilationInfo() virtual so that CompilationInfoWithZone...
sanjoy@chromium.org [Tue, 17 Jul 2012 16:53:34 +0000 (16:53 +0000)]
Make CompilationInfo::~CompilationInfo() virtual so that CompilationInfoWithZone destructs correctly.

BUG=
TEST=

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

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

12 years agoFix Win64 build by adding a static_cast.
sanjoy@chromium.org [Tue, 17 Jul 2012 16:51:19 +0000 (16:51 +0000)]
Fix Win64 build by adding a static_cast.

BUG=
TEST=

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

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

12 years agoIntroduce an OptimizingCompiler class, responsible for maintaining the state needed...
sanjoy@chromium.org [Tue, 17 Jul 2012 16:24:40 +0000 (16:24 +0000)]
Introduce an OptimizingCompiler class, responsible for maintaining the state needed to run Crankshaft.

BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.14.
verwaest@chromium.org [Tue, 17 Jul 2012 16:13:24 +0000 (16:13 +0000)]
Prepare push to trunk.  Now working on version 3.12.14.

R=jkummerow@chromium.org

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

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

12 years agoFix presubmit failure in r12107.
verwaest@chromium.org [Tue, 17 Jul 2012 16:00:00 +0000 (16:00 +0000)]
Fix presubmit failure in r12107.

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

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

12 years agoImplements a new API to set a function entry hook for profiling.
danno@chromium.org [Tue, 17 Jul 2012 15:18:15 +0000 (15:18 +0000)]
Implements a new API to set a function entry hook for profiling.

Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.

Committed: https://code.google.com/p/v8/source/detail?r=12069

Committed: https://code.google.com/p/v8/source/detail?r=12083

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

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

12 years agoFix Win64 build
danno@chromium.org [Tue, 17 Jul 2012 14:04:41 +0000 (14:04 +0000)]
Fix Win64 build

R=mstarzinger@chromium.org

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

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

12 years agoGrouping all map creation code.
verwaest@chromium.org [Tue, 17 Jul 2012 13:50:19 +0000 (13:50 +0000)]
Grouping all map creation code.

- Now tunnel all descriptor changes through methods on the map
- Renamed CopyDropTransitions to regular Copy since we always "drop transitions" on copy anyway.
- Merged and moved elements transition map creation.

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

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

12 years agoTrack counts/sizes of CODE sub types with --track-gc-object-stats
danno@chromium.org [Tue, 17 Jul 2012 11:58:49 +0000 (11:58 +0000)]
Track counts/sizes of CODE sub types with --track-gc-object-stats

R=mstarzinger@chromium.org

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

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

12 years agoRemove obsolete ParserApi::PartialPreParse method.
mstarzinger@chromium.org [Tue, 17 Jul 2012 11:31:05 +0000 (11:31 +0000)]
Remove obsolete ParserApi::PartialPreParse method.

R=yangguo@chromium.org

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

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

12 years agoAlways fix up the enumeration indices when turning to fast mode.
verwaest@chromium.org [Tue, 17 Jul 2012 10:27:18 +0000 (10:27 +0000)]
Always fix up the enumeration indices when turning to fast mode.

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

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

12 years agoMake android.check work
jkummerow@chromium.org [Mon, 16 Jul 2012 16:22:28 +0000 (16:22 +0000)]
Make android.check work

Review URL: https://chromiumcodereview.appspot.com/10779011
Patch from Haitao Feng <haitao.feng@intel.com>.

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

12 years agoRemove LookupTransitionOrDescriptor altogether.
verwaest@chromium.org [Mon, 16 Jul 2012 15:26:10 +0000 (15:26 +0000)]
Remove LookupTransitionOrDescriptor altogether.

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

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

12 years agoAdd histogram for total heap fragmentation, don't report fragmentation for new space...
mstarzinger@chromium.org [Mon, 16 Jul 2012 15:17:00 +0000 (15:17 +0000)]
Add histogram for total heap fragmentation, don't report fragmentation for new space, and report fragmentation, not usage

BUG=none
TEST=none

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

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

12 years agoRemoving LookupTransition from LookupRealNamedProperty and related utility functions.
verwaest@chromium.org [Mon, 16 Jul 2012 14:47:28 +0000 (14:47 +0000)]
Removing LookupTransition from LookupRealNamedProperty and related utility functions.

Callsites now have to manually lookup transitions if required. This
avoids unnecessary overhead of looking up transitions when we don't need
them. This also allows us to use IsFound() in many places where
IsProperty() was required previously.

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

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

12 years agoRemoved transitions from the accessor pair descriptors.
verwaest@chromium.org [Mon, 16 Jul 2012 14:02:50 +0000 (14:02 +0000)]
Removed transitions from the accessor pair descriptors.

AccessorPair related transitions are now also stored as single map links, simplifying the code that handles transitions. AccessorPairs can now be shared between descriptor arrays, since they can only be mutated after another transition anyway; during which the pair is copied before writing.

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

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

12 years agoFix missing tagging of stack value in finally block.
mstarzinger@chromium.org [Mon, 16 Jul 2012 13:38:17 +0000 (13:38 +0000)]
Fix missing tagging of stack value in finally block.

R=yangguo@chromium.org
BUG=chromium:137496
TEST=cctest/test-api/Regress137496

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

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

12 years agoFix off-by-one-pointer error in an ASSERT inside DeferredHandles::Iterate.
sanjoy@chromium.org [Mon, 16 Jul 2012 13:00:57 +0000 (13:00 +0000)]
Fix off-by-one-pointer error in an ASSERT inside DeferredHandles::Iterate.

This will crash v8 in debug mode if the compilation prologue allocates
an exact multiple of kHandleBlockSize handles.

BUG=
TEST=

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

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

12 years agoFix compilation for ARM/uClibc
svenpanne@chromium.org [Mon, 16 Jul 2012 12:34:34 +0000 (12:34 +0000)]
Fix compilation for ARM/uClibc

BUG=
TEST=Compile for ARM using uClibc

Review URL: https://chromiumcodereview.appspot.com/10784012
Patch from Remi Duraffort <remi.duraffort@st.com>.

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

12 years agoMaintain the invariant that all HGraphBuilder::VisitFoo methods return void.
svenpanne@chromium.org [Mon, 16 Jul 2012 12:22:46 +0000 (12:22 +0000)]
Maintain the invariant that all HGraphBuilder::VisitFoo methods return void.

Additionally, this enables the use of a CHECK_ALIVE macro instead of
copy-n-paste code at one place.

This CL is part of a series of several yak-shaving CLs to prepare the inlining
of JavaScript accessors.

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.13.
jkummerow@chromium.org [Mon, 16 Jul 2012 11:24:55 +0000 (11:24 +0000)]
Prepare push to trunk.  Now working on version 3.12.13.

R=yangguo@chromium.org

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

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

12 years agoAdd an option to the tickprocessor to specify the directory for lib lookup
jkummerow@chromium.org [Mon, 16 Jul 2012 11:00:44 +0000 (11:00 +0000)]
Add an option to the tickprocessor to specify the directory for lib lookup

This is usefull when generating a profile on one architecture and analyzing it
on another architecture or system version.

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

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

12 years agoFix ICs for slow objects with native accessor.
mstarzinger@chromium.org [Mon, 16 Jul 2012 09:53:32 +0000 (09:53 +0000)]
Fix ICs for slow objects with native accessor.

This prevents creation of LoadICs or StoreICs for native callbacks on
objects in dictionary mode. Those ICs fail if the accessor is installed
on the receiver itself and also lead to bogus type feedback.

R=danno@chromium.org
BUG=chromium:137002
TEST=test/test-api/Regress137002[a,b]

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

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

12 years agoMake it clear that HInstruction's position is a write-once variable.
svenpanne@chromium.org [Mon, 16 Jul 2012 09:49:00 +0000 (09:49 +0000)]
Make it clear that HInstruction's position is a write-once variable.

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

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

12 years agoFix transcendental cache on ARM in optimized code.
yangguo@chromium.org [Mon, 16 Jul 2012 09:44:59 +0000 (09:44 +0000)]
Fix transcendental cache on ARM in optimized code.

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

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

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

12 years agoFix Win64 build breakage in r12082.
mstarzinger@chromium.org [Mon, 16 Jul 2012 09:39:52 +0000 (09:39 +0000)]
Fix Win64 build breakage in r12082.

R=danno@chromium.org

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

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

12 years agoRevert 12083: Implements a new API to set a function entry hook for profiling.
danno@chromium.org [Fri, 13 Jul 2012 16:33:27 +0000 (16:33 +0000)]
Revert 12083: Implements a new API to set a function entry hook for profiling.

TBR=mstarzinger@chromium.org

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

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

12 years agoImplements a new API to set a function entry hook for profiling.
danno@chromium.org [Fri, 13 Jul 2012 16:18:37 +0000 (16:18 +0000)]
Implements a new API to set a function entry hook for profiling.

Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.

Committed: https://code.google.com/p/v8/source/detail?r=12069

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

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

12 years agoAdd counters that automatically track object sizes and counts.
danno@chromium.org [Fri, 13 Jul 2012 12:22:09 +0000 (12:22 +0000)]
Add counters that automatically track object sizes and counts.

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

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

12 years agoFactor out a Histogram class from HistogramTimer, and use it to measure external...
mstarzinger@chromium.org [Fri, 13 Jul 2012 12:12:09 +0000 (12:12 +0000)]
Factor out a Histogram class from HistogramTimer, and use it to measure external fragmentation

BUG=none
TEST=none

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

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

12 years agoMIPS: Defer creating Handles for HConstants to the code generation phase.
sanjoy@chromium.org [Fri, 13 Jul 2012 12:05:29 +0000 (12:05 +0000)]
MIPS: Defer creating Handles for HConstants to the code generation phase.

Port r12048 (b4b20305)

BUG=
TEST=

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

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

12 years agoHandle setters on the prototype chain efficiently by default.
svenpanne@chromium.org [Fri, 13 Jul 2012 09:37:03 +0000 (09:37 +0000)]
Handle setters on the prototype chain efficiently by default.

Note that changes on the prototype chain should already be handled by
StubCompiler::CheckPrototypes, if not, it is a bug there and not in
LookupForWrite. Furthermore, neither test262 nor WebKit layout tests hint at a
compability issue, so it should be safe to remove a redundant check.

The good point about this CL: It improves Box2D's performance by 22%.

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

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

12 years agoIncorporate constness into inferred interfaces
rossberg@chromium.org [Fri, 13 Jul 2012 09:29:43 +0000 (09:29 +0000)]
Incorporate constness into inferred interfaces
(in preparation for handling imports).

R=svenpanne@chromium.org
BUG=v8:1569
TEST=

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

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

12 years agoFix Mac build warning (very rightful)
peter.rybin@gmail.com [Fri, 13 Jul 2012 09:23:46 +0000 (09:23 +0000)]
Fix Mac build warning (very rightful)

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

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

12 years agoMIPS: Ensure that all descriptors have a valid enumeration index, and replace NextEnu...
verwaest@chromium.org [Fri, 13 Jul 2012 09:14:43 +0000 (09:14 +0000)]
MIPS: Ensure that all descriptors have a valid enumeration index, and replace NextEnumIndex with LastAdded.

Port r12042 (ce65764e)

Original commit message:
The LastAdded points to the descriptor that was last added to the array. From the descriptor we can deduce the NextEnumerationIndex. This allows us to quickly find the property that we are transitioning to, which is necessary for transition-intensive code, eg JSON parsing.

BUG=
TEST=

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

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

12 years agoMIPS: Swap bitfield3 and backpointer.
verwaest@chromium.org [Fri, 13 Jul 2012 09:13:10 +0000 (09:13 +0000)]
MIPS: Swap bitfield3 and backpointer.

Port r12034 (f17b84c0)

Original commit message:
Bitfield3 now has its own field, while the backpointer shares the field with the descriptor array; which will become the transition array.

BUG=
TEST=

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

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

12 years agoDon't miss error message in 'restart frame' debug action
peter.rybin@gmail.com [Fri, 13 Jul 2012 09:02:03 +0000 (09:02 +0000)]
Don't miss error message in 'restart frame' debug action

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

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

12 years agoMIPS: Fixed mistake in condition for Nan fixups from snapshot.
yangguo@chromium.org [Fri, 13 Jul 2012 07:22:11 +0000 (07:22 +0000)]
MIPS: Fixed mistake in condition for Nan fixups from snapshot.

The commit r11871 caused quiet NaN related errors to
appear on Loongson and Sigma platforms when snapshot
is used. This commit fixes those issues.

BUG=
TEST=

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

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

12 years agoAdded Crankshaft support for setters.
svenpanne@chromium.org [Fri, 13 Jul 2012 07:14:28 +0000 (07:14 +0000)]
Added Crankshaft support for setters.

Refactored ComputeLoadStoreField a bit on the way to clarify a bit what it
actually does.

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

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

12 years agoRenamed ConvertDescriptorToFieldAndMapTransition to ConvertTransitionToMapTransition...
verwaest@chromium.org [Thu, 12 Jul 2012 16:36:10 +0000 (16:36 +0000)]
Renamed ConvertDescriptorToFieldAndMapTransition to ConvertTransitionToMapTransition, and let it replace the transition in-place rather than copy the transition array.

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

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

12 years agoRevert 12069: Implements a new API to set a function entry hook for profiling
danno@chromium.org [Thu, 12 Jul 2012 15:59:50 +0000 (15:59 +0000)]
Revert 12069: Implements a new API to set a function entry hook for profiling

Reverted due to waterfall failures

TBR=mstarzinger@chromium.org

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

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

12 years agoImplements a new API to set a function entry hook for profiling.
danno@chromium.org [Thu, 12 Jul 2012 15:42:39 +0000 (15:42 +0000)]
Implements a new API to set a function entry hook for profiling.

Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.

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

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

12 years agoInstall guards for new invariants required for parallel compilation.
sanjoy@chromium.org [Thu, 12 Jul 2012 15:40:05 +0000 (15:40 +0000)]
Install guards for new invariants required for parallel compilation.

BUG=
TEST=

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

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

12 years agoRename LChunkBase to LChunk, LChunk to LPlatformChunk and remove some unneeded explic...
sanjoy@chromium.org [Thu, 12 Jul 2012 15:29:14 +0000 (15:29 +0000)]
Rename LChunkBase to LChunk, LChunk to LPlatformChunk and remove some unneeded explicit constructor attributes.

BUG=
TEST=

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

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

12 years agoCouple the enumeration index of a property to the size of the descriptor array where...
verwaest@chromium.org [Thu, 12 Jul 2012 15:14:54 +0000 (15:14 +0000)]
Couple the enumeration index of a property to the size of the descriptor array where it first appeared.

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

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

12 years agoWhen we find an accessor pair as TRANSITION, we are sure it doesn't contain an access...
verwaest@chromium.org [Thu, 12 Jul 2012 15:10:55 +0000 (15:10 +0000)]
When we find an accessor pair as TRANSITION, we are sure it doesn't contain an accessor yet.

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

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

12 years agoBreak Crankshaft into phases.
sanjoy@chromium.org [Thu, 12 Jul 2012 15:10:34 +0000 (15:10 +0000)]
Break Crankshaft into phases.

Crankshaft now runs by calling CreateGraph on the HGraphBuilder, then
calling Optimize and Codegen on the HGraph.

BUG=
TEST=

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

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

12 years agoAlways return failure when we didn't manage to add transitions.
verwaest@chromium.org [Thu, 12 Jul 2012 15:01:39 +0000 (15:01 +0000)]
Always return failure when we didn't manage to add transitions.

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

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

12 years agoSplitting DescriptorArray::CopyInsert into CopyInsert, CopyAdd and CopyReplace.
verwaest@chromium.org [Thu, 12 Jul 2012 13:34:02 +0000 (13:34 +0000)]
Splitting DescriptorArray::CopyInsert into CopyInsert, CopyAdd and CopyReplace.

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

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

12 years agoDo not enter the debugger when debugger is not active.
yangguo@chromium.org [Thu, 12 Jul 2012 11:31:52 +0000 (11:31 +0000)]
Do not enter the debugger when debugger is not active.

R=mstarzinger@chromium.org
BUG=
TEST=test-debug/DebuggerCreatesContextIffActive

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.12.
rossberg@chromium.org [Thu, 12 Jul 2012 11:03:18 +0000 (11:03 +0000)]
Prepare push to trunk.  Now working on version 3.12.12.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoPerform HasFastProperties check on prototypes when computing call targets in Cranksha...
svenpanne@chromium.org [Thu, 12 Jul 2012 09:32:26 +0000 (09:32 +0000)]
Perform HasFastProperties check on prototypes when computing call targets in Crankshaft, part 2.

The previous fix was for "real" calls, this one is for getters. It is a bit
unfortunate that this has to be fixed twice: We should really break up
Call::ComputeTarget into a predicate and 1 or 2 getters, so code can be reused.

The regression test has been modified a bit to make things more uniform.

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

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

12 years agoFix bug in CompilationHandlescope constructor.
sanjoy@chromium.org [Thu, 12 Jul 2012 07:59:41 +0000 (07:59 +0000)]
Fix bug in CompilationHandlescope constructor.

This will never be triggered in the state v8 is currently in, but will crash v8 when multiple DeferredHandles are queued up during parallel compilation.

BUG=
TEST=

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

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

12 years agoUnbreak MSVC build by respecting explicit FmtElm constructor. This is
sanjoy@chromium.org [Wed, 11 Jul 2012 20:11:04 +0000 (20:11 +0000)]
Unbreak MSVC build by respecting explicit FmtElm constructor.  This is
a real bug caught by MSVC but not g++.

BUG=
TEST=

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

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

12 years agoDefer creating Handles for HConstants to the code generation phase.
sanjoy@chromium.org [Wed, 11 Jul 2012 16:17:02 +0000 (16:17 +0000)]
Defer creating Handles for HConstants to the code generation phase.

BUG=
TEST=

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

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

12 years agoMIPS: Rename "mips" arch to "mipsel" in the GYP build.
jkummerow@chromium.org [Wed, 11 Jul 2012 15:15:04 +0000 (15:15 +0000)]
MIPS: Rename "mips" arch to "mipsel" in the GYP build.

In the traditional MIPS naming scheme, "mips" is used for
big-endian mips and "mipsel" is used for little-endian mips.
In V8 the "mips" build is little-endian, so the "mips" target is
renamed to "mipsel" to be compliant with the traditional MIPS
naming scheme.

This change is also required for supporting the Chromium project on MIPS.

BUG=
TEST=

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

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

12 years agoAdd missing --allow-natives-syntax flag to test case
jkummerow@chromium.org [Wed, 11 Jul 2012 14:45:47 +0000 (14:45 +0000)]
Add missing --allow-natives-syntax flag to test case

R=rossberg@chromium.org

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

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

12 years agoRemove duplicated LChunk code.
sanjoy@chromium.org [Wed, 11 Jul 2012 14:42:17 +0000 (14:42 +0000)]
Remove duplicated LChunk code.

Divide the LChunk class into an arch-independent LChunkBase and an
arch-dependent LChunk which inherits from LChunkBase.

BUG=
TEST=

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

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

12 years agoRefactor copying of maps and descriptor arrays.
verwaest@chromium.org [Wed, 11 Jul 2012 14:29:16 +0000 (14:29 +0000)]
Refactor copying of maps and descriptor arrays.

Mainly ensure we don't copy descriptor arrays we'll throw away immediately afterwards.

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

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

12 years agoPerform HasFastProperties check on prototypes when computing call targets in Crankshaft.
jkummerow@chromium.org [Wed, 11 Jul 2012 14:27:53 +0000 (14:27 +0000)]
Perform HasFastProperties check on prototypes when computing call targets in Crankshaft.

BUG=125148
TEST=mjsunit/regress/regress-crbug-125148

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

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

12 years agoEnsure that all descriptors have a valid enumeration index, and replace NextEnumIndex...
verwaest@chromium.org [Wed, 11 Jul 2012 14:26:42 +0000 (14:26 +0000)]
Ensure that all descriptors have a valid enumeration index, and replace NextEnumIndex with LastAdded.

The LastAdded points to the descriptor that was last added to the array. From the descriptor we can deduce the NextEnumerationIndex. This allows us to quickly find the property that we are transitioning to, which is necessary for transition-intensive code, eg JSON parsing.

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

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

12 years agoTurn off es5_readonly again: still causes ~370 WebKit regressions.
rossberg@chromium.org [Wed, 11 Jul 2012 14:09:42 +0000 (14:09 +0000)]
Turn off es5_readonly again: still causes ~370 WebKit regressions.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoDo not use user-defined __lookupGetter__ when generating stack trace.
yangguo@chromium.org [Wed, 11 Jul 2012 11:35:19 +0000 (11:35 +0000)]
Do not use user-defined __lookupGetter__ when generating stack trace.

BUG=v8:1591
TEST=regress-1591.js

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

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

12 years agoFix compile errors in Visual C++ 2008.
danno@chromium.org [Wed, 11 Jul 2012 10:08:56 +0000 (10:08 +0000)]
Fix compile errors in Visual C++ 2008.

R=danno@chromium.org
BUG=None
TEST=ARM compiles on VC 2008.

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

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

12 years agoTurn on es5[2] features by default.
rossberg@chromium.org [Wed, 11 Jul 2012 09:39:44 +0000 (09:39 +0000)]
Turn on es5[2] features by default.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoRe-land "Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed."
svenpanne@chromium.org [Wed, 11 Jul 2012 07:59:58 +0000 (07:59 +0000)]
Re-land "Removed one copy-n-paste clone of HGraphBuilder::BuildStoreNamed."

The previous CL used the wrong map in some cases, leading to a wrong decision
regarding monomorphic usage and therefore some performance regressions.

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

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

12 years agoSync preparser and parser wrt syntax error in switch..case.
yangguo@chromium.org [Wed, 11 Jul 2012 07:47:29 +0000 (07:47 +0000)]
Sync preparser and parser wrt syntax error in switch..case.

R=jkummerow@chromium.org
BUG=v8:2210
TEST=test-parsing/ParserSync

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

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