platform/upstream/v8.git
12 years agoMicrooptimization to regexps.
erik.corry@gmail.com [Fri, 14 Sep 2012 12:01:12 +0000 (12:01 +0000)]
Microoptimization to regexps.
Review URL: https://chromiumcodereview.appspot.com/10917260

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

12 years agoConsistently use named getters for Lithium operands on ia32.
svenpanne@chromium.org [Fri, 14 Sep 2012 11:55:49 +0000 (11:55 +0000)]
Consistently use named getters for Lithium operands on ia32.

With this CL we clearly distinguish two different views on Lithium
instructions: For register allocation, the actual instruction/operand
is irrelevant, so it has only an iterator/indexed view on the
instruction operands. All other places, most importantly code
generation, use named getters for the operands now, making it easy to
see where each one is used.

Review URL: https://codereview.chromium.org/10919261

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

12 years agoFix compile errors on Win64.
erik.corry@gmail.com [Fri, 14 Sep 2012 11:48:31 +0000 (11:48 +0000)]
Fix compile errors on Win64.
Review URL: https://chromiumcodereview.appspot.com/10913273

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

12 years agoConsistently use named getters for Lithium operands on x64
svenpanne@chromium.org [Fri, 14 Sep 2012 11:46:01 +0000 (11:46 +0000)]
Consistently use named getters for Lithium operands on x64

Review URL: https://codereview.chromium.org/10933087

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

12 years agoReplace r12503. Explicitly check toString() for exception in d8's print().
yangguo@chromium.org [Fri, 14 Sep 2012 11:43:46 +0000 (11:43 +0000)]
Replace r12503. Explicitly check toString() for exception in d8's print().

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

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

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

12 years agoSwitch on code compaction on incremental GCs.
erik.corry@gmail.com [Fri, 14 Sep 2012 11:38:45 +0000 (11:38 +0000)]
Switch on code compaction on incremental GCs.
Review URL: https://chromiumcodereview.appspot.com/10928203

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

12 years agoRefactoring of snapshots. This simplifies and improves
erik.corry@gmail.com [Fri, 14 Sep 2012 11:16:56 +0000 (11:16 +0000)]
Refactoring of snapshots.  This simplifies and improves
the speed of deserializing code.  The current startup
time improvement for V8 is around 6%, but code deserialization
is speeded up disproportionately, and we will soon have more
code in the snapshot.
* Removed support for deserializing into large object space.
  The regular pages are 1Mbyte now and that is plenty.  This
  is a big simplification.
* Instead of reserving space for the snapshot we actually
  allocate it now.  This removes some special casing from
  the memory management and simplifies deserialization since
  we are just bumping a pointer rather than calling the
  normal allocation routines during deserialization.
* Record in the snapshot how much we need to boot up and
  allocate it instead of just assuming that allocations in
  a new VM will always be linear.
* In the snapshot we always address an object as a negative
  offset from the current allocation point.  We used to
  sometimes address from the start of the deserialized data,
  but this is less useful now that we have good support for
  roots and repetitions in the deserialization data.
* Code objects were previously deserialized (like other
  objects) by alternating raw data (deserialized with memcpy)
  and pointers (to external references, other objects, etc.).
  Now we deserialize code objects with a single memcpy,
  followed by a series of skips and pointers that partially
  overwrite the code we memcopied out of the snapshot.
  The skips are sometimes merged into the following
  instruction in the deserialization data to reduce dispatch
  time.
* Integers in the snapshot were stored in a variable length
  format that gives a compact representation for small positive
  integers.  This is still the case, but the new encoding can
  be decoded without branches or conditional instructions,
  which is faster on a modern CPU.
Review URL: https://chromiumcodereview.appspot.com/10918067

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

12 years agoFix caching of optimized code for OSR.
mstarzinger@chromium.org [Fri, 14 Sep 2012 10:41:31 +0000 (10:41 +0000)]
Fix caching of optimized code for OSR.

This makes sure we do not share optimized code across closures that were
optimized using OSR (for a particular OSR entry AST id) even if caching
of optimized code kicks in.

R=danno@chromium.org
BUG=v8:2326
TEST=mjsunit/regress/regress-2326

Review URL: https://codereview.chromium.org/10933088

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

12 years agoNot mask exception thrown by toString in String::UtfValue etc.
yangguo@chromium.org [Fri, 14 Sep 2012 08:13:57 +0000 (08:13 +0000)]
Not mask exception thrown by toString in String::UtfValue etc.

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

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

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

12 years agoSkip version 3.13.8 and fast-forward to 3.14.0
danno@chromium.org [Fri, 14 Sep 2012 07:44:28 +0000 (07:44 +0000)]
Skip version 3.13.8 and fast-forward to 3.14.0

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/10907230

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

12 years agoReplace VFP by VFP2 in common.gypi
yangguo@chromium.org [Fri, 14 Sep 2012 07:41:55 +0000 (07:41 +0000)]
Replace VFP by VFP2 in common.gypi

This fixes an omission in cl 10818026.
Patch by Nathan Rajlich.

Review URL: https://chromiumcodereview.appspot.com/10913256
Patch from Bert Belder <bertbelder@gmail.com>.

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

12 years agoDirectly set the value in the descriptors pointer to avoid checks.
verwaest@chromium.org [Thu, 13 Sep 2012 16:48:31 +0000 (16:48 +0000)]
Directly set the value in the descriptors pointer to avoid checks.

This is the only place from where we are allowed to modify the value of
the descriptors pointer.

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

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

12 years agoFix printf formatting in test-compiler.
yangguo@chromium.org [Thu, 13 Sep 2012 15:06:15 +0000 (15:06 +0000)]
Fix printf formatting in test-compiler.

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

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

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

12 years agoClear the EnumLength fields of maps that lose their enumeration cache.
verwaest@chromium.org [Thu, 13 Sep 2012 14:36:51 +0000 (14:36 +0000)]
Clear the EnumLength fields of maps that lose their enumeration cache.

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

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

12 years agoFix API check for length of external arrays.
mstarzinger@chromium.org [Thu, 13 Sep 2012 09:36:56 +0000 (09:36 +0000)]
Fix API check for length of external arrays.

R=jkummerow@chromium.org
BUG=chromium:148896
TEST=cctest/test-api/ExternalArrayLimits

Review URL: https://codereview.chromium.org/10914257

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

12 years agoEnsure correct enumeration indices in the dict
verwaest@chromium.org [Thu, 13 Sep 2012 08:52:55 +0000 (08:52 +0000)]
Ensure correct enumeration indices in the dict

BUG=chromium:148376

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

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

12 years agoFixed bounds check removal by restricting it to int32 indexes (and reenabled both...
mmassi@chromium.org [Wed, 12 Sep 2012 17:00:25 +0000 (17:00 +0000)]
Fixed bounds check removal by restricting it to int32 indexes (and reenabled both ABCR and index dehoisting).

BUG=
TEST=

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

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

12 years agoSharing of descriptor arrays.
verwaest@chromium.org [Wed, 12 Sep 2012 16:43:57 +0000 (16:43 +0000)]
Sharing of descriptor arrays.

This CL adds multiple things:
Transition arrays do not directly point at their descriptor array anymore, but rather do so via an indirect pointer (a JSGlobalPropertyCell).

An ownership bit is added to maps indicating whether it owns its own descriptor array or not.

Maps owning a descriptor array can pass on ownership if a transition from that map is generated; but only if the descriptor array stays exactly the same; or if a descriptor is added.

Maps that don't have ownership get ownership back if their direct child to which ownership was passed is cleared in ClearNonLiveTransitions.

To detect which descriptors in an array are valid, each map knows its own NumberOfOwnDescriptors. Since the descriptors are sorted in order of addition, if we search and find a descriptor with index bigger than this number, it is not valid for the given map.

We currently still build up an enumeration cache (although this may disappear). The enumeration cache is always built for the entire descriptor array, even if not all descriptors are owned by the map. Once a descriptor array has an enumeration cache for a given map; this invariant will always be true, even if the descriptor array was extended. The extended array will inherit the enumeration cache from the smaller descriptor array. If a map with more descriptors needs an enumeration cache, it's EnumLength will still be set to invalid, so it will have to recompute the enumeration cache. This new cache will also be valid for smaller maps since they have their own enumlength; and use this to loop over the cache. If the EnumLength is still invalid, but there is already a cache present that is big enough; we just initialize the EnumLength field for the map.

When we apply ClearNonLiveTransitions and descriptor ownership is passed back to a parent map, the descriptor array is trimmed in-place and resorted. At the same time, the enumeration cache is trimmed in-place.

Only transition arrays contain descriptor arrays. If we transition to a map and pass ownership of the descriptor array along, the child map will not store the descriptor array it owns. Rather its parent will keep the pointer. So for every leaf-map, we find the descriptor array by following the back pointer, reading out the transition array, and fetching the descriptor array from the JSGlobalPropertyCell. If a map has a transition array, we fetch it from there. If a map has undefined as its back-pointer and has no transition array; it is considered to have an empty descriptor array.

When we modify properties, we cannot share the descriptor array. To accommodate this, the child map will get its own transition array; even if there are not necessarily any transitions leaving from the child map. This is necessary since it's the only way to store its own descriptor array.

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

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

12 years agoCorrectly initialize regexp global cache.
yangguo@chromium.org [Wed, 12 Sep 2012 15:26:43 +0000 (15:26 +0000)]
Correctly initialize regexp global cache.

R=ulan@chromium.org
BUG=148378

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

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

12 years agoFix compilation issue in r12489.
mstarzinger@chromium.org [Wed, 12 Sep 2012 14:11:37 +0000 (14:11 +0000)]
Fix compilation issue in r12489.

R=svenpanne@chromium.org

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

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

12 years agoFix arguments object materialization during deopt.
mstarzinger@chromium.org [Wed, 12 Sep 2012 12:28:42 +0000 (12:28 +0000)]
Fix arguments object materialization during deopt.

This fixes materialization of arguments objects for strict mode functions during
deoptimization. We materialize arguments from the stack area where optimized
code pushes the arguments when entering the inlined environment. For adapted
invocations we use the arguments adaptor frame for materialization.

R=svenpanne@chromium.org
BUG=v8:2261
TEST=mjsunit/regress/regress-2261,mjsunit/compiler/inline-arguments

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

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

12 years agoIntroduce new API to expose external string resource regardless of encoding.
yangguo@chromium.org [Wed, 12 Sep 2012 11:29:50 +0000 (11:29 +0000)]
Introduce new API to expose external string resource regardless of encoding.

BUG=

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

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

12 years agoShorten code path in string allocation.
yangguo@chromium.org [Wed, 12 Sep 2012 11:15:20 +0000 (11:15 +0000)]
Shorten code path in string allocation.

This was part of r12430 (http://codereview.chromium.org/10857030/) which has been reverted.

R=ulan@chromium.org
BUG=

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

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

12 years agoFixed CHECK failure in LCodeGen::DoWrapReceiver when --deopt-every-n-times flag is...
jkummerow@chromium.org [Wed, 12 Sep 2012 08:37:47 +0000 (08:37 +0000)]
Fixed CHECK failure in LCodeGen::DoWrapReceiver when --deopt-every-n-times flag is present

BUG=148389

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

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

12 years agoFix edge case of extension with NULL as source string.
yangguo@chromium.org [Tue, 11 Sep 2012 14:16:56 +0000 (14:16 +0000)]
Fix edge case of extension with NULL as source string.

BUG=144649

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

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

12 years agoFix array index dehoisting.
mmassi@chromium.org [Tue, 11 Sep 2012 14:14:32 +0000 (14:14 +0000)]
Fix array index dehoisting.

BUG=141395
TEST=

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

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

12 years agoFix invariant so that we cannot record relocation slots for
erik.corry@gmail.com [Tue, 11 Sep 2012 14:01:39 +0000 (14:01 +0000)]
Fix invariant so that we cannot record relocation slots for
white objects when compacting.  Add flag for incremental code
compaction.
Review URL: https://chromiumcodereview.appspot.com/10907174

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

12 years agoPrepare push to trunk. Now working on version 3.13.8.
mstarzinger@chromium.org [Tue, 11 Sep 2012 13:19:02 +0000 (13:19 +0000)]
Prepare push to trunk.  Now working on version 3.13.8.

R=jkummerow@chromium.org

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

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

12 years agoFix TypeError message for Date builtins.
yangguo@chromium.org [Tue, 11 Sep 2012 12:43:17 +0000 (12:43 +0000)]
Fix TypeError message for Date builtins.

BUG=

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

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

12 years agoFix delta computation in DoDeferredInstanceOfKnownGlobal() for ARM.
ulan@chromium.org [Tue, 11 Sep 2012 11:36:48 +0000 (11:36 +0000)]
Fix delta computation in DoDeferredInstanceOfKnownGlobal() for ARM.

BUG=v8:2314

R=yangguo@chromium.org

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

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

12 years agoIntroduce InternalProperty type and expose internal properties for bound functions
peter.rybin@gmail.com [Mon, 10 Sep 2012 23:17:04 +0000 (23:17 +0000)]
Introduce InternalProperty type and expose internal properties for bound functions

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

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

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

12 years agoAdd more checks for native callback results.
yangguo@chromium.org [Mon, 10 Sep 2012 13:38:21 +0000 (13:38 +0000)]
Add more checks for native callback results.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoFix deoptimizer for shared optimized code.
mstarzinger@chromium.org [Mon, 10 Sep 2012 11:05:17 +0000 (11:05 +0000)]
Fix deoptimizer for shared optimized code.

The deoptimizer searched the stack for activations of the same function to
determine whether to trigger lazy deopting. Since we share optimized code we
actually need to search for activations of the same code (but potentially
different functions).

R=jkummerow@chromium.org
BUG=chromium:147475
TEST=mjsunit/regress/regress-crbug-147475

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

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

12 years agoEnable/disable LiveEdit using the (C++) debug API.
yangguo@chromium.org [Mon, 10 Sep 2012 09:24:17 +0000 (09:24 +0000)]
Enable/disable LiveEdit using the (C++) debug API.

BUG=

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

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

12 years agoAdd checks to runtime functions.
yangguo@chromium.org [Mon, 10 Sep 2012 08:35:26 +0000 (08:35 +0000)]
Add checks to runtime functions.

BUG=

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

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

12 years agoFixed deoptimization of inlined getters.
svenpanne@chromium.org [Fri, 7 Sep 2012 09:01:54 +0000 (09:01 +0000)]
Fixed deoptimization of inlined getters.

It is necessary to explicitly handle the internal frame lying between the caller
of the getter and the getter itself in the deoptimizer: When the getter is
inlined, leaving the internal frame restores the correct context.

BUG=http://crbug/134609
TEST=mjsunit/regress/regress-crbug-134609

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

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

12 years agoAdd support for running low level profiler on Android.
ulan@chromium.org [Thu, 6 Sep 2012 15:01:20 +0000 (15:01 +0000)]
Add support for running low level profiler on Android.

R=mstarzinger@chromium.org

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.7.
jkummerow@chromium.org [Thu, 6 Sep 2012 13:45:58 +0000 (13:45 +0000)]
Prepare push to trunk.  Now working on version 3.13.7.

R=yangguo@chromium.org

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

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

12 years agoLoosen up code logging test that was sensitive to GC timing.
erik.corry@gmail.com [Thu, 6 Sep 2012 11:05:40 +0000 (11:05 +0000)]
Loosen up code logging test that was sensitive to GC timing.
Review URL: https://chromiumcodereview.appspot.com/10918096

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

12 years agoExtend grokdump.py with [u]nassemble command
vegorov@chromium.org [Wed, 5 Sep 2012 16:23:01 +0000 (16:23 +0000)]
Extend grokdump.py with [u]nassemble command

R=mstarzinger@chromium.org
BUG=

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

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

12 years agoCheck the return value of API calls on ia32 and x64.
jkummerow@chromium.org [Wed, 5 Sep 2012 16:08:13 +0000 (16:08 +0000)]
Check the return value of API calls on ia32 and x64.

This implies that the return value of native getters is checked. The nice part
is that one can even see the name of the property in question in the abort
output when the check failed.

Under some circumstances even the return value of interceptors gets checked, but
I'm not 100% sure about this, because the interceptor code is basically tuned to
death.

The change seems to have very low overhead, so it might be feasible to keep this
check enabled unconditionally.

Review URL: https://chromiumcodereview.appspot.com/10918071
Patch from Sven Panne <svenpanne@chromium.org>.

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

12 years agoAdd empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)
jkummerow@chromium.org [Wed, 5 Sep 2012 16:06:53 +0000 (16:06 +0000)]
Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)

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

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

12 years agoDisable accessor inlining (due to broken deopts)
jkummerow@chromium.org [Wed, 5 Sep 2012 16:06:07 +0000 (16:06 +0000)]
Disable accessor inlining (due to broken deopts)

BUG=134609

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

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

12 years agoPush stacktrace and die if the receiver is of unknown type.
verwaest@chromium.org [Wed, 5 Sep 2012 12:30:49 +0000 (12:30 +0000)]
Push stacktrace and die if the receiver is of unknown type.

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

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

12 years agoFix binding in new Function().
erik.corry@gmail.com [Wed, 5 Sep 2012 11:45:58 +0000 (11:45 +0000)]
Fix binding in new Function().
Review URL: https://chromiumcodereview.appspot.com/10916114

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

12 years agoFix missing colon in common.gypi
jkummerow@chromium.org [Wed, 5 Sep 2012 09:29:15 +0000 (09:29 +0000)]
Fix missing colon in common.gypi

R=yangguo@chromium.org

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

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

12 years agoAdd build system infrastructure for ENABLE_EXTRA_CHECKS flag (not used yet)
jkummerow@chromium.org [Wed, 5 Sep 2012 09:24:37 +0000 (09:24 +0000)]
Add build system infrastructure for ENABLE_EXTRA_CHECKS flag (not used yet)

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

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

12 years agoFix some corner cases in skipping native methods using caller.
erik.corry@gmail.com [Wed, 5 Sep 2012 08:19:49 +0000 (08:19 +0000)]
Fix some corner cases in skipping native methods using caller.
Review URL: https://chromiumcodereview.appspot.com/10911063

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

12 years agoRevert r12430, r12432, r12433 (basic support for Latin1).
yangguo@chromium.org [Tue, 4 Sep 2012 12:23:22 +0000 (12:23 +0000)]
Revert r12430, r12432, r12433 (basic support for Latin1).

BUG=

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

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

12 years agoFixed test expectation.
verwaest@chromium.org [Tue, 4 Sep 2012 09:54:36 +0000 (09:54 +0000)]
Fixed test expectation.

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

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

12 years agoSupport register as right operand in min/max support.
verwaest@chromium.org [Tue, 4 Sep 2012 09:35:43 +0000 (09:35 +0000)]
Support register as right operand in min/max support.

R=jkummerow@chromium.org
BUG=chromium:145961
TEST=mjsunit/regress/regress-crbug-145961.js

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

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

12 years agoFix more windows build warnings.
yangguo@chromium.org [Mon, 3 Sep 2012 15:50:24 +0000 (15:50 +0000)]
Fix more windows build warnings.

TBR=ulan@chromium.org
BUG=

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

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

12 years agoFix windows compile errors introduced by r12430.
yangguo@chromium.org [Mon, 3 Sep 2012 15:40:00 +0000 (15:40 +0000)]
Fix windows compile errors introduced by r12430.

R=ulan@chromium.org
BUG=

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

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

12 years agoDo not generate new enumeration indices for global objects.
verwaest@chromium.org [Mon, 3 Sep 2012 15:15:32 +0000 (15:15 +0000)]
Do not generate new enumeration indices for global objects.

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

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

12 years agoAdd basic support for Latin1 to the API.
yangguo@chromium.org [Mon, 3 Sep 2012 15:06:36 +0000 (15:06 +0000)]
Add basic support for Latin1 to the API.

BUG=

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

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

12 years agoUse local variable for getter function in Error.stack
yangguo@chromium.org [Mon, 3 Sep 2012 15:05:08 +0000 (15:05 +0000)]
Use local variable for getter function in Error.stack

R=verwaest@chromium.org
BUG=

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

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

12 years agoFix FindSharedFunctionInfoInScript to not optimize.
mstarzinger@chromium.org [Mon, 3 Sep 2012 14:23:00 +0000 (14:23 +0000)]
Fix FindSharedFunctionInfoInScript to not optimize.

This prevents a corner case in FindSharedFunctionInfoInScript that would cause
functions to be optimized because an intermittent GC would clear the flag
indicating whether breakpoints are present. Above method was also moved into the
Debug class because it is only used by the debugger.

R=verwaest@chromium.org

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

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

12 years agoIf we are trimming the whole array, just return the empty fixed array.
verwaest@chromium.org [Mon, 3 Sep 2012 13:27:17 +0000 (13:27 +0000)]
If we are trimming the whole array, just return the empty fixed array.

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

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

12 years agoOptimize dictionary enum generation.
verwaest@chromium.org [Mon, 3 Sep 2012 12:31:24 +0000 (12:31 +0000)]
Optimize dictionary enum generation.

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

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

12 years agoFix android.gypi to provide correct include and library paths when using standalone...
ulan@chromium.org [Mon, 3 Sep 2012 11:27:09 +0000 (11:27 +0000)]
Fix android.gypi to provide correct include and library paths when using standalone Android toolchain.

R=jkummerow@chromium.org

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

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

12 years agoDirectly use %ObjectKeys in json stringify.
verwaest@chromium.org [Mon, 3 Sep 2012 08:37:47 +0000 (08:37 +0000)]
Directly use %ObjectKeys in json stringify.

BUG=2312

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

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

12 years agoMIPS: First steps towards named Litihium operands.
svenpanne@chromium.org [Mon, 3 Sep 2012 06:36:19 +0000 (06:36 +0000)]
MIPS: First steps towards named Litihium operands.

Port r12383 (881d7d4d)

Original commit message:
Accessing Lithium operands via position is fragile and makes it impossible to
statically find all uses of a given operand. This CL is a step towards cleaning
this up, more to come...

BUG=
TEST=

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

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

12 years agoOnly regenerate enumeration indices if properties were deleted.
verwaest@chromium.org [Fri, 31 Aug 2012 18:12:25 +0000 (18:12 +0000)]
Only regenerate enumeration indices if properties were deleted.

This indicated by the NextEnumerationIndex diverging from the actual
NumberOfElements.

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

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

12 years agoClear descriptor pointer when normalizing properties.
verwaest@chromium.org [Fri, 31 Aug 2012 17:10:44 +0000 (17:10 +0000)]
Clear descriptor pointer when normalizing properties.

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

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

12 years agoFix VS2005 build.
yangguo@chromium.org [Fri, 31 Aug 2012 14:45:31 +0000 (14:45 +0000)]
Fix VS2005 build.

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

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

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

12 years agoAdd option to build using a standalone Android toolchain without Android NDK.
ulan@chromium.org [Fri, 31 Aug 2012 13:31:09 +0000 (13:31 +0000)]
Add option to build using a standalone Android toolchain without Android NDK.

R=jkummerow@chromium.org

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

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

12 years agoDisable test that triggers known bug.
yangguo@chromium.org [Fri, 31 Aug 2012 12:02:02 +0000 (12:02 +0000)]
Disable test that triggers known bug.

BUG=v8:2261

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

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

12 years agoMIPS: Use a special EnumLength field to indicate number of valid enum cache values.
verwaest@chromium.org [Fri, 31 Aug 2012 09:50:27 +0000 (09:50 +0000)]
MIPS: Use a special EnumLength field to indicate number of valid enum cache values.

Port r12400 (03ae62de)

Original commit message:
This is preparatory work for sharing Enum Caches.

BUG=
TEST=

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

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

12 years agoCache results in SearchRegExpMultiple.
yangguo@chromium.org [Fri, 31 Aug 2012 09:28:01 +0000 (09:28 +0000)]
Cache results in SearchRegExpMultiple.

BUG=

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

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

12 years agoActivate fixed ES5 readonly semantics by default.
rossberg@chromium.org [Fri, 31 Aug 2012 09:12:31 +0000 (09:12 +0000)]
Activate fixed ES5 readonly semantics by default.

R=jkummerow@chromium.org
BUG=

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

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

12 years agoRemoved trailing whitespace.
verwaest@chromium.org [Thu, 30 Aug 2012 18:10:09 +0000 (18:10 +0000)]
Removed trailing whitespace.

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

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

12 years agoElements load depends on the type of the receiver.
verwaest@chromium.org [Thu, 30 Aug 2012 17:31:32 +0000 (17:31 +0000)]
Elements load depends on the type of the receiver.

R=jkummerow@chromium.org

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

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

12 years agoAdd hardfp flag to the Makefile.
jkummerow@chromium.org [Thu, 30 Aug 2012 16:43:58 +0000 (16:43 +0000)]
Add hardfp flag to the Makefile.

This flag passes -Dv8_use_arm_eabi_hardfloat=true to gyp.

This is needed for Linux distros that are experimenting
with hardfp.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/10889026
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

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

12 years agoFixed comment and simplified the related code a bit.
svenpanne@chromium.org [Thu, 30 Aug 2012 06:45:45 +0000 (06:45 +0000)]
Fixed comment and simplified the related code a bit.

TBR=erik.corry@gmail.com

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

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

12 years agoRemove obsolete method declarations from HeapEntry class.
loislo@chromium.org [Wed, 29 Aug 2012 16:12:23 +0000 (16:12 +0000)]
Remove obsolete method declarations from HeapEntry class.

BUG=none
TEST=none

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.6.
yangguo@chromium.org [Wed, 29 Aug 2012 15:29:41 +0000 (15:29 +0000)]
Prepare push to trunk.  Now working on version 3.13.6.

R=jkummerow@chromium.org
BUG=

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

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

12 years agoRevert r12379 (Add checks to external string API).
yangguo@chromium.org [Wed, 29 Aug 2012 15:23:48 +0000 (15:23 +0000)]
Revert r12379 (Add checks to external string API).

R=ulan@chromium.org
BUG=

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

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

12 years agoSlightly simplify declaration of node types.
rossberg@chromium.org [Wed, 29 Aug 2012 09:33:14 +0000 (09:33 +0000)]
Slightly simplify declaration of node types.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoIntroduce some predicates over variable modes.
rossberg@chromium.org [Wed, 29 Aug 2012 09:19:53 +0000 (09:19 +0000)]
Introduce some predicates over variable modes.
These should be handy when we add more declaration forms for Harmony.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoRelease stack trace data after firing Error.stack accessor.
yangguo@chromium.org [Wed, 29 Aug 2012 07:51:48 +0000 (07:51 +0000)]
Release stack trace data after firing Error.stack accessor.

BUG=v8:2308

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

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

12 years agoAdded IC support for native setters on the prototype chain.
svenpanne@chromium.org [Wed, 29 Aug 2012 06:12:46 +0000 (06:12 +0000)]
Added IC support for native setters on the prototype chain.

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

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

12 years agoAdd a new API V8::SetJitCodeEventHandler to push code name and location to users...
jkummerow@chromium.org [Tue, 28 Aug 2012 14:43:28 +0000 (14:43 +0000)]
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.

BUG=None
TEST=Included in CL.

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

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

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

12 years agoUse a special EnumLength field to indicate number of valid enum cache values.
verwaest@chromium.org [Tue, 28 Aug 2012 14:20:50 +0000 (14:20 +0000)]
Use a special EnumLength field to indicate number of valid enum cache values.

This is preparatory work for sharing Enum Caches.

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

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

12 years agoDisable test that triggers known bug.
rossberg@chromium.org [Tue, 28 Aug 2012 14:17:55 +0000 (14:17 +0000)]
Disable test that triggers known bug.

R=verwaest@chromium.org
BUG=v8:2261

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

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

12 years agoAllocate block-scoped global bindings to global context.
rossberg@chromium.org [Tue, 28 Aug 2012 11:25:08 +0000 (11:25 +0000)]
Allocate block-scoped global bindings to global context.

- The global object has a reference to the current global scope chain.
  Running a script adds to the chain if it contains global lexical declarations.
- Scripts are executed relative to a global, not a native context.
- Harmony let and const bindings are allocated to the innermost global context;
  var and function still live on the global object.
  (Lexical bindings are not reflected on the global object at all,
  but that will probably change later using accessors, as for modules.)
- Compilation of scripts now needs a (global) context (previously only eval did).
- The global scope chain represents one logical scope, so collision tests take
  the chain into account.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoIndex script compilation cache over context, too,
rossberg@chromium.org [Tue, 28 Aug 2012 10:49:23 +0000 (10:49 +0000)]
Index script compilation cache over context, too,
in preparation for global lexical scope.

R=ulan@chromium.org
BUG=
TEST=

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

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

12 years agoReland regexp global optimizations.
yangguo@chromium.org [Tue, 28 Aug 2012 09:37:41 +0000 (09:37 +0000)]
Reland regexp global optimizations.

BUG=

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.5.
yangguo@chromium.org [Tue, 28 Aug 2012 09:03:07 +0000 (09:03 +0000)]
Prepare push to trunk.  Now working on version 3.13.5.

R=ulan@chromium.org
BUG=

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

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

12 years agoDisable array bounds checks elimination.
yangguo@chromium.org [Tue, 28 Aug 2012 07:39:45 +0000 (07:39 +0000)]
Disable array bounds checks elimination.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoPrint reason for disabling optimization. Kill --trace-bailout flag.
svenpanne@chromium.org [Tue, 28 Aug 2012 07:18:06 +0000 (07:18 +0000)]
Print reason for disabling optimization. Kill --trace-bailout flag.

The reason for disabling optimization of a given function is carried around in
CompilationInfo. The new mechanism is general enough that --trace-opt now
subsumes everything --trace-bailout could print, so we nuked the latter flag.

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

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

12 years agoRevert "Add a new API V8::SetJitCodeEventHandler to push code name and location to...
verwaest@chromium.org [Mon, 27 Aug 2012 19:47:02 +0000 (19:47 +0000)]
Revert "Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers."

This reverts commit r12389.

TBR=jkummerow@chromium.org, CC=siggi@chromium.org

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

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

12 years agoAdd a new API V8::SetJitCodeEventHandler to push code name and location to users...
jkummerow@chromium.org [Mon, 27 Aug 2012 18:03:38 +0000 (18:03 +0000)]
Add a new API V8::SetJitCodeEventHandler to push code name and location to users such as profilers.

BUG=None
TEST=Included in CL.

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

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

12 years agoRevert r12342 "Flush monomorphic ICs on context disposal instead of context exit...
ulan@chromium.org [Mon, 27 Aug 2012 16:08:27 +0000 (16:08 +0000)]
Revert r12342 "Flush monomorphic ICs on context disposal instead of context exit." because of canary channel crashes.

BUG=144230
R=verwaest@chromium.org

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

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

12 years agoProvide option to disable full DEBUG build on Android.
ulan@chromium.org [Mon, 27 Aug 2012 15:25:15 +0000 (15:25 +0000)]
Provide option to disable full DEBUG build on Android.

V8 full DEBUG is too slow on Android. Disable it when android_full_debug==0.

R=ulan
BUG=none

Review URL: https://chromiumcodereview.appspot.com/10874062
Patch from Xianzhu Wang <wangxianzhu@chromium.org>.

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

12 years agoDisallow updates to ic_with_type_info_count with negative values.
ulan@chromium.org [Mon, 27 Aug 2012 15:17:14 +0000 (15:17 +0000)]
Disallow updates to ic_with_type_info_count with negative values.

R=jkummerow@chromium.org

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

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

12 years agoMake order of addition the primary order of descriptor arrays.
verwaest@chromium.org [Mon, 27 Aug 2012 13:47:34 +0000 (13:47 +0000)]
Make order of addition the primary order of descriptor arrays.

The order by name is maintained as secondary order by using unused bits in the property details.

This is preliminary work towards sharing descriptors arrays.

The change allows us
- to get rid of the LastAdded bits in the map, binding it to the number of valid descriptors for the given map
- to avoid resorting by enumeration index to create the cache
- (maybe in the future, depending on performance) to get rid of the enumeration cache altogether.

Although generally the number_of_descriptors equals the NumberOfOwnDescriptors in the current version, this is preliminary work towards sharing    descriptors, where maps may have more descriptors than are valid for the map.

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

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

12 years agoIntroduce global contexts to represent lexical global scope(s).
rossberg@chromium.org [Mon, 27 Aug 2012 09:40:26 +0000 (09:40 +0000)]
Introduce global contexts to represent lexical global scope(s).

They are yet unused; actual allocation of global lexical bindings in these contexts is implemented in a separate follow-up CL.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoFirst steps towards named Litihium operands.
svenpanne@chromium.org [Mon, 27 Aug 2012 09:39:05 +0000 (09:39 +0000)]
First steps towards named Litihium operands.

Accessing Lithium operands via position is fragile and makes it impossible to
statically find all uses of a given operand. This CL is a step towards cleaning
this up, more to come...

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

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

12 years agoUnbreak MIPS build.
svenpanne@chromium.org [Mon, 27 Aug 2012 09:05:07 +0000 (09:05 +0000)]
Unbreak MIPS build.

TBR=vegorov@chromium.org

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

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

12 years agoRemove unused method and add line breaks after each serialized edge
yurys@chromium.org [Mon, 27 Aug 2012 08:49:00 +0000 (08:49 +0000)]
Remove unused method and add line breaks after each serialized edge
Review URL: https://chromiumcodereview.appspot.com/10874063

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