jkummerow@chromium.org
0c634a1dae
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
2013-04-22 16:31:16 +00:00
mvstanton@chromium.org
54a11734ac
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
2013-04-22 15:35:23 +00:00
yangguo@chromium.org
555c78c513
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
2013-04-22 15:20:28 +00:00
yangguo@chromium.org
4d1362720f
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
2013-04-22 15:01:45 +00:00
verwaest@chromium.org
6ada4790b7
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
2013-04-22 14:46:55 +00:00
mstarzinger@chromium.org
81b762cc33
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
2013-04-22 14:38:07 +00:00
jkummerow@chromium.org
981af21dd5
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
2013-04-22 13:32:40 +00:00
mstarzinger@chromium.org
d1942e1431
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
2013-04-22 12:49:08 +00:00
rossberg@chromium.org
3cd9f6a40e
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
2013-04-22 11:29:52 +00:00
mstarzinger@chromium.org
6f595c231a
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
2013-04-22 11:15:43 +00:00
jkummerow@chromium.org
85bb702db4
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
2013-04-22 10:56:37 +00:00
svenpanne@chromium.org
07a2a9cd19
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
2013-04-22 09:48:35 +00:00
ulan@chromium.org
1ec5ce902c
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
2013-04-22 09:42:45 +00:00
mstarzinger@chromium.org
8fa1186258
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
2013-04-22 08:46:02 +00:00
verwaest@chromium.org
8dd69f8dde
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
2013-04-22 08:00:28 +00:00
mvstanton@chromium.org
37d11fb0f0
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
2013-04-22 07:47:25 +00:00
palfia@homejinni.com
f51b76425a
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
2013-04-19 19:23:03 +00:00
titzer@chromium.org
3575f97036
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
2013-04-19 16:46:13 +00:00
jkummerow@chromium.org
7155b96d41
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
2013-04-19 16:38:19 +00:00
mstarzinger@chromium.org
e288a65ec1
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
2013-04-19 16:21:09 +00:00
mvstanton@chromium.org
a8521a9e77
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
2013-04-19 16:01:57 +00:00
ulan@chromium.org
dcb3c6301b
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
2013-04-19 15:55:34 +00:00
mstarzinger@chromium.org
d38a463d05
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
2013-04-19 15:50:01 +00:00
alph@chromium.org
8bbf942d75
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
2013-04-19 15:42:52 +00:00
danno@chromium.org
e457b92a47
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
2013-04-19 14:22:38 +00:00
danno@chromium.org
600ed94a3d
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
2013-04-19 14:20:36 +00:00
mstarzinger@chromium.org
0f348e5592
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
2013-04-19 14:11:23 +00:00
danno@chromium.org
bc04544f02
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
2013-04-19 13:26:47 +00:00
danno@chromium.org
0c5c6c50bb
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
2013-04-19 13:20:45 +00:00
mstarzinger@chromium.org
6654cbeb7d
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
2013-04-19 12:46:32 +00:00
svenpanne@chromium.org
0af76e96ea
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
2013-04-19 12:02:12 +00:00
yurys@chromium.org
c0fca4e8c8
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
2013-04-19 11:55:01 +00:00
ulan@chromium.org
1938b1de3b
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
2013-04-19 08:30:49 +00:00
mvstanton@chromium.org
dfdd17fc2a
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
2013-04-19 07:23:09 +00:00
palfia@homejinni.com
ab695a2bd7
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
2013-04-18 23:48:42 +00:00
palfia@homejinni.com
5197ab0548
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
2013-04-18 23:47:40 +00:00
palfia@homejinni.com
bd03455c4e
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
2013-04-18 23:46:37 +00:00
danno@chromium.org
80adb58933
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
2013-04-18 20:37:27 +00:00
mvstanton@chromium.org
bfb3e6ce9c
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
2013-04-18 15:44:38 +00:00
mvstanton@chromium.org
ad2c227e01
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
2013-04-18 15:09:48 +00:00
mstarzinger@chromium.org
ddfa56344e
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
2013-04-18 14:56:30 +00:00
yangguo@chromium.org
72a05845ec
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
2013-04-18 14:41:24 +00:00
yangguo@chromium.org
ecbbf528c0
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
2013-04-18 14:34:34 +00:00
mstarzinger@chromium.org
adf9afc09e
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
2013-04-18 14:18:27 +00:00
svenpanne@chromium.org
275891079a
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
2013-04-18 13:45:19 +00:00
yangguo@chromium.org
373bdbc951
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
2013-04-18 12:46:38 +00:00
titzer@chromium.org
e210d8325f
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
2013-04-18 11:22:29 +00:00
jkummerow@chromium.org
5eadc1a428
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
2013-04-18 11:01:14 +00:00
danno@chromium.org
fded35e019
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
2013-04-18 10:51:24 +00:00
mstarzinger@chromium.org
c47af882ba
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
2013-04-18 10:48:27 +00:00