platform/upstream/v8.git
11 years agoVarious improvements regarding the way we print code code comments.
svenpanne@chromium.org [Mon, 22 Apr 2013 09:48:35 +0000 (09:48 +0000)]
Various improvements regarding the way we print code code comments.

* All Lithium instructions have an associated Hydrogen instruction now,
  simplifying things.

* Consistently print <Lithium instruction number,Hydrogen value id> prefixes.

* Do not print uninteresting Lithium instructions like empty gaps, jumps to the
  next instruction, etc.

* Removed special handling of HChange-like instructions, it is totally unclear
  why they had this special treatment. If we really want to print more
  information about Lithium instructions, we should do it in a totally way,
  anyway (e.g. by unifying things with the generation of hydrogen*.cfg files).

* Made deferred code and the jump table stand out a little bit more.

* Print info about special blocks like loop headers and OSR entries.

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.3.
ulan@chromium.org [Mon, 22 Apr 2013 09:42:45 +0000 (09:42 +0000)]
Prepare push to trunk.  Now working on version 3.18.3.

R=jkummerow@chromium.org

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

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

11 years agoSkip one generators test because of no-snap failures.
mstarzinger@chromium.org [Mon, 22 Apr 2013 08:46:02 +0000 (08:46 +0000)]
Skip one generators test because of no-snap failures.

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

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

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

11 years agoInfer smi-range for smi-typed values.
verwaest@chromium.org [Mon, 22 Apr 2013 08:00:28 +0000 (08:00 +0000)]
Infer smi-range for smi-typed values.

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

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

11 years agoImprovements in lithium code generation. Recognizing if some operands are constants...
mvstanton@chromium.org [Mon, 22 Apr 2013 07:47:25 +0000 (07:47 +0000)]
Improvements in lithium code generation. Recognizing if some operands are constants, we can often save on registers and instructions.

BUG=

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

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

11 years agoMIPS: Generator objects can suspend
palfia@homejinni.com [Fri, 19 Apr 2013 19:23:03 +0000 (19:23 +0000)]
MIPS: Generator objects can suspend

Port r14353 (f4bb81d1)

Original commit message:
* src/ast.h:
* src/parser.cc: Differentiate between the different kinds of yields, in
  anticipation of boxing return values.  Parse `return' into `yield' in
  a generator.

* src/runtime.h:
* src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible
  runtime function: saves continuation, context, and operands into the
  generator object.

* src/arm/full-codegen-arm.cc (VisitYield):
* src/ia32/full-codegen-ia32.cc (VisitYield):
* src/x64/full-codegen-x64.cc (VisitYield): Arrange to call
  SuspendJSGeneratorObject.  If the call returns the hole, we suspend.
  Otherwise we resume.

BUG=v8:2355
TEST=These codepaths are tested when the generator is first invoked, and so
are covered by mjsunit/harmony/generators-objects.js.

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

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

11 years agoRefactor HCheckMaps to have a private constructor, removing duplicated code and simpl...
titzer@chromium.org [Fri, 19 Apr 2013 16:46:13 +0000 (16:46 +0000)]
Refactor HCheckMaps to have a private constructor, removing duplicated code and simplifying calls in clients.
Ignore bsuite directory.

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

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

11 years agoOS::MemMove/OS::MemCopy: Don't call through to generated code when size == 0 to avoid...
jkummerow@chromium.org [Fri, 19 Apr 2013 16:38:19 +0000 (16:38 +0000)]
OS::MemMove/OS::MemCopy: Don't call through to generated code when size == 0 to avoid prefetching invalid memory

BUG=chromium:233500

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

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

11 years agoSwitch elements access to use IfBuilder instead of CheckBuilder.
mstarzinger@chromium.org [Fri, 19 Apr 2013 16:21:09 +0000 (16:21 +0000)]
Switch elements access to use IfBuilder instead of CheckBuilder.

R=danno@chromium.org

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

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

11 years agoRecordWriteStubs on ARM need to save FP registers
mvstanton@chromium.org [Fri, 19 Apr 2013 16:01:57 +0000 (16:01 +0000)]
RecordWriteStubs on ARM need to save FP registers

A previous change erroneously stopped saving fp registers for write stubs in
snapshotted code. This CL restores correct behavior, and makes sure code that
saves fp registers checks at runtime for 16 or 32 fp registers. Also fix a bug
in the arm simulator debugger.

BUG=

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

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

11 years agoPropagate OOM exception instead of crashing in CALL_HEAP_FUNCTION_PASS_EXCEPTION...
ulan@chromium.org [Fri, 19 Apr 2013 15:55:34 +0000 (15:55 +0000)]
Propagate OOM exception instead of crashing in CALL_HEAP_FUNCTION_PASS_EXCEPTION macro.

R=jkummerow@chromium.org
BUG=webkit/fast/js/concat-large-strings-crash.html

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

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

11 years agoFix build failures on Win64 since r14354.
mstarzinger@chromium.org [Fri, 19 Apr 2013 15:50:01 +0000 (15:50 +0000)]
Fix build failures on Win64 since r14354.

R=ulan@chromium.org

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

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

11 years agoRemove heap snapshot size limit.
alph@chromium.org [Fri, 19 Apr 2013 15:42:52 +0000 (15:42 +0000)]
Remove heap snapshot size limit.

As long as frontend now stores snapshots in external arrays
it doesn't make sense to check the collected snapshot size on the
backend side. In other words if backend has managed to fit the
collected snapshot into its memory, it should also fit into the
frontend's memory.

R=yurys@chromium.org
BUG=chromium:232305

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

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

11 years agoUpdate arm and mips simulator to also use cmath
danno@chromium.org [Fri, 19 Apr 2013 14:22:38 +0000 (14:22 +0000)]
Update arm and mips simulator to also use cmath

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

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

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

11 years agoUpdate tests to use std::isnan instead of isnan
danno@chromium.org [Fri, 19 Apr 2013 14:20:36 +0000 (14:20 +0000)]
Update tests to use std::isnan instead of isnan

Should fix compilation breakage after r14352

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

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

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

11 years agoGenerator objects can suspend
mstarzinger@chromium.org [Fri, 19 Apr 2013 14:11:23 +0000 (14:11 +0000)]
Generator objects can suspend

* src/ast.h:
* src/parser.cc: Differentiate between the different kinds of yields, in
  anticipation of boxing return values.  Parse `return' into `yield' in
  a generator.

* src/runtime.h:
* src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible
  runtime function: saves continuation, context, and operands into the
  generator object.

* src/arm/full-codegen-arm.cc (VisitYield):
* src/ia32/full-codegen-ia32.cc (VisitYield):
* src/x64/full-codegen-x64.cc (VisitYield): Arrange to call
  SuspendJSGeneratorObject.  If the call returns the hole, we suspend.
  Otherwise we resume.

BUG=v8:2355
TEST=These codepaths are tested when the generator is first invoked, and so
are covered by mjsunit/harmony/generators-objects.js.

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

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

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

11 years agoReplace math.h with cmath
danno@chromium.org [Fri, 19 Apr 2013 13:26:47 +0000 (13:26 +0000)]
Replace math.h with cmath

This will make it easier to use other STL headers in the future

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

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

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

11 years agoRemove unused member variables in IfBuilder
danno@chromium.org [Fri, 19 Apr 2013 13:20:45 +0000 (13:20 +0000)]
Remove unused member variables in IfBuilder

R=jkummerow@chromium.org

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

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

11 years agoSwitch GCMole to use GYP build file instead of SCons.
mstarzinger@chromium.org [Fri, 19 Apr 2013 12:46:32 +0000 (12:46 +0000)]
Switch GCMole to use GYP build file instead of SCons.

R=jkummerow@chromium.org

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

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

11 years agoSimplified LCodeGen::GetNextEmittedBlock and LCodeGen::EmitGoto a bit.
svenpanne@chromium.org [Fri, 19 Apr 2013 12:02:12 +0000 (12:02 +0000)]
Simplified LCodeGen::GetNextEmittedBlock and LCodeGen::EmitGoto a bit.

GetNextEmittedBlock is always called with the same argument (an instance
variable), so let's remove it. In EmitGoto, avoid assignment to an argument.

This CL is split off another CL for easier reviewing.

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

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

11 years agoRevert r14252 as it broke --prof for some cases
yurys@chromium.org [Fri, 19 Apr 2013 11:55:01 +0000 (11:55 +0000)]
Revert r14252 as it broke --prof for some cases

R=jkummerow
BUG=v8:2642

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

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

11 years agoHandle retry-after-gc failures within LoadIC::Load and StoreIC::Store.
ulan@chromium.org [Fri, 19 Apr 2013 08:30:49 +0000 (08:30 +0000)]
Handle retry-after-gc failures within LoadIC::Load and StoreIC::Store.

Follow-up for r14321, makes the remaining unsafe calls to runtime functions during ic computation safe.

R=verwaest@chromium.org
BUG=222301

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

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

11 years agoRemoved redundant instruction in VerifyX87StackDepth()
mvstanton@chromium.org [Fri, 19 Apr 2013 07:23:09 +0000 (07:23 +0000)]
Removed redundant instruction in VerifyX87StackDepth()

BUG=

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

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

11 years agoMIPS: Add infrastructure to automatucally generate IC miss stubs
palfia@homejinni.com [Thu, 18 Apr 2013 23:48:42 +0000 (23:48 +0000)]
MIPS: Add infrastructure to automatucally generate IC miss stubs

Port r14342 (24df6264)

BUG=

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

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

11 years agoMIPS: HArgument instructions currently require a frame. In Lithium we can ensure...
palfia@homejinni.com [Thu, 18 Apr 2013 23:47:40 +0000 (23:47 +0000)]
MIPS: HArgument instructions currently require a frame. In Lithium we can ensure a frame is created for these instructions via a compile info flag.

Port r14339 (7d544be1)

BUG=

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

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

11 years agoMIPS: Fix bugs in IfBuilder and improve functionality
palfia@homejinni.com [Thu, 18 Apr 2013 23:46:37 +0000 (23:46 +0000)]
MIPS: Fix bugs in IfBuilder and improve functionality

Port r14327 (21310b91)

BUG=

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

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

11 years agoAdd infrastructure to automatucally generate IC miss stubs
danno@chromium.org [Thu, 18 Apr 2013 20:37:27 +0000 (20:37 +0000)]
Add infrastructure to automatucally generate IC miss stubs

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

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

11 years agoHArgument instructions currently require a frame. In Lithium we can ensure a frame
mvstanton@chromium.org [Thu, 18 Apr 2013 15:44:38 +0000 (15:44 +0000)]
HArgument instructions currently require a frame. In Lithium we can ensure a frame
is created for these instructions via a compile info flag.

BUG=

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

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

11 years agoSaving Hydrogen code stubs in the snapshot requires us to respect the availability...
mvstanton@chromium.org [Thu, 18 Apr 2013 15:09:48 +0000 (15:09 +0000)]
Saving Hydrogen code stubs in the snapshot requires us to respect the availability of VFP32DREGS.

BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.2.
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:56:30 +0000 (14:56 +0000)]
Prepare push to trunk.  Now working on version 3.18.2.

R=jkummerow@chromium.org

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

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

11 years agoRevert r14310 due to isolate tests failure.
yangguo@chromium.org [Thu, 18 Apr 2013 14:41:24 +0000 (14:41 +0000)]
Revert r14310 due to isolate tests failure.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoDo not choose parallel recompilation when bootstrapping.
yangguo@chromium.org [Thu, 18 Apr 2013 14:34:34 +0000 (14:34 +0000)]
Do not choose parallel recompilation when bootstrapping.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoFix missing Smi check in grow mode keyed stores.
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:18:27 +0000 (14:18 +0000)]
Fix missing Smi check in grow mode keyed stores.

R=danno@chromium.org
TEST=mjsunit/regress/regress-grow-store-smi-check

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

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

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