platform/upstream/v8.git
11 years agoImplementation of Uint8ClampedArray.
dslomov@chromium.org [Thu, 2 May 2013 11:36:48 +0000 (11:36 +0000)]
Implementation of Uint8ClampedArray.

R=rossberg@chromium.org

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

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

11 years agoBump virtual register width in LUnallocated.
mstarzinger@chromium.org [Thu, 2 May 2013 11:22:32 +0000 (11:22 +0000)]
Bump virtual register width in LUnallocated.

R=svenpanne@chromium.org

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

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

11 years agoAllow more virtual registers to be encoded in LUnallocated.
mstarzinger@chromium.org [Thu, 2 May 2013 09:51:07 +0000 (09:51 +0000)]
Allow more virtual registers to be encoded in LUnallocated.

This is a preparation which allows us to bump the virtual register width
from 15 to 18 bit without sacrificing width for other fields inside an
unallocated lithium operand.

R=svenpanne@chromium.org

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

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

11 years agoMIPS: Fix mjsunit/harmony/generators-iteration test failure.
palfia@homejinni.com [Tue, 30 Apr 2013 22:54:36 +0000 (22:54 +0000)]
MIPS: Fix mjsunit/harmony/generators-iteration test failure.

BUG=

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

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

11 years agoMIPS: Allow setting debugger breakpoints on CompareNilICs
palfia@homejinni.com [Tue, 30 Apr 2013 19:09:33 +0000 (19:09 +0000)]
MIPS: Allow setting debugger breakpoints on CompareNilICs

Port r14487 (022d1fc3)

BUG=

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

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

11 years agoAdd Value::Is* methods for typed arrays and ArrayBuffer
dslomov@chromium.org [Tue, 30 Apr 2013 18:53:27 +0000 (18:53 +0000)]
Add Value::Is* methods for typed arrays and ArrayBuffer

R=rossberg
BUG=

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

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

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

11 years agoRevert "Fix typo"
dslomov@chromium.org [Tue, 30 Apr 2013 18:49:20 +0000 (18:49 +0000)]
Revert "Fix typo"

This reverts commit r14506 (that was commited with a wrong description).

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

11 years agoFix typo
dslomov@chromium.org [Tue, 30 Apr 2013 18:02:22 +0000 (18:02 +0000)]
Fix typo

R=rossberg@chromium.org

BUG=

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

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

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

11 years agoFix typo
dslomov@chromium.org [Tue, 30 Apr 2013 17:57:54 +0000 (17:57 +0000)]
Fix typo

R=rossberg@chromium.org

BUG=

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

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

11 years agoRevert "patch from issue 13993029"
dslomov@chromium.org [Tue, 30 Apr 2013 17:56:32 +0000 (17:56 +0000)]
Revert "patch from issue 13993029"

This reverts commit 2d49d456dd09a8f8ffae87f777d5f10b587534e8.
Revert patch with incorrect description

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

11 years agopatch from issue 13993029
dslomov@chromium.org [Tue, 30 Apr 2013 17:50:04 +0000 (17:50 +0000)]
patch from issue 13993029

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

11 years agoRevert "frames.h/cc cleanup"
yurys@chromium.org [Tue, 30 Apr 2013 16:51:30 +0000 (16:51 +0000)]
Revert "frames.h/cc cleanup"

This reverts r14496 which broke tests in debug mode:

Command: /mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/Debug/cctest test-log/LogAccessorCallbacks --nobreak-on-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --testing_serialization_file=/mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/.serdes/serdes_LogAccessorCallbacks
=== cctest/test-log/LogCallbacks ===
--- stderr ---

TBR=jkummerow@chromium.org
BUG=None

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.6.
danno@chromium.org [Tue, 30 Apr 2013 16:36:14 +0000 (16:36 +0000)]
Prepare push to trunk.  Now working on version 3.18.6.

R=jkummerow@chromium.org

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

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

11 years agoframes.h/cc cleanup
yurys@chromium.org [Tue, 30 Apr 2013 14:37:18 +0000 (14:37 +0000)]
frames.h/cc cleanup

BUG=None
R=jkummerow@chromium.org, loislo@chromium.org

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

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

11 years agoTwo bugfixes for hydrogen-based array constructors
mvstanton@chromium.org [Tue, 30 Apr 2013 13:43:45 +0000 (13:43 +0000)]
Two bugfixes for hydrogen-based array constructors

CacheInitialJSArrayMaps needs to be able to pick up where it left off,
as it can now be called from a handlfied context.

Disable incremental marking for CCTest SetJitCodeEventHandler, as it allocates
during compilation.

BUG=

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

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

11 years agoAccurate function prototypes for native calls from ARM simulator.
dslomov@chromium.org [Tue, 30 Apr 2013 11:34:43 +0000 (11:34 +0000)]
Accurate function prototypes for native calls from ARM simulator.

This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64   calling conventions.
- src/sampler.cc for Native Client support

BUG=v8:2614

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

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

Patch from Brad Chen <bradchen@google.com>.

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

11 years agoRevert "Accurate function prototypes for native calls from ARM simulator."
dslomov@chromium.org [Tue, 30 Apr 2013 11:31:09 +0000 (11:31 +0000)]
Revert "Accurate function prototypes for native calls from ARM simulator."

This reverts commit r14991. (one file missing)

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

11 years agoRevert "Flag optimize-constructed-arrays turned on."
dslomov@chromium.org [Tue, 30 Apr 2013 11:23:34 +0000 (11:23 +0000)]
Revert "Flag optimize-constructed-arrays turned on."

This reverts commit r14491.

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

11 years agoAccurate function prototypes for native calls from ARM simulator.
dslomov@chromium.org [Tue, 30 Apr 2013 11:16:40 +0000 (11:16 +0000)]
Accurate function prototypes for native calls from ARM simulator.

This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64   calling conventions.
- src/sampler.cc for Native Client support

BUG=v8:2614

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

Patch from Brad Chen <bradchen@google.com>.

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

11 years agoFlag optimize-constructed-arrays turned on.
mvstanton@chromium.org [Tue, 30 Apr 2013 08:22:05 +0000 (08:22 +0000)]
Flag optimize-constructed-arrays turned on.

This routes array construction through a hydrogen stub, and enables use of
allocation site info tracking.

BUG=

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

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

11 years agoMake UsePosition::hint immutable.
mstarzinger@chromium.org [Tue, 30 Apr 2013 08:21:52 +0000 (08:21 +0000)]
Make UsePosition::hint immutable.

R=svenpanne@chromium.org

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

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

11 years agoFix HConstant::InNewSpace() for parallel compilation.
mstarzinger@chromium.org [Tue, 30 Apr 2013 08:00:43 +0000 (08:00 +0000)]
Fix HConstant::InNewSpace() for parallel compilation.

R=mvstanton@chromium.org

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

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

11 years agoAllow setting debugger breakpoints on CompareNilICs
danno@chromium.org [Tue, 30 Apr 2013 07:56:09 +0000 (07:56 +0000)]
Allow setting debugger breakpoints on CompareNilICs

BUG=v8:2660
R=svenpanne@chromium.org

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

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

11 years agoTypedArray(length) constructor
dslomov@chromium.org [Mon, 29 Apr 2013 16:16:31 +0000 (16:16 +0000)]
TypedArray(length) constructor

R=rossberg@chromium.org

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

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

11 years agoFix bug in CompareNil IC
danno@chromium.org [Mon, 29 Apr 2013 15:09:22 +0000 (15:09 +0000)]
Fix bug in CompareNil IC

R=jkummerow@chromium.org

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

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

11 years agoFix GCMole after r14476
dslomov@chromium.org [Mon, 29 Apr 2013 15:05:06 +0000 (15:05 +0000)]
Fix GCMole after r14476

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoFix beyond-heap load on x64 Crankshafted StringCharFromCode
danno@chromium.org [Mon, 29 Apr 2013 14:34:24 +0000 (14:34 +0000)]
Fix beyond-heap load on x64 Crankshafted StringCharFromCode

BUG=chromium:235311
R=jkummerow@chromium.org

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

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

11 years agoShared build fix
dslomov@chromium.org [Mon, 29 Apr 2013 14:13:32 +0000 (14:13 +0000)]
Shared build fix

R=rossberg@chromium.org
BUG=

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

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

11 years agoDo not use repeated subtractions in mod-i, it hurts performance in general.
svenpanne@chromium.org [Mon, 29 Apr 2013 13:45:34 +0000 (13:45 +0000)]
Do not use repeated subtractions in mod-i, it hurts performance in general.

ARM only: Check for -0 only when really necessary. Tiny code de-duplication.

R=jkummerow@chromium.org

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

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

11 years agoAlso print the exception when mksnapshot failed to compile extra code.
svenpanne@chromium.org [Mon, 29 Apr 2013 11:49:24 +0000 (11:49 +0000)]
Also print the exception when mksnapshot failed to compile extra code.

Before, it would only print the exception when it failed to run the code

R=svenpanne@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoRemove __ prefix from Harmony typed arrays implementation
dslomov@chromium.org [Mon, 29 Apr 2013 11:18:27 +0000 (11:18 +0000)]
Remove __ prefix from Harmony typed arrays implementation

R=rossberg@chromium.org
BUG=

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

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

11 years agoFirst cut at API for native Typed Arrays.
dslomov@chromium.org [Mon, 29 Apr 2013 11:09:03 +0000 (11:09 +0000)]
First cut at API for native Typed Arrays.

R=rossberg@chromium.org

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

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

11 years agoFix build failure on Win64 since r14458.
mstarzinger@chromium.org [Mon, 29 Apr 2013 09:30:11 +0000 (09:30 +0000)]
Fix build failure on Win64 since r14458.

R=dslomov@chromium.org

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

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

11 years agoMIPS: Track storage types of instance variables.
palfia@homejinni.com [Fri, 26 Apr 2013 23:28:09 +0000 (23:28 +0000)]
MIPS: Track storage types of instance variables.

Port r14464 (70300e97) and r14470 (65af80fc)

BUG=

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

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

11 years agoMIPS: Lithium: avoid registers for constants when possible.
palfia@homejinni.com [Fri, 26 Apr 2013 23:26:52 +0000 (23:26 +0000)]
MIPS: Lithium: avoid registers for constants when possible.

Port r14460 (9e3dab0c)

BUG=

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

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

11 years agoFix arm port of tracking field representations. Based on Rodolph Perfetta's comments
verwaest@chromium.org [Fri, 26 Apr 2013 19:21:54 +0000 (19:21 +0000)]
Fix arm port of tracking field representations. Based on Rodolph Perfetta's comments

BUG=

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

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

11 years agoMIPS: HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
palfia@homejinni.com [Fri, 26 Apr 2013 17:52:08 +0000 (17:52 +0000)]
MIPS: HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.

Port r14453 (91869730)

BUG=

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

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

11 years agoHConstant::InNewSpace() should be a constant function
mvstanton@chromium.org [Fri, 26 Apr 2013 15:48:13 +0000 (15:48 +0000)]
HConstant::InNewSpace() should be a constant function

BUG=

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

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

11 years agoFix static initializers on x64
jkummerow@chromium.org [Fri, 26 Apr 2013 15:46:51 +0000 (15:46 +0000)]
Fix static initializers on x64

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

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

11 years agoTrack storage types of instance variables.
verwaest@chromium.org [Fri, 26 Apr 2013 15:30:41 +0000 (15:30 +0000)]
Track storage types of instance variables.

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

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

11 years agoFix build failure on Win64 since r14458.
mstarzinger@chromium.org [Fri, 26 Apr 2013 15:10:34 +0000 (15:10 +0000)]
Fix build failure on Win64 since r14458.

R=jkummerow@chromium.org

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

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

11 years agoChange 'Parse error' to three more informative messages.
mvstanton@chromium.org [Fri, 26 Apr 2013 14:26:54 +0000 (14:26 +0000)]
Change 'Parse error' to three more informative messages.

Replace the 'unable_to_parse' key used in three places with three difference keys.
Provide three more informative and less ambiguous error messages in place of 'Parse error'.

Add three test/message cases to cover the new messages.

BUG=2636

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

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

11 years agoremove IsOneByteConvertible
dcarney@chromium.org [Fri, 26 Apr 2013 14:08:18 +0000 (14:08 +0000)]
remove IsOneByteConvertible

R=ulan@chromium.org
BUG=

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

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

11 years agoLithium: avoid registers for constants when possible.
mvstanton@chromium.org [Fri, 26 Apr 2013 14:04:07 +0000 (14:04 +0000)]
Lithium: avoid registers for constants when possible.

BUG=

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

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

11 years agoAdd assertion about module scopes to Scope::ContextChainLength.
mstarzinger@chromium.org [Fri, 26 Apr 2013 13:22:11 +0000 (13:22 +0000)]
Add assertion about module scopes to Scope::ContextChainLength.

R=rossberg@chromium.org

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

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

11 years agoAdd support for yield expressions
mstarzinger@chromium.org [Fri, 26 Apr 2013 12:09:32 +0000 (12:09 +0000)]
Add support for yield expressions

This CL extends the generator suspend and resume implementation to
capture values on the operand stack.

It factors out some helpers to measure and access the operand stack into
the JavaScriptFrame class.  It also refactors the suspend and resume
helpers to avoid handle allocation.

BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.18.5.
danno@chromium.org [Fri, 26 Apr 2013 11:59:17 +0000 (11:59 +0000)]
Prepare push to trunk.  Now working on version 3.18.5.

R=jkummerow@chromium.org

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

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

11 years agoFix yield inside with
mstarzinger@chromium.org [Fri, 26 Apr 2013 11:55:22 +0000 (11:55 +0000)]
Fix yield inside with

This patch makes it so that suspending generators always saves the
context.  Previously we erroneously assumed that if the operand stack
was empty, that the context would be unchanged, but that is not the case
with "with".

Fixing this brought out an interesting bug in the variable allocator.
Yield inside with will reference a context-allocated temporary holding
the generator object.  Before the fix, this object was looked up in the
with context instead of the function context, because with contexts were
not being simulated during full-codegen.  Previously this was OK as all
variables would be given LOOKUP allocation instead of CONTEXT, but the
context-allocated temporary invalidated this assumption.  The fix is to
simulate the context chain more accurately in full-codegen.

R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoHasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
dcarney@chromium.org [Fri, 26 Apr 2013 11:34:44 +0000 (11:34 +0000)]
HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.

R=ulan@chromium.org
BUG=

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

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

11 years agoforgot parends around macro arg
dcarney@chromium.org [Fri, 26 Apr 2013 10:52:14 +0000 (10:52 +0000)]
forgot parends around macro arg

R=svenpanne@chromium.org
BUG=

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

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

11 years agoBootstrapper code for constructed arrays needs to be handlefied
mvstanton@chromium.org [Fri, 26 Apr 2013 10:10:36 +0000 (10:10 +0000)]
Bootstrapper code for constructed arrays needs to be handlefied

BUG=

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

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

11 years agoImplement support for Math.imul in Crankshaft.
mstarzinger@chromium.org [Fri, 26 Apr 2013 08:52:35 +0000 (08:52 +0000)]
Implement support for Math.imul in Crankshaft.

R=jkummerow@chromium.org
TEST=mjsunit/math-imul

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

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

11 years agoFix test/build failures (win64 compile warning, isolate test parallel compilation...
mvstanton@chromium.org [Fri, 26 Apr 2013 08:49:20 +0000 (08:49 +0000)]
Fix test/build failures (win64 compile warning, isolate test parallel compilation failure, gcmole issue, isolate test intermittant failure)

BUG=

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

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

11 years agoBetter handling of Phi nodes with constant inputs
jkummerow@chromium.org [Fri, 26 Apr 2013 08:47:02 +0000 (08:47 +0000)]
Better handling of Phi nodes with constant inputs

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

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

11 years agoPrevent false positive from GCMole in DeferredFormatStackTrace.
mstarzinger@chromium.org [Fri, 26 Apr 2013 08:12:21 +0000 (08:12 +0000)]
Prevent false positive from GCMole in DeferredFormatStackTrace.

R=yangguo@chromium.org
TEST=gcmole

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

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

11 years agoAvoid unnecessary indirection when creating CodeEntries
yurys@chromium.org [Fri, 26 Apr 2013 07:50:35 +0000 (07:50 +0000)]
Avoid unnecessary indirection when creating CodeEntries

BUG=None

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

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

11 years agoDo not dereference handles during relocation.
yangguo@chromium.org [Fri, 26 Apr 2013 07:35:07 +0000 (07:35 +0000)]
Do not dereference handles during relocation.

R=hpayer@chromium.org
BUG=

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

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

11 years agoDefer slow branch of GetAlignedPointerFromInternalField
dcarney@chromium.org [Fri, 26 Apr 2013 07:28:08 +0000 (07:28 +0000)]
Defer slow branch of GetAlignedPointerFromInternalField

BUG=

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

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

11 years agoMIPS: Constructed arrays can be created with Hydrogen code stubs. The feature is...
palfia@homejinni.com [Fri, 26 Apr 2013 02:08:47 +0000 (02:08 +0000)]
MIPS: Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).

Port r14441 (0c30d023)

BUG=

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

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

11 years agoMIPS: Capture receiver in generator object
palfia@homejinni.com [Fri, 26 Apr 2013 02:07:42 +0000 (02:07 +0000)]
MIPS: Capture receiver in generator object

Port r14434 (04f254d1)

Original commit message:
Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack.  This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.

This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.

BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

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

11 years agoConstructed arrays can be created with Hydrogen code stubs. The feature is still...
mvstanton@chromium.org [Thu, 25 Apr 2013 16:00:32 +0000 (16:00 +0000)]
Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).

BUG=

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

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

11 years agoWin64 build
dslomov@chromium.org [Thu, 25 Apr 2013 12:34:45 +0000 (12:34 +0000)]
Win64 build

R=rossberg@chromium.org,mstarzinger@chromium.org

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

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

11 years agoTell the GC prologues to construct RetainedObjectInfos only when needed.
hpayer@chromium.org [Thu, 25 Apr 2013 12:08:10 +0000 (12:08 +0000)]
Tell the GC prologues to construct RetainedObjectInfos only when needed.

The GC prologue is called by the GC, but also by the heap snapshotter. The
RetainedObjectInfos are only needed by the heap snapshotter, so it's wasteful to
construct them always. (And it will be even more wasteful when Blink migrates to
the new GC APIs, since after that point it no longer knows about object groups.)

BUG=

Review URL: https://codereview.chromium.org/14471028
Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoFirst cut at API for ES6 ArrayBuffers
dslomov@chromium.org [Thu, 25 Apr 2013 12:02:23 +0000 (12:02 +0000)]
First cut at API for ES6 ArrayBuffers

R=rossberg@chromium.org
BUG=

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

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

11 years agoRelax --debug-code checks that runtime returns are not the hole
mstarzinger@chromium.org [Thu, 25 Apr 2013 12:00:07 +0000 (12:00 +0000)]
Relax --debug-code checks that runtime returns are not the hole

ia32, unlike the other architectures, includes a --debug-code check that
asserts that runtime functions do not return the hole.  However the new
SuspendJSGeneratorObject runtime does return the hole at times.

This CL adds a wee hack that only signals an error if the callee was not
SuspendJSGeneratorObject.

R=mstarzinger@chromium.org
BUG=

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoCapture receiver in generator object
mstarzinger@chromium.org [Thu, 25 Apr 2013 10:59:09 +0000 (10:59 +0000)]
Capture receiver in generator object

Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack.  This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.

This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.

BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoGet isolate from thread local instead of (potentially missing) block in HConstant.
yangguo@chromium.org [Thu, 25 Apr 2013 10:57:24 +0000 (10:57 +0000)]
Get isolate from thread local instead of (potentially missing) block in HConstant.

R=ulan@chromium.org
BUG=

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

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

11 years agoFix evaluation order problems in Object.observe hooks.
mstarzinger@chromium.org [Thu, 25 Apr 2013 10:23:19 +0000 (10:23 +0000)]
Fix evaluation order problems in Object.observe hooks.

R=rossberg@chromium.org
TEST=gcmole

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

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

11 years agoGrow the old generation faster in high promotion mode.
hpayer@chromium.org [Thu, 25 Apr 2013 09:17:07 +0000 (09:17 +0000)]
Grow the old generation faster in high promotion mode.

BUG=

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

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

11 years agoFix overflow check in mul-i which was missing since r14322
jkummerow@chromium.org [Thu, 25 Apr 2013 07:36:59 +0000 (07:36 +0000)]
Fix overflow check in mul-i which was missing since r14322

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

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

11 years agoMIPS: Clean up VMState a little bit.
palfia@homejinni.com [Wed, 24 Apr 2013 23:12:53 +0000 (23:12 +0000)]
MIPS: Clean up VMState a little bit.

Port r14421 (31cd7dda)

BUG=

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

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

11 years agoMIPS: Generators can resume
palfia@homejinni.com [Wed, 24 Apr 2013 23:11:48 +0000 (23:11 +0000)]
MIPS: Generators can resume

Port r14415 (d358defa) and r14424 (7b549ce7)

Original commit message:
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame.  In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.

BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration

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

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

11 years agoMIPS: Add monomorphic CompareNilICs and Crankshaft support
palfia@homejinni.com [Wed, 24 Apr 2013 23:10:53 +0000 (23:10 +0000)]
MIPS: Add monomorphic CompareNilICs and Crankshaft support

Port r14407 (cae6596b)

BUG=

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

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

11 years agoMIPS: Fix NaN handling for start index in ArraySplice.
plind44@gmail.com [Wed, 24 Apr 2013 19:10:02 +0000 (19:10 +0000)]
MIPS: Fix NaN handling for start index in ArraySplice.

Casting NaN to int is unpredictable, on different architectures it produces different int value.

TEST=test262/S15.4.4.10_A2.1_T2, S15.4.4.10_A2.2_T2, S15.4.4.12_A2.1_T2

BUG=

Review URL: https://codereview.chromium.org/14257006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoRemove bogus forward declaration of ObjectGroup.
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:51:00 +0000 (16:51 +0000)]
Remove bogus forward declaration of ObjectGroup.

R=jkummerow@chromium.org

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

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

11 years agoFix generator suspend and resume on ARM
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:07:44 +0000 (16:07 +0000)]
Fix generator suspend and resume on ARM

This CL fixes a number of rookie mistakes in
FullCodeGenerator::VisitYield and
FullCodeGenerator::EmitGeneratorResume, and re-enables the
generators-iteration test on ARM.

R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoNew GC APIs, try 2.
mstarzinger@chromium.org [Wed, 24 Apr 2013 15:59:23 +0000 (15:59 +0000)]
New GC APIs, try 2.

With these APIs, the embedder doesn't need to copy Persistent handles around.

BUG=

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

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoFixed HUnaryMathOperation regarding its possible operations.
svenpanne@chromium.org [Wed, 24 Apr 2013 14:51:14 +0000 (14:51 +0000)]
Fixed HUnaryMathOperation regarding its possible operations.

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

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

11 years agoClean up VMState a little bit.
yangguo@chromium.org [Wed, 24 Apr 2013 14:44:08 +0000 (14:44 +0000)]
Clean up VMState a little bit.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoChange cctest/test-lockers to not copy persistent handles around.
dcarney@chromium.org [Wed, 24 Apr 2013 14:23:46 +0000 (14:23 +0000)]
Change cctest/test-lockers to not copy persistent handles around.

Instead, create Local handles to pass them around. This also means that the
code needs to be shifted around a bit such that a handle scope exists when
creating threads.

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoFix windows build.
yangguo@chromium.org [Wed, 24 Apr 2013 14:05:37 +0000 (14:05 +0000)]
Fix windows build.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoRemove Isolate::Current() from histograms.
yangguo@chromium.org [Wed, 24 Apr 2013 13:52:26 +0000 (13:52 +0000)]
Remove Isolate::Current() from histograms.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoGenerators can resume
mstarzinger@chromium.org [Wed, 24 Apr 2013 13:00:16 +0000 (13:00 +0000)]
Generators can resume

The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame.  In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.

BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoMathSqrt and MathPowHalf do not cause any promotion.
svenpanne@chromium.org [Wed, 24 Apr 2013 12:43:33 +0000 (12:43 +0000)]
MathSqrt and MathPowHalf do not cause any promotion.

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

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

11 years agoProperly consider Double inputs for representation inference when they are not marked...
jkummerow@chromium.org [Wed, 24 Apr 2013 12:39:30 +0000 (12:39 +0000)]
Properly consider Double inputs for representation inference when they are not marked as kFlexibleRepresentation

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

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

11 years agoFix segmentation fault in CodeMap::Print
yurys@chromium.org [Wed, 24 Apr 2013 12:09:04 +0000 (12:09 +0000)]
Fix segmentation fault in CodeMap::Print

CodeEntry* is always NULL for SharedFunctionInfo entries in the CodeMap. Take this into account when printing the map.

Drive-by: removed CodeEntry::shared_id() which is never called.
BUG=None

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

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

11 years agoSimplify some code related to x64 calling convention.
yangguo@chromium.org [Wed, 24 Apr 2013 12:01:08 +0000 (12:01 +0000)]
Simplify some code related to x64 calling convention.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoFix clang build for x64.
yangguo@chromium.org [Wed, 24 Apr 2013 11:44:39 +0000 (11:44 +0000)]
Fix clang build for x64.

R=ulan@chromium.org
BUG=

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

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

11 years agoAdd monomorphic CompareNilICs and Crankshaft support
danno@chromium.org [Wed, 24 Apr 2013 11:32:17 +0000 (11:32 +0000)]
Add monomorphic CompareNilICs and Crankshaft support

R=mvstanton@chromium.org

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

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

11 years agoReplace qsort with std::sort.
danno@chromium.org [Wed, 24 Apr 2013 11:20:16 +0000 (11:20 +0000)]
Replace qsort with std::sort.

std::sort is a template, so it can be inlined more aggressively. Also, it's
O(n log n), while libc's qsort is O(n^2)

BUG=2639

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.18.4.
ulan@chromium.org [Wed, 24 Apr 2013 10:57:15 +0000 (10:57 +0000)]
Prepare push to trunk.  Now working on version 3.18.4.

R=yangguo@chromium.org

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

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

11 years agoRemoved unbalanced brackets when printing an LEnvironment.
svenpanne@chromium.org [Wed, 24 Apr 2013 09:31:55 +0000 (09:31 +0000)]
Removed unbalanced brackets when printing an LEnvironment.

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

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

11 years agoIf the input to an HChange is of type smi, then no need to mark gvn flag changes...
mvstanton@chromium.org [Wed, 24 Apr 2013 09:14:56 +0000 (09:14 +0000)]
If the input to an HChange is of type smi, then no need to mark gvn flag changes new space promotion.

BUG=

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

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

11 years agoRefactor ExternalReference::isolate_address() to not rely on Isolate::Current().
yangguo@chromium.org [Wed, 24 Apr 2013 07:39:35 +0000 (07:39 +0000)]
Refactor ExternalReference::isolate_address() to not rely on Isolate::Current().

R=svenpanne@chromium.org
BUG=

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

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

11 years agoMIPS: Disallow dereferencing deferred handles when generating optimized code.
palfia@homejinni.com [Wed, 24 Apr 2013 00:58:48 +0000 (00:58 +0000)]
MIPS: Disallow dereferencing deferred handles when generating optimized code.

Port r14388 (6843e0c9), r14389 (331ea32d) and r14390 (c8528d1c)

BUG=

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

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

11 years agoAdds EXTERNAL_DOUBLE_ARRAY to a list of instance types
dslomov@chromium.org [Tue, 23 Apr 2013 17:02:09 +0000 (17:02 +0000)]
Adds EXTERNAL_DOUBLE_ARRAY to a list of instance types

BUG=v8:2646

Patch by Andrei Kashcha <anvaka@gmail.com>

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

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

11 years agoExpose the GC under a name that is less collision prone than window.gc.
mstarzinger@chromium.org [Tue, 23 Apr 2013 16:30:51 +0000 (16:30 +0000)]
Expose the GC under a name that is less collision prone than window.gc.

This also keeps backwards compatibility (window.gc() still works).

BUG=2641

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

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoDo not emit Simulates in HandlePolymorphicElementAccess.
ulan@chromium.org [Tue, 23 Apr 2013 15:28:44 +0000 (15:28 +0000)]
Do not emit Simulates in HandlePolymorphicElementAccess.

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

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

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

11 years agoAdd a flag to deoptimize all functions every n garbage collections.
ulan@chromium.org [Tue, 23 Apr 2013 15:21:11 +0000 (15:21 +0000)]
Add a flag to deoptimize all functions every n garbage collections.

R=mstarzinger@chromium.org

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

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

11 years agoDo not emit double values at their use sites.
svenpanne@chromium.org [Tue, 23 Apr 2013 13:08:10 +0000 (13:08 +0000)]
Do not emit double values at their use sites.

Revert part of r14179. From the regression test's comment:

Currently, the gap resolver doesn't handle moves from a ConstantOperand to a
DoubleRegister, but these kind of moves appeared when HConstant::EmitAtUses
was changed to allow special double values (-0, NaN, hole). So we should
either enhance the gap resolver or make sure that such moves don't happen.

BUG=chrome:234101

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

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