platform/upstream/v8.git
11 years agoCleaned up and fixed code comment handling a bit.
svenpanne@chromium.org [Thu, 18 Apr 2013 13:45:19 +0000 (13:45 +0000)]
Cleaned up and fixed code comment handling a bit.

* Let GCC check the arguments of LCodeGen::Coment.
* Fixed a few call sites.
* Made basic blocks a little bit more visible in the code output.
* Sorted #includes.

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

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

11 years agoFix debug print and wrong handle dereference in es6 typed array.
yangguo@chromium.org [Thu, 18 Apr 2013 12:46:38 +0000 (12:46 +0000)]
Fix debug print and wrong handle dereference in es6 typed array.

R=dslomov@chromium.org
BUG=

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

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

11 years agoInline isUint32() method from HConstant, which was only used in one place.
titzer@chromium.org [Thu, 18 Apr 2013 11:22:29 +0000 (11:22 +0000)]
Inline isUint32() method from HConstant, which was only used in one place.
Add utility method for checking whether an HValue is a given int32_t constant.

BUG=

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

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

11 years agoRemove SCons related files
jkummerow@chromium.org [Thu, 18 Apr 2013 11:01:14 +0000 (11:01 +0000)]
Remove SCons related files

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

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

11 years agoFix bugs in IfBuilder and improve functionality
danno@chromium.org [Thu, 18 Apr 2013 10:51:24 +0000 (10:51 +0000)]
Fix bugs in IfBuilder and improve functionality

R=mstarzinger@chromium.org

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

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

11 years agoRemove deprecated test suite configurations.
mstarzinger@chromium.org [Thu, 18 Apr 2013 10:48:27 +0000 (10:48 +0000)]
Remove deprecated test suite configurations.

R=jkummerow@chromium.org

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

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

11 years agoARM: clean up code now that ARMv6 is the baseline.
rodolph.perfetta@gmail.com [Thu, 18 Apr 2013 10:32:18 +0000 (10:32 +0000)]
ARM: clean up code now that ARMv6 is the baseline.

BUG=none
TEST=none

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

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

11 years agoImprove generated code for HDoCompareObjectEqAndBranch on ia32/x64
danno@chromium.org [Thu, 18 Apr 2013 09:53:49 +0000 (09:53 +0000)]
Improve generated code for HDoCompareObjectEqAndBranch on ia32/x64

R=mvstanton@chromium.org

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

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

11 years agoMake it possible to Crankshaft all kinds of stubs.
danno@chromium.org [Thu, 18 Apr 2013 09:50:46 +0000 (09:50 +0000)]
Make it possible to Crankshaft all kinds of stubs.

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

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

11 years agoUnify canonicalization of HAdd/HSub/HMul a bit.
svenpanne@chromium.org [Thu, 18 Apr 2013 09:24:29 +0000 (09:24 +0000)]
Unify canonicalization of HAdd/HSub/HMul a bit.

HDiv/HMul are a slightly different story and will be handled in a separate CL.

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

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

11 years agoHandle retry-after-gc failures within KeyedLoadIC::Load and KeyedStoreIC::Store.
ulan@chromium.org [Thu, 18 Apr 2013 08:14:59 +0000 (08:14 +0000)]
Handle retry-after-gc failures within KeyedLoadIC::Load and KeyedStoreIC::Store.

Returning retry-after-gc failure from these functions causes them to be
re-executed after ic state change, which breaks stub computation assumptions.

R=verwaest@chromium.org
BUG=222301
TEST=mjsunit/array-bounds-check-removal.js --gc_interval=10 in x64.debug

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

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

11 years agoDisable the test due to Win64 build problems.
dslomov@chromium.org [Wed, 17 Apr 2013 18:13:44 +0000 (18:13 +0000)]
Disable the test due to Win64 build problems.

The large allocation actually succeeds on Win64, but it looks like
subsequent memory adjustment fails. Disabling the test for now, will
investigate further.

TBR=rossberg

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

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

11 years agoFix building cctests with component=shared_library snapshot=off
jkummerow@chromium.org [Wed, 17 Apr 2013 17:02:35 +0000 (17:02 +0000)]
Fix building cctests with component=shared_library snapshot=off

BUG=v8:2634

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

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

11 years agoFix bad typo in xmm register saves.
dslomov@chromium.org [Wed, 17 Apr 2013 16:41:02 +0000 (16:41 +0000)]
Fix bad typo in xmm register saves.

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

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

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

11 years agoInline String.fromCharCode in hydrogen.
yangguo@chromium.org [Wed, 17 Apr 2013 16:37:11 +0000 (16:37 +0000)]
Inline String.fromCharCode in hydrogen.

BUG=

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

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

11 years agoFix x64 frame size to accomodate saved XMM registers
dslomov@chromium.org [Wed, 17 Apr 2013 15:36:04 +0000 (15:36 +0000)]
Fix x64 frame size to accomodate saved XMM registers

R=mstarzinger@chromium.org

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

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

11 years agoARM: VFP tweaks/optimisations. Further address slow FPSCR accesses.
rodolph.perfetta@gmail.com [Wed, 17 Apr 2013 15:21:01 +0000 (15:21 +0000)]
ARM: VFP tweaks/optimisations. Further address slow FPSCR accesses.

BUG=none
TEST=none

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

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

11 years agoAdd d8 functionality for switching between realms (a.k.a. contexts)
rossberg@chromium.org [Wed, 17 Apr 2013 15:07:31 +0000 (15:07 +0000)]
Add d8 functionality for switching between realms (a.k.a. contexts)

R=mstarzinger@chromium.org,yangguo@chromium.org
BUG=

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

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

11 years agoGenerator objects have [[Class]] === "Generator"
mstarzinger@chromium.org [Wed, 17 Apr 2013 15:01:25 +0000 (15:01 +0000)]
Generator objects have [[Class]] === "Generator"

Generator object maps now link to their constructors, which are created
with a "Generator" class name.  This does not cause a per-generator
constructor property to be set.

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

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

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

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

11 years agoRemove previous_ast_id and related code in hydrogen.
titzer@chromium.org [Wed, 17 Apr 2013 14:11:39 +0000 (14:11 +0000)]
Remove previous_ast_id and related code in hydrogen.

BUG=

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

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

11 years agoRevert "Accurate function prototypes for native calls from ARM simulator."
dslomov@chromium.org [Wed, 17 Apr 2013 13:51:08 +0000 (13:51 +0000)]
Revert "Accurate function prototypes for native calls from ARM simulator."

This reverts commit https://code.google.com/p/v8/source/detail?r=14230

The reason for revert is Win64 mksnapshot failure.

Conflicts:
src/arm/simulator-arm.cc

BUG=

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

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

11 years agoImprove handling of unary plus.
svenpanne@chromium.org [Wed, 17 Apr 2013 12:47:15 +0000 (12:47 +0000)]
Improve handling of unary plus.

Simple strategy: Transform unary plus into multiplication by one directly in the
parser and remove it from the Hydrogen graph later. This gives correct type
feedback without any special stub for it.

BUG=v8:2527

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.1.
mstarzinger@chromium.org [Wed, 17 Apr 2013 11:48:16 +0000 (11:48 +0000)]
Prepare push to trunk.  Now working on version 3.18.1.

R=ulan@chromium.org

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

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

11 years agoTypo fix
dslomov@chromium.org [Wed, 17 Apr 2013 10:25:36 +0000 (10:25 +0000)]
Typo fix

TBR=svenpanne@chromium.org

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

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

11 years agoSave and restore callee-save xmm registers on Win64
dslomov@chromium.org [Wed, 17 Apr 2013 09:54:17 +0000 (09:54 +0000)]
Save and restore callee-save xmm registers on Win64

BUG=

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

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

11 years agoUnbreak Win64 build.
svenpanne@chromium.org [Wed, 17 Apr 2013 09:19:00 +0000 (09:19 +0000)]
Unbreak Win64 build.

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

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

11 years agoEnable Native Client build of V8.
jkummerow@chromium.org [Wed, 17 Apr 2013 08:27:40 +0000 (08:27 +0000)]
Enable Native Client build of V8.

These changes implement make targets nacl_ia32.check, nacl_x64.check,
and related debug/release targets.

BUG=2614

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

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

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

11 years agoMove StackTracer to sampler.h
yurys@chromium.org [Wed, 17 Apr 2013 07:53:12 +0000 (07:53 +0000)]
Move StackTracer to sampler.h

Apart from tests Sampler is the only client of StackTracer so it is logical to move it into sampler.h

BUG=None

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

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

11 years agoNuke SamplerRegistry
yurys@chromium.org [Wed, 17 Apr 2013 07:20:24 +0000 (07:20 +0000)]
Nuke SamplerRegistry

The registry is a simple list of active Samplers but uses additional Mutex. Useful parts were merged into SamplerThread, others removed completely.

BUG=None

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

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

11 years agoUnbreak ARM build.
svenpanne@chromium.org [Wed, 17 Apr 2013 06:43:15 +0000 (06:43 +0000)]
Unbreak ARM build.

TBR=rodolph.perfetta@gmail.com,ulan@chromium.org

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

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

11 years agoFixed evaluation order problem found by GCMole.
svenpanne@chromium.org [Wed, 17 Apr 2013 06:25:29 +0000 (06:25 +0000)]
Fixed evaluation order problem found by GCMole.

TBR=mvstanton@chromium.org

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

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

11 years agoMIPS: Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOu...
palfia@homejinni.com [Tue, 16 Apr 2013 21:35:42 +0000 (21:35 +0000)]
MIPS: Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()

Port r14279 (81829ab4)

BUG=

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

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

11 years agoRevert the commits adding new GC-related APIs.
mstarzinger@chromium.org [Tue, 16 Apr 2013 16:37:04 +0000 (16:37 +0000)]
Revert the commits adding new GC-related APIs.

We need to solve efficiency problems first.

This reverts the following revisions: 14283 14286 14221 14215

BUG=

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

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

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

11 years agoMore ARM GYP fixes
jkummerow@chromium.org [Tue, 16 Apr 2013 15:36:11 +0000 (15:36 +0000)]
More ARM GYP fixes

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

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

11 years agoFix ARM specific GYP variables
jkummerow@chromium.org [Tue, 16 Apr 2013 15:17:27 +0000 (15:17 +0000)]
Fix ARM specific GYP variables

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

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

11 years agoFix shared library build of preparser: properly #undef V8EXPORT
jkummerow@chromium.org [Tue, 16 Apr 2013 14:55:45 +0000 (14:55 +0000)]
Fix shared library build of preparser: properly #undef V8EXPORT

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

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

11 years agoFix compilation failure on Win64 since r14285.
mstarzinger@chromium.org [Tue, 16 Apr 2013 14:55:09 +0000 (14:55 +0000)]
Fix compilation failure on Win64 since r14285.

R=dslomov@chromium.org

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

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

11 years agoARM: Makefile/gyp update allowing better control of ARM specific options.
rodolph.perfetta@gmail.com [Tue, 16 Apr 2013 14:39:48 +0000 (14:39 +0000)]
ARM: Makefile/gyp update allowing better control of ARM specific options.

This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
 * armfpu      = vfp, vfpv3-d16, vfpv3, neon.
 * armfloatabi = softfp, hard
 * armneon     = on
 * armthumb    = on, off
 * armtest     = on
One existing paratemer has been modified:
 * armv7       = true, false
A number of parameters have been deprecated (but are still working):
 * hardfp      = on, off
 * vfp2        = off
 * vfp3        = off

the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.

The shell help now prints the target options and features detected.

BUG=none
TEST=none

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

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

11 years agoRelease build fix
dslomov@chromium.org [Tue, 16 Apr 2013 14:34:02 +0000 (14:34 +0000)]
Release build fix

TBR=rossberg@chromium.org
BUG=

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

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

11 years agoBuild error fix after r14283.
jkummerow@chromium.org [Tue, 16 Apr 2013 14:24:31 +0000 (14:24 +0000)]
Build error fix after r14283.

BUG=NONE

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

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

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

11 years agoFirst cut at impementing ES6 TypedArrays in V8.
dslomov@chromium.org [Tue, 16 Apr 2013 14:16:30 +0000 (14:16 +0000)]
First cut at impementing ES6 TypedArrays in V8.

BUG=

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

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

11 years agoFix Windows build
jkummerow@chromium.org [Tue, 16 Apr 2013 13:17:47 +0000 (13:17 +0000)]
Fix Windows build

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

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

11 years agoNew GC related APIs: Implicit references.
mstarzinger@chromium.org [Tue, 16 Apr 2013 12:57:01 +0000 (12:57 +0000)]
New GC related APIs: Implicit references.

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

BUG=NONE

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

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

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

11 years agoMake gyp work with Cygwin
jkummerow@chromium.org [Tue, 16 Apr 2013 12:36:44 +0000 (12:36 +0000)]
Make gyp work with Cygwin

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoRemove bogus CPU scope.
yangguo@chromium.org [Tue, 16 Apr 2013 12:33:39 +0000 (12:33 +0000)]
Remove bogus CPU scope.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoReplace OS::MemCopy with OS::MemMove (just as fast but more flexible).
jkummerow@chromium.org [Tue, 16 Apr 2013 12:30:51 +0000 (12:30 +0000)]
Replace OS::MemCopy with OS::MemMove (just as fast but more flexible).

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

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

11 years agoHandle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMem...
jkummerow@chromium.org [Tue, 16 Apr 2013 12:16:55 +0000 (12:16 +0000)]
Handle OOM failures correctly in the CEntryStub when embedders set V8::IgnoreOutOfMemoryException()

BUG=chromium:231217

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

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

11 years agopthreads seem to be fully supported on Linux and Android which allows to remove many...
yurys@chromium.org [Tue, 16 Apr 2013 12:06:43 +0000 (12:06 +0000)]
pthreads seem to be fully supported on Linux and Android which allows to remove many #ifdefs.

Also OS::Sleep(interval_) is used to pause sampling thread on all platforms. It makes no sense to send signal once 900mks to compensate 100mks delay on signal delivery as the signals would be delivered once 900mks.

BUG=None

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

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

11 years agoMIPS: Remove soft-float support.
palfia@homejinni.com [Tue, 16 Apr 2013 11:33:02 +0000 (11:33 +0000)]
MIPS:  Remove soft-float support.

Port r14159 (0c64645)

Original commit message:
Remove ARM support for VFP2

BUG=

TEST=

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

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

11 years agoFix bug introduced by r13960.
vegorov@chromium.org [Tue, 16 Apr 2013 11:31:04 +0000 (11:31 +0000)]
Fix bug introduced by r13960.

Allocator does not backtrack thus during allocation we must not create an unhandled live
range which starts before the start of the current live range.

If such range is added to the list of unhandled it might see an inconsistent state of active/inactive live-ranges as they are retired to handled as soon as start of the current live range is larger than their end.

Add assertion to catch this kind of bugs early.

TEST=NavierStokes does not fail on ARM

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

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

11 years agoRemove relocation lock.
yangguo@chromium.org [Tue, 16 Apr 2013 11:00:02 +0000 (11:00 +0000)]
Remove relocation lock.

Freeze HValue hash codes that are based on object addresses.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoThis change is a continuation of the refactoring started in r14265.
yurys@chromium.org [Tue, 16 Apr 2013 08:54:33 +0000 (08:54 +0000)]
This change is a continuation of the refactoring started in r14265.

Renamed SignalSender to SamplerThread to match platforms that don't support signal sending.

Cygwin and Windows implementations are almost identical. Mac OS X uses different API to suspend thread but apart from that it is very similar to Windows implenenation.

BUG=None

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

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

11 years agoARM: Enable VFP default NaN mode
m.m.capewell@googlemail.com [Mon, 15 Apr 2013 15:55:47 +0000 (15:55 +0000)]
ARM: Enable VFP default NaN mode

BUG=none
TEST=Default NaN tests added to test-assembler-arm.

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

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

11 years agoFix OOB write in --print-code.
yangguo@chromium.org [Mon, 15 Apr 2013 15:19:51 +0000 (15:19 +0000)]
Fix OOB write in --print-code.

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

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

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

11 years agoIncrease profiling interval in test-cpu-profiler/CollectCpuProfile to 500ms on Windows
yurys@chromium.org [Mon, 15 Apr 2013 14:45:38 +0000 (14:45 +0000)]
Increase profiling interval in test-cpu-profiler/CollectCpuProfile to 500ms on Windows

BUG=v8:2628

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

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

11 years agoMove *BSD and Solaris Sampler implementation into sampler.cc
yurys@chromium.org [Mon, 15 Apr 2013 13:57:41 +0000 (13:57 +0000)]
Move *BSD and Solaris Sampler implementation into sampler.cc

This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes.

The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.*

BUG=None

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

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

11 years agoCalling a generator function returns a generator object
mstarzinger@chromium.org [Mon, 15 Apr 2013 12:29:44 +0000 (12:29 +0000)]
Calling a generator function returns a generator object

* src/heap.h:
* src/heap.cc:
* src/objects-debug.cc:
* src/objects-inl.h:
* src/objects-printer.cc:
* src/objects-visiting.cc:
* src/objects.cc:
* src/objects.h: Define a new object type, JSGeneratorObject.

* src/factory.h:
* src/factory.cc (NewFunctionFromSharedFunctionInfo): Generator function
  inital maps construct the new JS_GENERATOR_OBJECT_TYPE objects, not
  generic JSObjects.

* src/runtime.h:
* src/runtime.cc (Runtime_CreateJSGeneratorObject):
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Before visiting generator
  bodies, arrange to construct and return a generator object.

* test/mjsunit/harmony/generators-objects.js: Add tests for the
  properties and prototype of generator objects.

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

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

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

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

11 years agoFix so that you can run presubmit.py in Windows.
yangguo@chromium.org [Mon, 15 Apr 2013 12:21:05 +0000 (12:21 +0000)]
Fix so that you can run presubmit.py in Windows.
presubmit.py tried to execute cpplint.py directly, but in Windows it's the shell that connects that to the python binary so the execution (subprocess.Popen) needs to be told how to find python. An alternative would be to call subprocess.Popen with shell=True but this is less dangerous.

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

Patch from Daniel Bratell <bratell@opera.com>.

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

11 years agoImplement direct allocation in old data space infrastructure.
hpayer@chromium.org [Mon, 15 Apr 2013 11:52:34 +0000 (11:52 +0000)]
Implement direct allocation in old data space infrastructure.

BUG=

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

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

11 years agoA little code refactoring on VirtualMemory::Commit for platform-win32
svenpanne@chromium.org [Mon, 15 Apr 2013 10:40:25 +0000 (10:40 +0000)]
A little code refactoring on VirtualMemory::Commit for platform-win32

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoActually implement the sqrt intrinsic in Crankshaft
svenpanne@chromium.org [Mon, 15 Apr 2013 10:36:12 +0000 (10:36 +0000)]
Actually implement the sqrt intrinsic in Crankshaft

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

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

11 years agoHomogenizes map checks for all polymorphic named field loads.
dslomov@chromium.org [Mon, 15 Apr 2013 09:05:50 +0000 (09:05 +0000)]
Homogenizes map checks for all polymorphic named field loads.
Tests show no perf regressions

BUG=

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

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

11 years agoMinGW: Add Cygwin-free Makefile generation script
jkummerow@chromium.org [Mon, 15 Apr 2013 08:43:18 +0000 (08:43 +0000)]
MinGW: Add Cygwin-free Makefile generation script

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

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

11 years agoMake gyp work with MingW32
jkummerow@chromium.org [Mon, 15 Apr 2013 08:33:31 +0000 (08:33 +0000)]
Make gyp work with MingW32

Review URL: https://codereview.chromium.org/13468015
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoMIPS: Enable pretenuring of fast literals in high promotion mode.
palfia@homejinni.com [Fri, 12 Apr 2013 17:06:23 +0000 (17:06 +0000)]
MIPS: Enable pretenuring of fast literals in high promotion mode.

Port r14248 (144e215a)

BUG=

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

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

11 years agoSwitch generator builtins into strict mode.
mstarzinger@chromium.org [Fri, 12 Apr 2013 15:52:44 +0000 (15:52 +0000)]
Switch generator builtins into strict mode.

R=rossberg@chromium.org

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

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

11 years agoARM: Small copy optimization. Copying 64bits at a time.
rodolph.perfetta@gmail.com [Fri, 12 Apr 2013 14:46:43 +0000 (14:46 +0000)]
ARM: Small copy optimization. Copying 64bits at a time.

BUG=none
TEST=none

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

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

11 years agoIntel VTune integration for V8/d8
danno@chromium.org [Fri, 12 Apr 2013 12:48:27 +0000 (12:48 +0000)]
Intel VTune integration for V8/d8

In this patch, we added the JIT code event handler for Vtune. Most of the code is in the
folder src/third_party/vtune. Two APIs are added in include/v8.h to get the requirement info
from V8.

We add the v8_enable_vtunejit parameter for GYP to enable these Vtune code compilation.
vTune::InitilizeVtuneForV8() is invoked in the embedder of V8 to make sure it's invokded if
vtune support is enabled.

Review URL: https://codereview.chromium.org/11574031
Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

11 years agoRemove code that analyzes tos values from tickprocessor
yurys@chromium.org [Fri, 12 Apr 2013 11:20:22 +0000 (11:20 +0000)]
Remove code that analyzes tos values from tickprocessor

Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc) and now it is time to remove it from the tick processor.

Since the tos is not used anymore by profiler it is also removed from TickSample.

BUG=None

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

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

11 years agoTurn off pre-tenuring of fast literals when we turn off high promotion mode.
hpayer@chromium.org [Fri, 12 Apr 2013 11:14:48 +0000 (11:14 +0000)]
Turn off pre-tenuring of fast literals when we turn off high promotion mode.

BUG=

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

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

11 years agoUnified the structure of VirtualMemory implementations across platforms a bit.
svenpanne@chromium.org [Fri, 12 Apr 2013 11:10:19 +0000 (11:10 +0000)]
Unified the structure of VirtualMemory implementations across platforms a bit.

This is just shuffling some code around to make comparing the platform files easier.

Made cygwin/nullos support a bit more complete on the way.

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

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

11 years agoAdd tests for GlobalHandles::IterateObjectGroups.
mstarzinger@chromium.org [Fri, 12 Apr 2013 09:54:51 +0000 (09:54 +0000)]
Add tests for GlobalHandles::IterateObjectGroups.

BUG=none
TEST=cctest/test-global-handles

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

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

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

11 years agoEnable pretenuring of fast literals in high promotion mode.
hpayer@chromium.org [Fri, 12 Apr 2013 09:45:46 +0000 (09:45 +0000)]
Enable pretenuring of fast literals in high promotion mode.

BUG=

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

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

11 years agoFix preparser build with snapshot=off
jkummerow@chromium.org [Fri, 12 Apr 2013 09:44:08 +0000 (09:44 +0000)]
Fix preparser build with snapshot=off

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

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

11 years agoRemove unnecessary BailoutIds.
hpayer@chromium.org [Fri, 12 Apr 2013 09:36:56 +0000 (09:36 +0000)]
Remove unnecessary BailoutIds.

BUG=

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

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

11 years agoMIPS: Fix register usage in commit r14239.
palfia@homejinni.com [Fri, 12 Apr 2013 09:25:04 +0000 (09:25 +0000)]
MIPS: Fix register usage in commit r14239.

BUG=

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

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

11 years agoRemove preparser library; link preparser executable against full V8
jkummerow@chromium.org [Fri, 12 Apr 2013 09:05:49 +0000 (09:05 +0000)]
Remove preparser library; link preparser executable against full V8

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

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

11 years agoSupport full deoptimization during GC via stack guard.
mstarzinger@chromium.org [Fri, 12 Apr 2013 08:58:22 +0000 (08:58 +0000)]
Support full deoptimization during GC via stack guard.

This adds support to the stack guard to trigger a full deoptimization of
all optimized code when the GC kicks into high promotion mode. Global
pretenuring decisions in optimized code can then be based on the high
promotion mode.

R=ulan@chromium.org

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

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

11 years agoFix detection of indexed properties in Object.defineProperty()
mstarzinger@chromium.org [Fri, 12 Apr 2013 08:45:14 +0000 (08:45 +0000)]
Fix detection of indexed properties in Object.defineProperty()

When defining an indexed property on an Array object, the object's
length property should (perhaps) be updated.  This was done for any
property for which

  ToUInt32(name) == ToNumber(name)

was true, meaning any property name that, when converted to a number,
was an integer in the range [0, 2^32).  The detection should be more
strict; an indexed property is one for which

  ToString(ToUInt32(name)) == name

is true only.

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

Patch from Jens Lindström <jl@opera.com>.

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

11 years agoSeparate calculation of double element and object element sizes in IsFastLiteral.
hpayer@chromium.org [Fri, 12 Apr 2013 08:42:17 +0000 (08:42 +0000)]
Separate calculation of double element and object element sizes in IsFastLiteral.

BUG=

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

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

11 years agoReduce verbosity of hydrogen instructions with OSEs.
mstarzinger@chromium.org [Fri, 12 Apr 2013 07:59:13 +0000 (07:59 +0000)]
Reduce verbosity of hydrogen instructions with OSEs.

R=hpayer@chromium.org

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

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

11 years agoMIPS: Accurate function prototypes for native calls from ARM simulator.
plind44@gmail.com [Fri, 12 Apr 2013 02:01:52 +0000 (02:01 +0000)]
MIPS: Accurate function prototypes for native calls from ARM simulator.

Port r14230 (76c22097)

Original commit message:
Native method invocation from the arm/simulator-arm.cc previously made
non-portable assumptions about calling conventions. This was okay for 32-bit
stack-based machines, where by-value structs are automatically materialized
on the stack, and where both int and double parameters could be passed on the
stack. However they are not okay for x86-64, which has an elaborate scheme
for passing parameters in registers.

This CL replaces the previous non-portable code paths with portable code,
using call-sites that accurately match the prototype of the callee.

BUG=

Review URL: https://codereview.chromium.org/13989008
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: * src/generator.js: Add methods and intialization for generator meta-objects.
palfia@homejinni.com [Thu, 11 Apr 2013 23:25:08 +0000 (23:25 +0000)]
MIPS: * src/generator.js: Add methods and intialization for generator meta-objects.

Port r14236 (7d56d7c5)

Original commit message:
* src/generator.js: Add methods and intialization for generator meta-objects.

* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
  meta-objects, and store maps for constructing generator functions
  and their prototypes.

* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
  (NewFunctionFromSharedFunctionInfo): Use the new helper.

* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
   generators, allocate appropriate prototypes and maps.

* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.

* test/mjsunit/harmony/builtins.js: Add a special case for
  GeneratorFunctionPrototype.prototype.__proto__.

BUG=

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

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

11 years agoMIPS: Disentangle field from transition stores.
palfia@homejinni.com [Thu, 11 Apr 2013 23:22:08 +0000 (23:22 +0000)]
MIPS: Disentangle field from transition stores.

Port r14223 (c6460cd6)

BUG=

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

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

11 years ago* src/generator.js: Add methods and intialization for generator meta-objects.
rossberg@chromium.org [Thu, 11 Apr 2013 16:28:19 +0000 (16:28 +0000)]
* src/generator.js: Add methods and intialization for generator meta-objects.

* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
  meta-objects, and store maps for constructing generator functions
  and their prototypes.

* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
  (NewFunctionFromSharedFunctionInfo): Use the new helper.

* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
   generators, allocate appropriate prototypes and maps.

* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.

* test/mjsunit/harmony/builtins.js: Add a special case for
  GeneratorFunctionPrototype.prototype.__proto__.

BUG=
TEST=mjsunit/harmony/generators-runtime

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

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

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

11 years agoFix cctest/test-cpu-profiler/CollectCpuProfile test on Arm and MIPS simulators
yurys@chromium.org [Thu, 11 Apr 2013 14:22:04 +0000 (14:22 +0000)]
Fix cctest/test-cpu-profiler/CollectCpuProfile test on Arm and MIPS simulators

Signal handler on simulator now retrieve registers from the simulator not from the host machine.

BUG=v8:2621

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

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

11 years agoMove creation of collection prototypes into JavaScript.
mstarzinger@chromium.org [Thu, 11 Apr 2013 13:31:51 +0000 (13:31 +0000)]
Move creation of collection prototypes into JavaScript.

R=rossberg@chromium.org

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

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

11 years agoSeparate Math Lithium operations.
svenpanne@chromium.org [Thu, 11 Apr 2013 13:27:06 +0000 (13:27 +0000)]
Separate Math Lithium operations.

This makes the logic in the Hydrogen->Lithium translation much clearer, avoids a
hand-written dispatch and even opened up opportunities for simpler register
constraints for some operations/platforms.

Doing the same for the Hydrogen level might be done in a follow-up CL.

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

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

11 years agoAdded non observable side effects scope and removed unnecessary calls to AddSimulate.
hpayer@chromium.org [Thu, 11 Apr 2013 13:07:37 +0000 (13:07 +0000)]
Added non observable side effects scope and removed unnecessary calls to AddSimulate.

BUG=

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

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

11 years agoRun style checks also when uploading.
jkummerow@chromium.org [Thu, 11 Apr 2013 12:41:31 +0000 (12:41 +0000)]
Run style checks also when uploading.

The right moment for fixing style errors is when working on the CL, not when
committing it. And this makes non-committers bump into this check too when
uploading changes.

BUG=none

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

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

11 years agoAccurate function prototypes for native calls from ARM simulator.
ulan@chromium.org [Thu, 11 Apr 2013 12:40:37 +0000 (12:40 +0000)]
Accurate function prototypes for native calls from ARM simulator.

Native method invocation from the arm/simulator-arm.cc previously made
non-portable assumptions about calling conventions. This was okay for 32-bit
stack-based machines, where by-value structs are automatically materialized
on the stack, and where both int and double parameters could be passed on the
stack. However they are not okay for x86-64, which has an elaborate scheme
for passing parameters in registers.

This CL replaces the previous non-portable code paths with portable code,
using call-sites that accurately match the prototype of the callee.

BUG=2614

Review URL: https://chromiumcodereview.appspot.com/13818012
Patch from Brad Chen <bradchen@google.com>.

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

11 years agoFix set-up of intrinsic's 'constructor' properties
rossberg@chromium.org [Thu, 11 Apr 2013 12:27:55 +0000 (12:27 +0000)]
Fix set-up of intrinsic's 'constructor' properties

Looks so easy...

R=mstarzinger@chromium.org
BUG=229445

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

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

11 years agoMove global code for builtins into setup functions.
mstarzinger@chromium.org [Thu, 11 Apr 2013 12:15:25 +0000 (12:15 +0000)]
Move global code for builtins into setup functions.

R=rossberg@chromium.org

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

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

11 years agoIA32: Small assembler tweak for divsd->mulsd sequence
yangguo@chromium.org [Thu, 11 Apr 2013 10:48:46 +0000 (10:48 +0000)]
IA32: Small assembler tweak for divsd->mulsd sequence

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

Patch from Zheng Liu <zheng.z.liu@intel.com>.

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

11 years agoFix JSON.stringify's slow path wrt sliced strings.
yangguo@chromium.org [Thu, 11 Apr 2013 09:53:00 +0000 (09:53 +0000)]
Fix JSON.stringify's slow path wrt sliced strings.

R=mvstanton@chromium.org
BUG=229923

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

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

11 years agoDisentangle field from transition stores.
verwaest@chromium.org [Thu, 11 Apr 2013 09:48:03 +0000 (09:48 +0000)]
Disentangle field from transition stores.

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

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

11 years agoTemporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator
svenpanne@chromium.org [Thu, 11 Apr 2013 09:25:43 +0000 (09:25 +0000)]
Temporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator

TBR=yurys@chromium.org
BUG=v8:2621

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

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

11 years agoFix build failures on Win64 since r14215.
mstarzinger@chromium.org [Thu, 11 Apr 2013 08:08:09 +0000 (08:08 +0000)]
Fix build failures on Win64 since r14215.

R=svenpanne@chromium.org

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

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

11 years agoMIPS: Build fast literals in hydrogen.
palfia@homejinni.com [Thu, 11 Apr 2013 00:52:22 +0000 (00:52 +0000)]
MIPS: Build fast literals in hydrogen.

Port r14211 (8d6dfcb6)

BUG=

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

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

11 years agoMIPS: Fix OSR for nested loops.
palfia@homejinni.com [Thu, 11 Apr 2013 00:50:58 +0000 (00:50 +0000)]
MIPS: Fix OSR for nested loops.

Port r14202 (b8949f01), r14208 (06cc8568)

BUG=

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

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