platform/upstream/v8.git
12 years agoAlways set the callee's context when calling a function from optimized code.
jkummerow@chromium.org [Thu, 26 Jul 2012 12:49:08 +0000 (12:49 +0000)]
Always set the callee's context when calling a function from optimized code.

This is necessary even for recursive calls because we're sharing optimized code among closures, which could call each other and have distinct contexts.

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

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

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

12 years agoFix path to d8 and properly quote strings so it works with dash(1)
mikhail.naganov@gmail.com [Thu, 26 Jul 2012 10:03:30 +0000 (10:03 +0000)]
Fix path to d8 and properly quote strings so it works with dash(1)

Patch by Sandro Santilli <strk@keybit.net>

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

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

12 years agoFix building with GCC 3.x
yangguo@chromium.org [Thu, 26 Jul 2012 09:18:09 +0000 (09:18 +0000)]
Fix building with GCC 3.x

R=yangguo@chromium.org
BUG=v8:2016, v8:2017
TEST=

Review URL: https://chromiumcodereview.appspot.com/10823034
Patch from James Pike <g00gle@chilon.net>.

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

12 years agoCleaned up Hydrogen function signatures related to property access.
svenpanne@chromium.org [Thu, 26 Jul 2012 08:55:22 +0000 (08:55 +0000)]
Cleaned up Hydrogen function signatures related to property access.

This is a refactoring-only CL and the first one in a series for enabling
inlining of accessors. The naming and argument order has been unified a bit, and
some tests have been pushed to the caller in order to get a simpler
signature. Note that the latter temporarily introduces some code redundancy, but
this will be cleaned up in one of the next CLs.

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

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

12 years agoFix cctests when VFP is disabled.
yangguo@chromium.org [Thu, 26 Jul 2012 08:42:42 +0000 (08:42 +0000)]
Fix cctests when VFP is disabled.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoLimited the size of transition arrays so they never end up in the large object space.
verwaest@chromium.org [Thu, 26 Jul 2012 08:27:20 +0000 (08:27 +0000)]
Limited the size of transition arrays so they never end up in the large object space.

Also renamed SizeOf on DescriptorArray to LengthOf for consistency.

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

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

12 years agoImprove API calls that return empty handles.
mstarzinger@chromium.org [Wed, 25 Jul 2012 16:33:32 +0000 (16:33 +0000)]
Improve API calls that return empty handles.

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

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

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

12 years agoRelax requirement from VFP3 to VFP2 where possible.
yangguo@chromium.org [Wed, 25 Jul 2012 15:26:16 +0000 (15:26 +0000)]
Relax requirement from VFP3 to VFP2 where possible.

BUG=
TEST=

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

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

12 years agoRefactor incremental marking to use static visitor.
mstarzinger@chromium.org [Wed, 25 Jul 2012 15:23:07 +0000 (15:23 +0000)]
Refactor incremental marking to use static visitor.

This is a refactoring only change that switches incremental marking to
use a static object visitor. It also shares the common code between the
non-incremental and the incremental marker. Sharing that would require
semantical changes will be done later.

R=verwaest@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.17.
danno@chromium.org [Wed, 25 Jul 2012 14:58:20 +0000 (14:58 +0000)]
Prepare push to trunk.  Now working on version 3.12.17.

R=jkummerow@chromium.org

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

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

12 years agoMIPS: Optimize Smi keys for KeyedLoads
danno@chromium.org [Wed, 25 Jul 2012 14:38:32 +0000 (14:38 +0000)]
MIPS: Optimize Smi keys for KeyedLoads

Port r12156 (e2874cdf)

Original commit message:
Allows KeyeLoad/KeyedStore operations where the key is a Smi to fold the untagging of the key into the element offset calculation.

BUG=
TEST=

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

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

12 years agoMIPS: Implements a new API to set a function entry hook for profiling.
danno@chromium.org [Wed, 25 Jul 2012 14:36:38 +0000 (14:36 +0000)]
MIPS: Implements a new API to set a function entry hook for profiling.

Port r12107 (59ee5c88)

Original commit message:
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

BUG=
TEST=

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

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

12 years agoFix static initializer check.
yangguo@chromium.org [Wed, 25 Jul 2012 14:27:14 +0000 (14:27 +0000)]
Fix static initializer check.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoClassify small functions platform-dependently.
yangguo@chromium.org [Wed, 25 Jul 2012 13:51:29 +0000 (13:51 +0000)]
Classify small functions platform-dependently.

BUG=
TEST=

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

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

12 years agoIn-place trimming of descriptor array when appending callbacks.
verwaest@chromium.org [Wed, 25 Jul 2012 11:12:29 +0000 (11:12 +0000)]
In-place trimming of descriptor array when appending callbacks.

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

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

12 years agoMIPS: Optimize functions on a second thread.
yangguo@chromium.org [Tue, 24 Jul 2012 14:13:02 +0000 (14:13 +0000)]
MIPS: Optimize functions on a second thread.

Port r12148 (a553c67d)

BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.12.16.
yangguo@chromium.org [Tue, 24 Jul 2012 07:55:08 +0000 (07:55 +0000)]
Prepare push to trunk.  Now working on version 3.12.16.

R=jkummerow@chromium.org
BUG=
TEST=

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

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

12 years agoAndroid test runner: Make android-sync.sh work on Mac
jkummerow@chromium.org [Mon, 23 Jul 2012 16:57:22 +0000 (16:57 +0000)]
Android test runner: Make android-sync.sh work on Mac

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

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

12 years agoFix bootstrapping without snapshot and low GC interval.
mstarzinger@chromium.org [Mon, 23 Jul 2012 16:18:25 +0000 (16:18 +0000)]
Fix bootstrapping without snapshot and low GC interval.

R=yangguo@chromium.org
BUG=v8:2249
TEST=mjsunit/regress/regress-2249 (snapshot=off)

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

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

12 years agoReactivate packed array optimizations by default
danno@chromium.org [Mon, 23 Jul 2012 15:01:25 +0000 (15:01 +0000)]
Reactivate packed array optimizations by default

R=jkummerow@chromium.org

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

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

12 years agoReplace symbol containing "prototype" with heap->prototype_symbol.
verwaest@chromium.org [Mon, 23 Jul 2012 14:55:12 +0000 (14:55 +0000)]
Replace symbol containing "prototype" with heap->prototype_symbol.

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

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

12 years agoImprove String::WriteAscii and add PRESERVE_ASCII_NULL option.
yangguo@chromium.org [Mon, 23 Jul 2012 14:22:46 +0000 (14:22 +0000)]
Improve String::WriteAscii and add PRESERVE_ASCII_NULL option.

The PRESERVE_ASCII_NULL option prevents WriteAscii from converting
\0 to white space.

R=verwaest@chromium.org
BUG=v8:2252
TEST=test-api/StringWrite

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

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

12 years agoAdd dependency to HLoadKeyed* instructions to prevent invalid hoisting
danno@chromium.org [Mon, 23 Jul 2012 13:59:24 +0000 (13:59 +0000)]
Add dependency to HLoadKeyed* instructions to prevent invalid hoisting

BUG=chromium:137768
TEST=test/mjsunit/regress/regress-137768.js

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

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

12 years agoEnable building V8 for Android on Mac
jkummerow@chromium.org [Mon, 23 Jul 2012 12:02:46 +0000 (12:02 +0000)]
Enable building V8 for Android on Mac

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

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

12 years agoAndroid test runner: Do not copy files in *.svn folder
jkummerow@chromium.org [Mon, 23 Jul 2012 11:34:03 +0000 (11:34 +0000)]
Android test runner: Do not copy files in *.svn folder

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

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

12 years agoUpdate mozilla test expectations for outdated test.
yangguo@chromium.org [Mon, 23 Jul 2012 11:24:48 +0000 (11:24 +0000)]
Update mozilla test expectations for outdated test.

R=jkummerow@chromium.org
BUG=v8:2240
TEST=

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

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

12 years agoInterpret negative hexadecimal literals as NaN.
yangguo@chromium.org [Mon, 23 Jul 2012 10:33:41 +0000 (10:33 +0000)]
Interpret negative hexadecimal literals as NaN.

R=rossberg@chromium.org
BUG=v8:2240
TEST=str-to-num.js

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

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

12 years agoSet 'executable' bit on tools/android-build.sh
jkummerow@chromium.org [Mon, 23 Jul 2012 09:59:17 +0000 (09:59 +0000)]
Set 'executable' bit on tools/android-build.sh

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

12 years agoFix corner case when transforming dictionary to fast elements.
yangguo@chromium.org [Mon, 23 Jul 2012 08:41:53 +0000 (08:41 +0000)]
Fix corner case when transforming dictionary to fast elements.

R=verwaest@chromium.org
BUG=v8:2249
TEST=regress-2249.js

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

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

12 years agoAdd assertions to limit register count for VSTM and VLDM.
yangguo@chromium.org [Mon, 23 Jul 2012 08:38:53 +0000 (08:38 +0000)]
Add assertions to limit register count for VSTM and VLDM.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoRefine object stats for FixedArrays.
danno@chromium.org [Fri, 20 Jul 2012 14:06:24 +0000 (14:06 +0000)]
Refine object stats for FixedArrays.

R=yangguo@chromium.org

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

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

12 years agoOptimize Smi keys for KeyedLoads
danno@chromium.org [Fri, 20 Jul 2012 11:00:33 +0000 (11:00 +0000)]
Optimize Smi keys for KeyedLoads

Allows KeyeLoad/KeyedStore operations where the key is a Smi to fold the untagging of the key into the element offset calculation.

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

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

12 years agoAndroid test runner: Update mjsunit status
jkummerow@chromium.org [Fri, 20 Jul 2012 10:03:39 +0000 (10:03 +0000)]
Android test runner: Update mjsunit status

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

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

12 years agoAndroid test runner: Update cctest status
jkummerow@chromium.org [Fri, 20 Jul 2012 10:00:31 +0000 (10:00 +0000)]
Android test runner: Update cctest status

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

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

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