platform/upstream/v8.git
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

12 years agoMIPS: Fix rounding in Uint8ClampedArray setter.
ulan@chromium.org [Mon, 27 Aug 2012 07:29:36 +0000 (07:29 +0000)]
MIPS: Fix rounding in Uint8ClampedArray setter.

Port r12364 (31e40def)

Original commit message:
According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.

BUG=
TEST=

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

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

12 years agoAdd check to external string resource.
yangguo@chromium.org [Fri, 24 Aug 2012 13:01:52 +0000 (13:01 +0000)]
Add check to external string resource.

Extensions are a source of external strings where we don't perform check yet.

R=ulan@chromium.org
BUG=

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

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

12 years agoMIPS: Check that index and length are Smi in bounds check.
verwaest@chromium.org [Fri, 24 Aug 2012 09:06:23 +0000 (09:06 +0000)]
MIPS: Check that index and length are Smi in bounds check.

Port r12362 (cd39337c)

BUG=
TEST=

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

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

12 years agoDisable speculative LICM when it may lead to unnecessary deopts
danno@chromium.org [Thu, 23 Aug 2012 21:08:58 +0000 (21:08 +0000)]
Disable speculative LICM when it may lead to unnecessary deopts

BUG=v8:2250
R=vegorov@chromium.org
TEST=tests/mjsunit/regress/regress-2250.js

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

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

12 years agoTest case for conflicting global declarations across multiple scripts.
rossberg@chromium.org [Thu, 23 Aug 2012 16:38:15 +0000 (16:38 +0000)]
Test case for conflicting global declarations across multiple scripts.

R=ulan@chromium.org
BUG=
TEST=

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

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

12 years agoFix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.
vegorov@chromium.org [Thu, 23 Aug 2012 16:14:01 +0000 (16:14 +0000)]
Fix DoDeferredNumberTagU to keep the value in xmm1 instead of xmm0 on x64.

xmm0 is not saved across runtime call on x64 because MacroAssembler::EnterExitFrameEpilogue preserves only allocatable XMM registers unlike on ia32 where it preserves all registers.

Cleanup handling of shifts: SHR can deoptimize only when its a shift by 0, all other shift never deoptimize.

Fix type inference for i-to-t change instruction. On X64 this ensures that write-barrier is generated correctly.

R=danno@chromium.org

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

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

12 years agoFix typo in grokdump.
ulan@chromium.org [Thu, 23 Aug 2012 16:11:37 +0000 (16:11 +0000)]
Fix typo in grokdump.

R=verwaest@chromium.org

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

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

12 years agoFix semaphore on MacOS. This is a commit of https://chromiumcodereview.appspot.com...
erikcorry [Thu, 23 Aug 2012 11:15:06 +0000 (11:15 +0000)]
Fix semaphore on MacOS.  This is a commit of https://chromiumcodereview.appspot.com/10867009/ for Fedor Indutny

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

12 years agoMake the performance of the VM more predictable by not letting the hash seed
erik.corry@gmail.com [Thu, 23 Aug 2012 08:15:38 +0000 (08:15 +0000)]
Make the performance of the VM more predictable by not letting the hash seed
affect the order in which the local variables are processed in the compiler.
Review URL: https://chromiumcodereview.appspot.com/10870033

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

12 years agoWhen processing collected uint32 instructions skip those with non-Integer32 represent...
vegorov@chromium.org [Wed, 22 Aug 2012 19:00:02 +0000 (19:00 +0000)]
When processing collected uint32 instructions skip those with non-Integer32 representation.

R=danno@chromium.org
BUG=test262 S15.4.4.8_A2_T3.js

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

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

12 years agoFix order of conversions in ObjectToInt32 and ObjectToUint32 helpers.
vegorov@chromium.org [Wed, 22 Aug 2012 15:58:16 +0000 (15:58 +0000)]
Fix order of conversions in ObjectToInt32 and ObjectToUint32 helpers.

TBR=danno@chromium.org
BUG=

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

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

12 years agoAllow uint32 value on optimized frames if they are consumed by safe operations.
vegorov@chromium.org [Wed, 22 Aug 2012 15:44:17 +0000 (15:44 +0000)]
Allow uint32 value on optimized frames if they are consumed by safe operations.

Safe operations are those that either do not observe unsignedness or have special support for uint32 values:

- all binary bitwise operations: they perform ToInt32 on inputs;
- >> and << shifts: they perform ToInt32 on left hand side and ToUint32 on right hand side;
- >>> shift: it performs ToUint32 on both inputs;
- stores to integer external arrays (not pixel, float or double ones): these stores are "bitwise";
- HChange: special support added for conversions of uint32 values to double and tagged values;
- HSimulate: special support added for deoptimization with uint32 values in registers and stack slots;
- HPhi: phis that have only safe uses and only uint32 operands are uint32 themselves.

BUG=v8:2097
TEST=test/mjsunit/compiler/uint32.js

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

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

12 years agoWhile finding the valueOf descriptor, only look at the key entries.
verwaest@chromium.org [Wed, 22 Aug 2012 15:08:48 +0000 (15:08 +0000)]
While finding the valueOf descriptor, only look at the key entries.

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

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

12 years agoFix Windows build after r12364.
ulan@chromium.org [Wed, 22 Aug 2012 14:45:25 +0000 (14:45 +0000)]
Fix Windows build after r12364.

R=yangguo@chromium.org

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

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

12 years agoFix rounding in Uint8ClampedArray setter.
ulan@chromium.org [Wed, 22 Aug 2012 14:27:11 +0000 (14:27 +0000)]
Fix rounding in Uint8ClampedArray setter.

According to Web IDL spec, we should round to
the nearest integer, choosing the even integer
if it lies halfway between two.

R=yangguo@chromium.org,kbr@chromium.org
BUG=v8:2294

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

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

12 years agoPrint more x64 registers in grokdump.
svenpanne@chromium.org [Wed, 22 Aug 2012 07:02:19 +0000 (07:02 +0000)]
Print more x64 registers in grokdump.

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

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

12 years agoCheck that index and length are Smi in bounds check.
verwaest@chromium.org [Tue, 21 Aug 2012 16:46:25 +0000 (16:46 +0000)]
Check that index and length are Smi in bounds check.

BUG=chromium:142218
R=danno@chromium.org

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

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

12 years agoIntroduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for given...
vegorov@chromium.org [Tue, 21 Aug 2012 14:21:53 +0000 (14:21 +0000)]
Introduce DISABLE_ASAN macro to disable AddressSanitizer instrumentation for given functions.

Disable AddressSanitizer instrumentation for StackTracer::Trace.

R=danno@chromium.org
BUG=chromium:134722

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

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

12 years agoMIPS: Fix write barrier for StoreKeyedFastElements on ARM.
danno@chromium.org [Tue, 21 Aug 2012 11:33:49 +0000 (11:33 +0000)]
MIPS: Fix write barrier for StoreKeyedFastElements on ARM.

Port r12238 (300f3dac)

BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.4.
yangguo@chromium.org [Tue, 21 Aug 2012 10:45:44 +0000 (10:45 +0000)]
Prepare push to trunk.  Now working on version 3.13.4.

R=ulan@chromium.org
BUG=

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

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

12 years agoRevert r12346 (Introduce InternalProperty type and expose internal properties for...
yangguo@chromium.org [Tue, 21 Aug 2012 09:48:26 +0000 (09:48 +0000)]
Revert r12346 (Introduce InternalProperty type and expose internal properties for bound functions)

Original CL: https://chromiumcodereview.appspot.com/10834376

BUG=

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

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

12 years agoRevert r12258, r12300 and r12302 (global regexp).
yangguo@chromium.org [Tue, 21 Aug 2012 09:46:23 +0000 (09:46 +0000)]
Revert r12258, r12300 and r12302 (global regexp).

R=ulan@chromium.org
BUG=

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

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

12 years agoFix mjsunit/debug-script.js failure that occurs when running with the --isolates...
ulan@chromium.org [Tue, 21 Aug 2012 07:06:21 +0000 (07:06 +0000)]
Fix mjsunit/debug-script.js failure that occurs when running with the --isolates flag.

R=yangguo@chromium.org

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

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

12 years agoIntroduce InternalProperty type and expose internal properties for bound functions
peter.rybin@gmail.com [Mon, 20 Aug 2012 21:49:19 +0000 (21:49 +0000)]
Introduce InternalProperty type and expose internal properties for bound functions

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

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

12 years agoWhile allocating code objects, perform the incremental marking step before NULLing...
verwaest@chromium.org [Mon, 20 Aug 2012 14:44:26 +0000 (14:44 +0000)]
While allocating code objects, perform the incremental marking step before NULLing the new object. Otherwise the code cache cannot iterate the code space anymore, which is required to clear ICs.

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

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

12 years agoHandle native callbacks without getters.
svenpanne@chromium.org [Mon, 20 Aug 2012 14:32:32 +0000 (14:32 +0000)]
Handle native callbacks without getters.

TEST=cctest/test-api/SetterOnly,cctest/test-api/NoAccessors

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

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

12 years agoFix test failures introduced by r12342.
ulan@chromium.org [Mon, 20 Aug 2012 13:19:52 +0000 (13:19 +0000)]
Fix test failures introduced by r12342.

Add missing context disposed notifications in test-api.
Move send-idle-notification flag to d8 options so that it is available in d8
when v8 is build as a shared libarary.

R=yangguo@chromium.org

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

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

12 years agoFlush monomorphic ICs on context disposal instead of context exit.
ulan@chromium.org [Mon, 20 Aug 2012 12:09:03 +0000 (12:09 +0000)]
Flush monomorphic ICs on context disposal instead of context exit.

R=mstarzinger@chromium.org

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

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

12 years agoRename JSGlobalProxy::context to native_context,
rossberg@chromium.org [Mon, 20 Aug 2012 11:35:50 +0000 (11:35 +0000)]
Rename JSGlobalProxy::context to native_context,
for clarity and consistency with GlobalObject::native_context.

R=svenpanne@chromium.org
BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.3.
verwaest@chromium.org [Mon, 20 Aug 2012 09:17:58 +0000 (09:17 +0000)]
Prepare push to trunk.  Now working on version 3.13.3.

R=danno@chromium.org
BUG=

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

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

12 years agoFix typo in Add|RemoveGCPrologueCallback
yangguo@chromium.org [Mon, 20 Aug 2012 07:32:30 +0000 (07:32 +0000)]
Fix typo in Add|RemoveGCPrologueCallback

BUG=

Review URL: https://chromiumcodereview.appspot.com/10836234
Patch from Yang Gu <yang.gu@intel.com>.

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

12 years agoAdd input check to %DebugSetScriptSource.
yangguo@chromium.org [Fri, 17 Aug 2012 15:21:15 +0000 (15:21 +0000)]
Add input check to %DebugSetScriptSource.

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

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

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

12 years agoRename Context::global to Context::global_object,
rossberg@chromium.org [Fri, 17 Aug 2012 12:59:00 +0000 (12:59 +0000)]
Rename Context::global to Context::global_object,
in preparation for global lexical scope.

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoDeoptimization support for accessors.
svenpanne@chromium.org [Fri, 17 Aug 2012 10:43:32 +0000 (10:43 +0000)]
Deoptimization support for accessors.

Highlights of this CL:

 * Introduced a new opcode in the deoptimizer for a setter stub frame.

 * Added a global setter stub for returning after deoptimizing a setter.

 * We do not need special deopt support for getters, although the getter stub creates an internal frame. The normal machinery works just right for this case, although we generate a stack that can never occur during normal fullcode execution. If this hurts us one day, we can parameterize and reuse the setter deopt machinery.

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

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

12 years agoRename "global context" to "native context",
rossberg@chromium.org [Fri, 17 Aug 2012 09:03:08 +0000 (09:03 +0000)]
Rename "global context" to "native context",
in anticipation of the upcoming lexical global scope.

Mostly automatised as:

for FILE in `egrep -ril "global[ _]?context" src test/cctest`
do
  echo $FILE
  sed "s/Global context/Native context/g" <$FILE >$FILE.0
  sed "s/global context/native context/g" <$FILE.0 >$FILE.1
  sed "s/global_context/native_context/g" <$FILE.1 >$FILE.2
  sed "s/GLOBAL_CONTEXT/NATIVE_CONTEXT/g" <$FILE.2 >$FILE.3
  sed "s/GlobalContext/NativeContext/g" <$FILE.3 >$FILE
  rm $FILE.[0-9]
done

R=mstarzinger@chromium.org
BUG=
TEST=

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.2.
verwaest@chromium.org [Thu, 16 Aug 2012 15:39:37 +0000 (15:39 +0000)]
Prepare push to trunk.  Now working on version 3.13.2.

R=mstarzinger@chromium.org
BUG=

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

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

12 years agoShow map -> transition array -> descriptor array to the heap profiler.
verwaest@chromium.org [Thu, 16 Aug 2012 14:25:55 +0000 (14:25 +0000)]
Show map -> transition array -> descriptor array to the heap profiler.

BUG=chromium:142625

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

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

12 years agoForce eager compilation of some function literals.
mstarzinger@chromium.org [Thu, 16 Aug 2012 11:54:48 +0000 (11:54 +0000)]
Force eager compilation of some function literals.

In case a function literal is followed by parenthesis, we consider this
a hint that it will be called immediately. If we happen to have parsed
that function literal eagerly, we can also compile it eagerly.

R=ulan@chromium.org

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

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

12 years agoMIPS: Swapped transition array and descriptor array.
verwaest@chromium.org [Thu, 16 Aug 2012 11:42:02 +0000 (11:42 +0000)]
MIPS: Swapped transition array and descriptor array.

Port r12298 (7b39ef67)

Original commit message:
Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.

BUG=
TEST=

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

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

12 years agoChange the maximum optimization count into a commandline flag.
svenpanne@chromium.org [Thu, 16 Aug 2012 11:40:03 +0000 (11:40 +0000)]
Change the maximum optimization count into a commandline flag.

This is needed for some unit tests, which otherwise do not test what people
think they do. ;-)

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

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

12 years agoFix accessor lookup in crankshaft.
svenpanne@chromium.org [Thu, 16 Aug 2012 10:35:39 +0000 (10:35 +0000)]
Fix accessor lookup in crankshaft.

Seeing monomorphic type feedback plus an AccessorPair does not necessarily imply
that the corresponding getter/setter is really there, so we have to check for
this explictly.

TEST=mjsunit/object-define-property

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

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

12 years agoMIPS: Check for function in %_CallFunction.
yangguo@chromium.org [Thu, 16 Aug 2012 09:46:04 +0000 (09:46 +0000)]
MIPS: Check for function in %_CallFunction.

Port r12299 (f6372257)

BUG=
TEST=

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

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

12 years agoExtend constructor inlining test case.
mstarzinger@chromium.org [Thu, 16 Aug 2012 09:13:25 +0000 (09:13 +0000)]
Extend constructor inlining test case.

This makes sure that deoptimization really happens in each hydrogen
context by not using binary operations but loads instead. This is
needed because we cannot clear BinaryOpICs explicitly.

R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-construct

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

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

12 years agoMIPS: Fix improved LoadICs for dictionaries with callbacks.
mstarzinger@chromium.org [Thu, 16 Aug 2012 09:10:10 +0000 (09:10 +0000)]
MIPS: Fix improved LoadICs for dictionaries with callbacks.

Port r12311 (f698ddd7)

Original commit message:
This fixes the positive lookup performed by these LoadICs, to use the
holder instead of the receiver to perfrom the lookup on. It also extends
this improvement to KeyedLoadICs. And it fixes a bug introduced for the
JavaScript getter case of a LoadIC.

BUG=
TEST=

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

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

12 years agoFix bug in compare IC. BUG=2291
erik.corry@gmail.com [Wed, 15 Aug 2012 15:08:42 +0000 (15:08 +0000)]
Fix bug in compare IC.  BUG=2291
Review URL: https://chromiumcodereview.appspot.com/10830334

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

12 years agoImproved constructor inlining unit tests.
svenpanne@chromium.org [Wed, 15 Aug 2012 09:39:13 +0000 (09:39 +0000)]
Improved constructor inlining unit tests.

Currently we inline functions with different contexts only on ia32, so we have
to move the helper functions for the various contexts to the top level. Further
more, "new Object()" seems to prevent inlining, too, so we us a simple object
literal.

Although things get consistently inlined now, something strange seems to happen
in test/effect contexts: The DEOPT output seems to contain too few frames, and
we don't get any DEOPT ouput after the first time for those contexts. This has
to be investigated...

TBR=mstarzinger@chromium.org

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

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

12 years agoFix improved LoadICs for dictionaries with callbacks.
mstarzinger@chromium.org [Tue, 14 Aug 2012 13:17:47 +0000 (13:17 +0000)]
Fix improved LoadICs for dictionaries with callbacks.

This fixes the positive lookup performed by these LoadICs, to use the
holder instead of the receiver to perfrom the lookup on. It also extends
this improvement to KeyedLoadICs. And it fixes a bug introduced for the
JavaScript getter case of a LoadIC.

R=erik.corry@gmail.com
BUG=chromium:142088
TEST=cctest/test-api/Regress142088,cctest/test-api/Regress137002b

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

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

12 years agoDo checks when receiving external string resources through the API.
yangguo@chromium.org [Tue, 14 Aug 2012 12:16:38 +0000 (12:16 +0000)]
Do checks when receiving external string resources through the API.

This is to find incorrect API usage.

R=ulan@chromium.org
BUG=140050

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

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

12 years agoEnsure capacity when adding parts in String.replace.
yangguo@chromium.org [Tue, 14 Aug 2012 11:33:12 +0000 (11:33 +0000)]
Ensure capacity when adding parts in String.replace.

R=ulan@chromium.org
BUG=v8:2289
TEST=regress-2289.js

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

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

12 years agoPrevent segfault on undefined inline runtime call.
yangguo@chromium.org [Tue, 14 Aug 2012 10:06:34 +0000 (10:06 +0000)]
Prevent segfault on undefined inline runtime call.

R=mstarzinger@chromium.org
BUG=v8:2286

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

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

12 years agoDisable array index dehoisting due to stability issues.
erik.corry@gmail.com [Tue, 14 Aug 2012 09:22:34 +0000 (09:22 +0000)]
Disable array index dehoisting due to stability issues.
Review URL: https://chromiumcodereview.appspot.com/10834303

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

12 years agoFix indexing bug in regexp, part 2.
yangguo@chromium.org [Mon, 13 Aug 2012 15:53:40 +0000 (15:53 +0000)]
Fix indexing bug in regexp, part 2.

The previous fix initialized the start index incorrectly.

BUG=

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

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

12 years agoRemove prototype of global builtins object.
mstarzinger@chromium.org [Mon, 13 Aug 2012 15:34:49 +0000 (15:34 +0000)]
Remove prototype of global builtins object.

R=yangguo@chromium.org
BUG=v8:2284
TEST=mjsunit/regress/regress-2284

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

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

12 years agoFix wrong indexing in global regexp.
yangguo@chromium.org [Mon, 13 Aug 2012 15:26:46 +0000 (15:26 +0000)]
Fix wrong indexing in global regexp.

R=ulan@chromium.org
BUG=142087

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

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

12 years agoCheck for function in %_CallFunction.
yangguo@chromium.org [Mon, 13 Aug 2012 12:11:26 +0000 (12:11 +0000)]
Check for function in %_CallFunction.

R=mstarzinger@chromium.org
BUG=v8:2285

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

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

12 years agoSwapped transition array and descriptor array.
verwaest@chromium.org [Mon, 13 Aug 2012 08:43:16 +0000 (08:43 +0000)]
Swapped transition array and descriptor array.

Now a map points to a transition array which contains the descriptor array. The descriptor array is now immutable. The next step is to share the descriptor array with all back-pointed maps as long as there is a single line of extension. Maps that require a descriptor array but don't need transitions will still need a pseudo-empty transition array to contain the descriptor array.

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

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

12 years agoFix array-iteration test case.
yangguo@chromium.org [Mon, 13 Aug 2012 08:32:17 +0000 (08:32 +0000)]
Fix array-iteration test case.

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

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

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

12 years agoPrepare push to trunk. Now working on version 3.13.1.
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:41:52 +0000 (14:41 +0000)]
Prepare push to trunk.  Now working on version 3.13.1.

R=ulan@chromium.org

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

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

12 years agoFix compile failure on Win64 introduced in r12291.
mstarzinger@chromium.org [Fri, 10 Aug 2012 14:21:46 +0000 (14:21 +0000)]
Fix compile failure on Win64 introduced in r12291.

R=ulan@chromium.org

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

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

12 years agoFix intermittent failure in ReleaseOverReservedPages on x64.
erik.corry@gmail.com [Fri, 10 Aug 2012 13:45:22 +0000 (13:45 +0000)]
Fix intermittent failure in ReleaseOverReservedPages on x64.
BUG=v8:2216
Review URL: https://chromiumcodereview.appspot.com/10828253

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

12 years agoAdd histograms for total allocated/live heap size, as well as allocated size and...
mstarzinger@chromium.org [Fri, 10 Aug 2012 13:09:31 +0000 (13:09 +0000)]
Add histograms for total allocated/live heap size, as well as allocated size and percentage of total for map and cell

BUG=none
TEST=none
R=mstarzinger@chromium.org

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

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

12 years agoMIPS: Improve load IC so it can call a native accessor even if the holder is in dicti...
erik.corry@gmail.com [Fri, 10 Aug 2012 12:28:12 +0000 (12:28 +0000)]
MIPS: Improve load IC so it can call a native accessor even if the holder is in dictionary mode. Add a flag to all maps to indicate whether they are used for dictionary (normalized) objects or fast mode objects.  This is a commit of https://chromiumcodereview.appspot.com/10826213/ for palfia. This is a port of r12264, https://chromiumcodereview.appspot.com/10831153

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

12 years agoAllow multiple lines of custom flags in javascript tests.
yangguo@chromium.org [Fri, 10 Aug 2012 12:26:33 +0000 (12:26 +0000)]
Allow multiple lines of custom flags in javascript tests.

R=ulan@chromium.org
BUG=

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

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

12 years agoRevert inadvertent commit of testing change to flag-definitions.h
erik.corry@gmail.com [Fri, 10 Aug 2012 12:26:21 +0000 (12:26 +0000)]
Revert inadvertent commit of testing change to flag-definitions.h

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

12 years agoFix the full compiler on ARM to always generate the same code
erik.corry@gmail.com [Fri, 10 Aug 2012 12:24:06 +0000 (12:24 +0000)]
Fix the full compiler on ARM to always generate the same code
regardless of the detected CPU.  This is a requirement for the
debugger and the deoptimizer, which both expect that code from
the snapshot (compiled without VFP and ARM7) should have the
same layout as code compiled later.

This is another change to make snapshots more robust with
arbitrary code.
Review URL: https://chromiumcodereview.appspot.com/10824235

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

12 years agoInline simple setter calls.
svenpanne@chromium.org [Fri, 10 Aug 2012 09:05:42 +0000 (09:05 +0000)]
Inline simple setter calls.

Currently only simple setter calls are handled (i.e. no calls in count
operations or compound assignments), and deoptimization in the setter is not
handled at all. Because of the latter, we temporarily hide this feature behind
the --inline-accessors flag, just like inlining getters.

We now use an enum everywhere we depend on the handling of a return value,
passing around several boolean would be more confusing.

Made VisitReturnStatement and the final parts of TryInline more similar, so
matching them visually is a bit easier now.

Simplified the signature of AddLeaveInlined, the target of the HGoto can simply
be retrieved from the function state.

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

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

12 years agoRemove obsolete SLOT_ADDR macro usages.
mstarzinger@chromium.org [Thu, 9 Aug 2012 12:25:03 +0000 (12:25 +0000)]
Remove obsolete SLOT_ADDR macro usages.

R=yangguo@chromium.org

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

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

12 years agoUse the correct oracle in TestContext::BuildBranch.
svenpanne@chromium.org [Thu, 9 Aug 2012 11:44:56 +0000 (11:44 +0000)]
Use the correct oracle in TestContext::BuildBranch.

When inlining is being done, it is crucial to use the correct type feedback
oracle with a given type feedback ID. To ensure this, TestContext now carries an
oracle which is associated with the context's condition, and these are both used
together in TestContext::BuildBranch.

Note that in VisitReturnStatement and TryInline we are currently lucky that the
oracles don't go out of sync in an observable way, but this will change when we
inline setters. Therefore, there is no separate test case...

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

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

12 years agoMIPS: Improve constant element index access code generation
yangguo@chromium.org [Thu, 9 Aug 2012 08:41:56 +0000 (08:41 +0000)]
MIPS: Improve constant element index access code generation

Port r12232 (588ccf83)

BUG=
TEST=

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

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

12 years agoMIPS: Refactor Math.min/max to be a single HInstruction.
yangguo@chromium.org [Thu, 9 Aug 2012 08:28:52 +0000 (08:28 +0000)]
MIPS: Refactor Math.min/max to be a single HInstruction.

Port r12265 (7501dd73)

BUG=
TEST=

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

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

12 years agotools/push-to-trunk.sh: Add a check whether grepping for the just-committed SVN revis...
jkummerow@chromium.org [Wed, 8 Aug 2012 14:57:10 +0000 (14:57 +0000)]
tools/push-to-trunk.sh: Add a check whether grepping for the just-committed SVN revision number succeeded.

R=yangguo@chromium.org

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

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

12 years agoFix Win64 compile error caused by r12272.
ulan@chromium.org [Wed, 8 Aug 2012 09:46:45 +0000 (09:46 +0000)]
Fix Win64 compile error caused by r12272.

R=mstarzinger@chromium.org

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

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

12 years agoTemporary skip failure on simulators due to r12270.
mstarzinger@chromium.org [Wed, 8 Aug 2012 09:19:55 +0000 (09:19 +0000)]
Temporary skip failure on simulators due to r12270.

R=ulan@chromium.org
TEST=test262/S13.2.1_A1_T1

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

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

12 years agoFix mozilla test expectations.
yangguo@chromium.org [Wed, 8 Aug 2012 08:44:29 +0000 (08:44 +0000)]
Fix mozilla test expectations.

R=svenpanne@chromium.org
BUG=

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

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

12 years agoFix parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
yangguo@chromium.org [Wed, 8 Aug 2012 07:44:17 +0000 (07:44 +0000)]
Fix parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).

R=svenpanne@chromium.org
BUG=v8:1645
TEST=test262, parse-int-float.js

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

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

12 years agoAdd heap space sizes and external memory counter to V8 statistics extension.
ulan@chromium.org [Wed, 8 Aug 2012 07:37:07 +0000 (07:37 +0000)]
Add heap space sizes and external memory counter to V8 statistics extension.

R=yangguo@chromium.org

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

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

12 years agoAdd checks for interceptors to negative lookup code in Crankshaft.
erik.corry@gmail.com [Tue, 7 Aug 2012 14:48:19 +0000 (14:48 +0000)]
Add checks for interceptors to negative lookup code in Crankshaft.
BUG=140473
Review URL: https://chromiumcodereview.appspot.com/10837141

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

12 years agoForce eager compilation of parenthesized functions.
mstarzinger@chromium.org [Tue, 7 Aug 2012 14:47:36 +0000 (14:47 +0000)]
Force eager compilation of parenthesized functions.

This makes the compiler use eager compilation for function literals that
are parenthesized. We consider this to be a hint that the function will
be called immediatly and hence try to avoid parsing it twice. The parser
already respects this heuristic.

R=ulan@chromium.org

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

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

12 years agoAdd flag to trace the amount of external memory.
ulan@chromium.org [Tue, 7 Aug 2012 14:17:35 +0000 (14:17 +0000)]
Add flag to trace the amount of external memory.

R=yangguo@chromium.org

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

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

12 years agoUnify handling of bailout IDs for property loads.
svenpanne@chromium.org [Tue, 7 Aug 2012 14:06:25 +0000 (14:06 +0000)]
Unify handling of bailout IDs for property loads.

Renamed Property::ReturnId to Property::LoadId, which describes its use more
accurately. Compound assignments and CountOperations now consistently use
Property::LoadId() instead of their own CompoundLoadId/CountId.

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

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

12 years agoAdjust GC tracing: add a flag to ignore scavenger traces and print total GC time...
ulan@chromium.org [Tue, 7 Aug 2012 08:19:11 +0000 (08:19 +0000)]
Adjust GC tracing: add a flag to ignore scavenger traces and print total GC time in verbose mode.

R=mstarzinger@chromium.org

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

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

12 years agoRefactor Math.min/max to be a single HInstruction.
jkummerow@chromium.org [Mon, 6 Aug 2012 14:28:27 +0000 (14:28 +0000)]
Refactor Math.min/max to be a single HInstruction.

That allows us to dynamically compute representations and insert appropriate HChange instructions.

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

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

12 years agoImprove load IC so it can call a native accessor even if the holder is
erik.corry@gmail.com [Mon, 6 Aug 2012 14:25:19 +0000 (14:25 +0000)]
Improve load IC so it can call a native accessor even if the holder is
in dictionary mode.  Add a flag to all maps to indicate whether they are
used for dictionary (normalized) objects or fast mode objects.
Review URL: https://chromiumcodereview.appspot.com/10831153

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

12 years agoIntroduced TypeFeedbackId and BailoutId types.
svenpanne@chromium.org [Mon, 6 Aug 2012 14:13:09 +0000 (14:13 +0000)]
Introduced TypeFeedbackId and BailoutId types.

This is a refactoring-only CL which improves the typing of IDs associated with
AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL
basically follows mechanically.

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

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

12 years agoMake AdjustAmountOfExternalAllocatedMemory() more robust.
ulan@chromium.org [Mon, 6 Aug 2012 13:49:13 +0000 (13:49 +0000)]
Make AdjustAmountOfExternalAllocatedMemory() more robust.

Do not crash if called from a thread without V8 isolate, reset the external
memory counters in case of overflow, bump the external allocation limit.

This will allow us to track typed array allocation and deallocation in WebKit.

BUG=v8:2022,122097,42342
R=jkummerow@chromium.org

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

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

12 years agoFix integer division truncation error.
mstarzinger@chromium.org [Mon, 6 Aug 2012 13:23:52 +0000 (13:23 +0000)]
Fix integer division truncation error.

Review URL: https://chromiumcodereview.appspot.com/10831148
Patch from Nico Weber <thakis@chromium.org>.

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

12 years agoFactor out SimulateIncrementalMarking in test-heap.
mstarzinger@chromium.org [Mon, 6 Aug 2012 11:04:40 +0000 (11:04 +0000)]
Factor out SimulateIncrementalMarking in test-heap.

R=ulan@chromium.org
TEST=cctest/test-heap

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

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

12 years agoMake incremental marking clear ICs.
mstarzinger@chromium.org [Mon, 6 Aug 2012 10:35:48 +0000 (10:35 +0000)]
Make incremental marking clear ICs.

This extends the existing clearing of ICs during GC to incremental
marking in order to prevent cross-context retention that would last
until the next non-incremental GC.

R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClears[Mono,Poly]morhpicIC

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

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

12 years agoTake advantage of batched results when matching global regexp.
yangguo@chromium.org [Mon, 6 Aug 2012 09:06:27 +0000 (09:06 +0000)]
Take advantage of batched results when matching global regexp.

BUG=
TEST=regexp-global.js

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

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