palfia@homejinni.com [Mon, 22 Apr 2013 22:45:34 +0000 (22:45 +0000)]
MIPS: Improvements in lithium code generation. Recognizing if some operands are constants, we can often save on registers and instructions.
Port r14364 (
2819e5ee)
BUG=
Review URL: https://codereview.chromium.org/
14159015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Mon, 22 Apr 2013 21:30:57 +0000 (21:30 +0000)]
ARM: VFP cleanup now that VFP2 is the baseline.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
14119008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 22 Apr 2013 16:31:16 +0000 (16:31 +0000)]
Ignore observed Double output in binary operations when all uses are truncating to Integer32
BUG=v8:2424
Review URL: https://codereview.chromium.org/
14320021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 22 Apr 2013 15:35:23 +0000 (15:35 +0000)]
Fixed issue in StoreNamedField codegen where integer32 constants were not converted to a smi.
BUG=
Review URL: https://codereview.chromium.org/
14075014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 22 Apr 2013 15:20:28 +0000 (15:20 +0000)]
create uniform string api
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12426015
Patch from Dan Carney <dcarney@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 22 Apr 2013 15:01:45 +0000 (15:01 +0000)]
Add methods to allow resuming execution after calling TerminateExecution().
R=mvstanton@chromium.org
BUG=v8:2361
Review URL: https://chromiumcodereview.appspot.com/
14401008
Patch from Andrew Paprocki <andrew@ishiboo.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14378
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Apr 2013 14:46:55 +0000 (14:46 +0000)]
Ensure callbacks transitions are actually followed.
Review URL: https://chromiumcodereview.appspot.com/
14371007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Apr 2013 14:38:07 +0000 (14:38 +0000)]
Disable ParserSync test in GC stress mode for now.
R=jkummerow@chromium.org
TEST=cctest/test-parsing/ParserSync
Review URL: https://codereview.chromium.org/
14075017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 22 Apr 2013 13:32:40 +0000 (13:32 +0000)]
Fix outdated build/README.txt
BUG=v8:2649
Review URL: https://codereview.chromium.org/
13911011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Apr 2013 12:49:08 +0000 (12:49 +0000)]
Make Clang plugins directory configurable for GCMole.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
13956027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 22 Apr 2013 11:29:52 +0000 (11:29 +0000)]
Add d8 functionality for switching between realms (a.k.a. contexts), 2nd try
The only difference to the previous implementation (https://codereview.chromium.org/
14295011/) is in patch set 2.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14404005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Apr 2013 11:15:43 +0000 (11:15 +0000)]
Replace CheckBuilder with IfBuilder everywhere.
This deprecates and removes the CheckBuilder which is less powerful
than the generic IfBuilder which can deopt as well by now.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14075013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 22 Apr 2013 10:56:37 +0000 (10:56 +0000)]
ARM: Fix erroneous detection of Double result type in Integer32 BinaryOpStubs
BUG=v8:2648
Review URL: https://codereview.chromium.org/
14178013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14371
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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