jkummerow@chromium.org [Thu, 2 May 2013 16:30:58 +0000 (16:30 +0000)]
Detect truncating Phi uses of Phis with constant inputs
Review URL: https://codereview.chromium.org/
14260013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 2 May 2013 15:42:22 +0000 (15:42 +0000)]
Cleanup IC heuristics.
Review URL: https://chromiumcodereview.appspot.com/
14611006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 2 May 2013 15:41:02 +0000 (15:41 +0000)]
Adding fast path for generalizing maps.
Review URL: https://chromiumcodereview.appspot.com/
14629005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 2 May 2013 15:40:07 +0000 (15:40 +0000)]
Update deprecated maps before generating optimized code.
Review URL: https://chromiumcodereview.appspot.com/
14847008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 2 May 2013 14:41:06 +0000 (14:41 +0000)]
Always tag number candidate as smi if it does not come from load-keyed.
Review URL: https://chromiumcodereview.appspot.com/
14556007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 2 May 2013 13:51:03 +0000 (13:51 +0000)]
Allow pathological zero-length typed arrays.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14857002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 2 May 2013 13:30:57 +0000 (13:30 +0000)]
Range checking bug in typed array constructor.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14850011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 2 May 2013 12:27:03 +0000 (12:27 +0000)]
More typed array constructors.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14845012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 2 May 2013 11:36:48 +0000 (11:36 +0000)]
Implementation of Uint8ClampedArray.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14657003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 2 May 2013 11:22:32 +0000 (11:22 +0000)]
Bump virtual register width in LUnallocated.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14589008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 2 May 2013 09:51:07 +0000 (09:51 +0000)]
Allow more virtual registers to be encoded in LUnallocated.
This is a preparation which allows us to bump the virtual register width
from 15 to 18 bit without sacrificing width for other fields inside an
unallocated lithium operand.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14639008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 30 Apr 2013 22:54:36 +0000 (22:54 +0000)]
MIPS: Fix mjsunit/harmony/generators-iteration test failure.
BUG=
Review URL: https://codereview.chromium.org/
14695004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 30 Apr 2013 19:09:33 +0000 (19:09 +0000)]
MIPS: Allow setting debugger breakpoints on CompareNilICs
Port r14487 (
022d1fc3)
BUG=
Review URL: https://codereview.chromium.org/
14662002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 18:53:27 +0000 (18:53 +0000)]
Add Value::Is* methods for typed arrays and ArrayBuffer
R=rossberg
BUG=
Committed https://code.google.com/p/v8/source/detail?r=14506
Review URL: https://codereview.chromium.org/
13977018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 18:49:20 +0000 (18:49 +0000)]
Revert "Fix typo"
This reverts commit r14506 (that was commited with a wrong description).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 18:02:22 +0000 (18:02 +0000)]
Fix typo
R=rossberg@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=14505
Review URL: https://codereview.chromium.org/
13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 17:57:54 +0000 (17:57 +0000)]
Fix typo
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 17:56:32 +0000 (17:56 +0000)]
Revert "patch from issue
13993029"
This reverts commit
2d49d456dd09a8f8ffae87f777d5f10b587534e8.
Revert patch with incorrect description
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 17:50:04 +0000 (17:50 +0000)]
patch from issue
13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 30 Apr 2013 16:51:30 +0000 (16:51 +0000)]
Revert "frames.h/cc cleanup"
This reverts r14496 which broke tests in debug mode:
Command: /mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/Debug/cctest test-log/LogAccessorCallbacks --nobreak-on-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --testing_serialization_file=/mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/.serdes/serdes_LogAccessorCallbacks
=== cctest/test-log/LogCallbacks ===
--- stderr ---
TBR=jkummerow@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/
14651004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 30 Apr 2013 16:36:14 +0000 (16:36 +0000)]
Prepare push to trunk. Now working on version 3.18.6.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14646011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 30 Apr 2013 14:37:18 +0000 (14:37 +0000)]
frames.h/cc cleanup
BUG=None
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
14650002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 30 Apr 2013 13:43:45 +0000 (13:43 +0000)]
Two bugfixes for hydrogen-based array constructors
CacheInitialJSArrayMaps needs to be able to pick up where it left off,
as it can now be called from a handlfied context.
Disable incremental marking for CCTest SetJitCodeEventHandler, as it allocates
during compilation.
BUG=
Review URL: https://codereview.chromium.org/
14642002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 11:34:43 +0000 (11:34 +0000)]
Accurate function prototypes for native calls from ARM simulator.
This is a resubmit of codereview.chromium.org/
13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Committed: https://code.google.com/p/v8/source/detail?r=14491
Review URL: https://codereview.chromium.org/
14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 11:31:09 +0000 (11:31 +0000)]
Revert "Accurate function prototypes for native calls from ARM simulator."
This reverts commit r14991. (one file missing)
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 11:23:34 +0000 (11:23 +0000)]
Revert "Flag optimize-constructed-arrays turned on."
This reverts commit r14491.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 30 Apr 2013 11:16:40 +0000 (11:16 +0000)]
Accurate function prototypes for native calls from ARM simulator.
This is a resubmit of codereview.chromium.org/
13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Review URL: https://codereview.chromium.org/
14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 30 Apr 2013 08:22:05 +0000 (08:22 +0000)]
Flag optimize-constructed-arrays turned on.
This routes array construction through a hydrogen stub, and enables use of
allocation site info tracking.
BUG=
Review URL: https://codereview.chromium.org/
14616010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 30 Apr 2013 08:21:52 +0000 (08:21 +0000)]
Make UsePosition::hint immutable.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14524008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 30 Apr 2013 08:00:43 +0000 (08:00 +0000)]
Fix HConstant::InNewSpace() for parallel compilation.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
13977019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 30 Apr 2013 07:56:09 +0000 (07:56 +0000)]
Allow setting debugger breakpoints on CompareNilICs
BUG=v8:2660
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14106011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Apr 2013 16:16:31 +0000 (16:16 +0000)]
TypedArray(length) constructor
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14460008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 29 Apr 2013 15:09:22 +0000 (15:09 +0000)]
Fix bug in CompareNil IC
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
13863022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Apr 2013 15:05:06 +0000 (15:05 +0000)]
Fix GCMole after r14476
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13945026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 29 Apr 2013 14:34:24 +0000 (14:34 +0000)]
Fix beyond-heap load on x64 Crankshafted StringCharFromCode
BUG=chromium:235311
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14387008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Apr 2013 14:13:32 +0000 (14:13 +0000)]
Shared build fix
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14396004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 29 Apr 2013 13:45:34 +0000 (13:45 +0000)]
Do not use repeated subtractions in mod-i, it hurts performance in general.
ARM only: Check for -0 only when really necessary. Tiny code de-duplication.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14499011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 29 Apr 2013 11:49:24 +0000 (11:49 +0000)]
Also print the exception when mksnapshot failed to compile extra code.
Before, it would only print the exception when it failed to run the code
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14031036
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Apr 2013 11:18:27 +0000 (11:18 +0000)]
Remove __ prefix from Harmony typed arrays implementation
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14402026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 29 Apr 2013 11:09:03 +0000 (11:09 +0000)]
First cut at API for native Typed Arrays.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14195034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 29 Apr 2013 09:30:11 +0000 (09:30 +0000)]
Fix build failure on Win64 since r14458.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
14150019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 26 Apr 2013 23:28:09 +0000 (23:28 +0000)]
MIPS: Track storage types of instance variables.
Port r14464 (
70300e97) and r14470 (
65af80fc)
BUG=
Review URL: https://codereview.chromium.org/
14305024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 26 Apr 2013 23:26:52 +0000 (23:26 +0000)]
MIPS: Lithium: avoid registers for constants when possible.
Port r14460 (
9e3dab0c)
BUG=
Review URL: https://codereview.chromium.org/
14520016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 26 Apr 2013 19:21:54 +0000 (19:21 +0000)]
Fix arm port of tracking field representations. Based on Rodolph Perfetta's comments
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14522003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 26 Apr 2013 17:52:08 +0000 (17:52 +0000)]
MIPS: HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
Port r14453 (
91869730)
BUG=
Review URL: https://codereview.chromium.org/
14455010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 26 Apr 2013 15:48:13 +0000 (15:48 +0000)]
HConstant::InNewSpace() should be a constant function
BUG=
Review URL: https://codereview.chromium.org/
14455004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 26 Apr 2013 15:46:51 +0000 (15:46 +0000)]
Fix static initializers on x64
Review URL: https://codereview.chromium.org/
14143009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 26 Apr 2013 15:30:41 +0000 (15:30 +0000)]
Track storage types of instance variables.
Review URL: https://chromiumcodereview.appspot.com/
14146005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 15:10:34 +0000 (15:10 +0000)]
Fix build failure on Win64 since r14458.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14143008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 26 Apr 2013 14:26:54 +0000 (14:26 +0000)]
Change 'Parse error' to three more informative messages.
Replace the 'unable_to_parse' key used in three places with three difference keys.
Provide three more informative and less ambiguous error messages in place of 'Parse error'.
Add three test/message cases to cover the new messages.
BUG=2636
Review URL: https://codereview.chromium.org/
14161007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 26 Apr 2013 14:08:18 +0000 (14:08 +0000)]
remove IsOneByteConvertible
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14298021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14461
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 26 Apr 2013 14:04:07 +0000 (14:04 +0000)]
Lithium: avoid registers for constants when possible.
BUG=
Review URL: https://codereview.chromium.org/
14364010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14460
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 13:22:11 +0000 (13:22 +0000)]
Add assertion about module scopes to Scope::ContextChainLength.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
14513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 12:09:32 +0000 (12:09 +0000)]
Add support for yield expressions
This CL extends the generator suspend and resume implementation to
capture values on the operand stack.
It factors out some helpers to measure and access the operand stack into
the JavaScriptFrame class. It also refactors the suspend and resume
helpers to avoid handle allocation.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
14348003
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14458
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 26 Apr 2013 11:59:17 +0000 (11:59 +0000)]
Prepare push to trunk. Now working on version 3.18.5.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
13886016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 11:55:22 +0000 (11:55 +0000)]
Fix yield inside with
This patch makes it so that suspending generators always saves the
context. Previously we erroneously assumed that if the operand stack
was empty, that the context would be unchanged, but that is not the case
with "with".
Fixing this brought out an interesting bug in the variable allocator.
Yield inside with will reference a context-allocated temporary holding
the generator object. Before the fix, this object was looked up in the
with context instead of the function context, because with contexts were
not being simulated during full-codegen. Previously this was OK as all
variables would be given LOOKUP allocation instead of CONTEXT, but the
context-allocated temporary invalidated this assumption. The fix is to
simulate the context chain more accurately in full-codegen.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
14416011
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 26 Apr 2013 11:34:44 +0000 (11:34 +0000)]
HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14509012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14453
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 26 Apr 2013 10:52:14 +0000 (10:52 +0000)]
forgot parends around macro arg
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
14334009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 26 Apr 2013 10:10:36 +0000 (10:10 +0000)]
Bootstrapper code for constructed arrays needs to be handlefied
BUG=
Review URL: https://codereview.chromium.org/
14008004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 08:52:35 +0000 (08:52 +0000)]
Implement support for Math.imul in Crankshaft.
R=jkummerow@chromium.org
TEST=mjsunit/math-imul
Review URL: https://codereview.chromium.org/
14471041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 26 Apr 2013 08:49:20 +0000 (08:49 +0000)]
Fix test/build failures (win64 compile warning, isolate test parallel compilation failure, gcmole issue, isolate test intermittant failure)
BUG=
Review URL: https://codereview.chromium.org/
14265024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 26 Apr 2013 08:47:02 +0000 (08:47 +0000)]
Better handling of Phi nodes with constant inputs
Review URL: https://codereview.chromium.org/
14471034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Apr 2013 08:12:21 +0000 (08:12 +0000)]
Prevent false positive from GCMole in DeferredFormatStackTrace.
R=yangguo@chromium.org
TEST=gcmole
Review URL: https://codereview.chromium.org/
14416010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 26 Apr 2013 07:50:35 +0000 (07:50 +0000)]
Avoid unnecessary indirection when creating CodeEntries
BUG=None
Review URL: https://codereview.chromium.org/
14471035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14446
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Apr 2013 07:35:07 +0000 (07:35 +0000)]
Do not dereference handles during relocation.
R=hpayer@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13982023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 26 Apr 2013 07:28:08 +0000 (07:28 +0000)]
Defer slow branch of GetAlignedPointerFromInternalField
BUG=
Review URL: https://codereview.chromium.org/
14137026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 26 Apr 2013 02:08:47 +0000 (02:08 +0000)]
MIPS: Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
Port r14441 (
0c30d023)
BUG=
Review URL: https://codereview.chromium.org/
13905009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 26 Apr 2013 02:07:42 +0000 (02:07 +0000)]
MIPS: Capture receiver in generator object
Port r14434 (
04f254d1)
Original commit message:
Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack. This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.
This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
14195033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 25 Apr 2013 16:00:32 +0000 (16:00 +0000)]
Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
BUG=
Review URL: https://codereview.chromium.org/
12385014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 25 Apr 2013 12:34:45 +0000 (12:34 +0000)]
Win64 build
R=rossberg@chromium.org,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
14392013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 25 Apr 2013 12:08:10 +0000 (12:08 +0000)]
Tell the GC prologues to construct RetainedObjectInfos only when needed.
The GC prologue is called by the GC, but also by the heap snapshotter. The
RetainedObjectInfos are only needed by the heap snapshotter, so it's wasteful to
construct them always. (And it will be even more wasteful when Blink migrates to
the new GC APIs, since after that point it no longer knows about object groups.)
BUG=
Review URL: https://codereview.chromium.org/
14471028
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 25 Apr 2013 12:02:23 +0000 (12:02 +0000)]
First cut at API for ES6 ArrayBuffers
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13958007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Apr 2013 12:00:07 +0000 (12:00 +0000)]
Relax --debug-code checks that runtime returns are not the hole
ia32, unlike the other architectures, includes a --debug-code check that
asserts that runtime functions do not return the hole. However the new
SuspendJSGeneratorObject runtime does return the hole at times.
This CL adds a wee hack that only signals an error if the callee was not
SuspendJSGeneratorObject.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13856011
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Apr 2013 10:59:09 +0000 (10:59 +0000)]
Capture receiver in generator object
Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack. This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.
This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
14158006
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 25 Apr 2013 10:57:24 +0000 (10:57 +0000)]
Get isolate from thread local instead of (potentially missing) block in HConstant.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14284011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14433
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 25 Apr 2013 10:23:19 +0000 (10:23 +0000)]
Fix evaluation order problems in Object.observe hooks.
R=rossberg@chromium.org
TEST=gcmole
Review URL: https://codereview.chromium.org/
14493012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 25 Apr 2013 09:17:07 +0000 (09:17 +0000)]
Grow the old generation faster in high promotion mode.
BUG=
Review URL: https://codereview.chromium.org/
14493011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 25 Apr 2013 07:36:59 +0000 (07:36 +0000)]
Fix overflow check in mul-i which was missing since r14322
Review URL: https://codereview.chromium.org/
14471012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 24 Apr 2013 23:12:53 +0000 (23:12 +0000)]
MIPS: Clean up VMState a little bit.
Port r14421 (
31cd7dda)
BUG=
Review URL: https://codereview.chromium.org/
14483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 24 Apr 2013 23:11:48 +0000 (23:11 +0000)]
MIPS: Generators can resume
Port r14415 (
d358defa) and r14424 (
7b549ce7)
Original commit message:
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame. In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.
BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
13864010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 24 Apr 2013 23:10:53 +0000 (23:10 +0000)]
MIPS: Add monomorphic CompareNilICs and Crankshaft support
Port r14407 (
cae6596b)
BUG=
Review URL: https://codereview.chromium.org/
13840006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14427
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 24 Apr 2013 19:10:02 +0000 (19:10 +0000)]
MIPS: Fix NaN handling for start index in ArraySplice.
Casting NaN to int is unpredictable, on different architectures it produces different int value.
TEST=test262/S15.4.4.10_A2.1_T2, S15.4.4.10_A2.2_T2, S15.4.4.12_A2.1_T2
BUG=
Review URL: https://codereview.chromium.org/
14257006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:51:00 +0000 (16:51 +0000)]
Remove bogus forward declaration of ObjectGroup.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
14333016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:07:44 +0000 (16:07 +0000)]
Fix generator suspend and resume on ARM
This CL fixes a number of rookie mistakes in
FullCodeGenerator::VisitYield and
FullCodeGenerator::EmitGeneratorResume, and re-enables the
generators-iteration test on ARM.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
13843022
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 24 Apr 2013 15:59:23 +0000 (15:59 +0000)]
New GC APIs, try 2.
With these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=
Review URL: https://codereview.chromium.org/
14007008
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 24 Apr 2013 14:51:14 +0000 (14:51 +0000)]
Fixed HUnaryMathOperation regarding its possible operations.
Review URL: https://codereview.chromium.org/
14333013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Apr 2013 14:44:08 +0000 (14:44 +0000)]
Clean up VMState a little bit.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14139033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 24 Apr 2013 14:23:46 +0000 (14:23 +0000)]
Change cctest/test-lockers to not copy persistent handles around.
Instead, create Local handles to pass them around. This also means that the
code needs to be shifted around a bit such that a handle scope exists when
creating threads.
Review URL: https://codereview.chromium.org/
14150017
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Apr 2013 14:05:37 +0000 (14:05 +0000)]
Fix windows build.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14476003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Apr 2013 13:52:26 +0000 (13:52 +0000)]
Remove Isolate::Current() from histograms.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14471007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 24 Apr 2013 13:00:16 +0000 (13:00 +0000)]
Generators can resume
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame. In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.
BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
14066016
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 24 Apr 2013 12:43:33 +0000 (12:43 +0000)]
MathSqrt and MathPowHalf do not cause any promotion.
Review URL: https://codereview.chromium.org/
13829009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 24 Apr 2013 12:39:30 +0000 (12:39 +0000)]
Properly consider Double inputs for representation inference when they are not marked as kFlexibleRepresentation
Review URL: https://codereview.chromium.org/
14408006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 24 Apr 2013 12:09:04 +0000 (12:09 +0000)]
Fix segmentation fault in CodeMap::Print
CodeEntry* is always NULL for SharedFunctionInfo entries in the CodeMap. Take this into account when printing the map.
Drive-by: removed CodeEntry::shared_id() which is never called.
BUG=None
Review URL: https://codereview.chromium.org/
14387004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Apr 2013 12:01:08 +0000 (12:01 +0000)]
Simplify some code related to x64 calling convention.
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13940014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 24 Apr 2013 11:44:39 +0000 (11:44 +0000)]
Fix clang build for x64.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14471004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 24 Apr 2013 11:32:17 +0000 (11:32 +0000)]
Add monomorphic CompareNilICs and Crankshaft support
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
14367018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 24 Apr 2013 11:20:16 +0000 (11:20 +0000)]
Replace qsort with std::sort.
std::sort is a template, so it can be inlined more aggressively. Also, it's
O(n log n), while libc's qsort is O(n^2)
BUG=2639
Review URL: https://codereview.chromium.org/
14315005
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 24 Apr 2013 10:57:15 +0000 (10:57 +0000)]
Prepare push to trunk. Now working on version 3.18.4.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
14139031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 24 Apr 2013 09:31:55 +0000 (09:31 +0000)]
Removed unbalanced brackets when printing an LEnvironment.
Review URL: https://codereview.chromium.org/
14286005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00