Commit Graph

11163 Commits

Author SHA1 Message Date
dslomov@chromium.org
343bf33918 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
2013-05-02 13:30:57 +00:00
dslomov@chromium.org
2751eeb361 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
2013-05-02 12:27:03 +00:00
dslomov@chromium.org
6e86141916 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
2013-05-02 11:36:48 +00:00
mstarzinger@chromium.org
29b00ed427 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
2013-05-02 11:22:32 +00:00
mstarzinger@chromium.org
47608c900a 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
2013-05-02 09:51:07 +00:00
palfia@homejinni.com
c092da378b 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
2013-04-30 22:54:36 +00:00
palfia@homejinni.com
8eb459a4e5 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
2013-04-30 19:09:33 +00:00
dslomov@chromium.org
1469acaa7f 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
2013-04-30 18:53:27 +00:00
dslomov@chromium.org
3af1cc1072 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
2013-04-30 18:49:20 +00:00
dslomov@chromium.org
b029ad4201 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
2013-04-30 18:02:22 +00:00
dslomov@chromium.org
7bfd5e9031 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
2013-04-30 17:57:54 +00:00
dslomov@chromium.org
ca8144446b 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
2013-04-30 17:56:32 +00:00
dslomov@chromium.org
8cddabbf56 patch from issue 13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 17:50:04 +00:00
yurys@chromium.org
c638a5e3e1 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
2013-04-30 16:51:30 +00:00
danno@chromium.org
e097535c11 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
2013-04-30 16:36:14 +00:00
yurys@chromium.org
49c31d4934 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
2013-04-30 14:37:18 +00:00
mvstanton@chromium.org
6e4a8fecb7 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
2013-04-30 13:43:45 +00:00
dslomov@chromium.org
acf1a7c91c 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
2013-04-30 11:34:43 +00:00
dslomov@chromium.org
c5252a1bcd 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
2013-04-30 11:31:09 +00:00
dslomov@chromium.org
1da21f1868 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
2013-04-30 11:23:34 +00:00
dslomov@chromium.org
d362e727e3 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
2013-04-30 11:16:40 +00:00
mvstanton@chromium.org
ff57a1062b 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
2013-04-30 08:22:05 +00:00
mstarzinger@chromium.org
4d62ca4300 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
2013-04-30 08:21:52 +00:00
mstarzinger@chromium.org
04fdcad547 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
2013-04-30 08:00:43 +00:00
danno@chromium.org
d728493929 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
2013-04-30 07:56:09 +00:00
dslomov@chromium.org
9e2c046f5c 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
2013-04-29 16:16:31 +00:00
danno@chromium.org
e6570d43ba 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
2013-04-29 15:09:22 +00:00
dslomov@chromium.org
9f638cfeb9 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
2013-04-29 15:05:06 +00:00
danno@chromium.org
528792e39b 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
2013-04-29 14:34:24 +00:00
dslomov@chromium.org
eb6e6f767a 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
2013-04-29 14:13:32 +00:00
svenpanne@chromium.org
f1e9ec2e12 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
2013-04-29 13:45:34 +00:00
svenpanne@chromium.org
0c63e8d698 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
2013-04-29 11:49:24 +00:00
dslomov@chromium.org
7b1e7463f2 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
2013-04-29 11:18:27 +00:00
dslomov@chromium.org
3fd6bb51f0 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
2013-04-29 11:09:03 +00:00
mstarzinger@chromium.org
17af6ee031 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
2013-04-29 09:30:11 +00:00
palfia@homejinni.com
a64858cf35 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
2013-04-26 23:28:09 +00:00
palfia@homejinni.com
84a5a45e8a 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
2013-04-26 23:26:52 +00:00
verwaest@chromium.org
4b010329c9 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
2013-04-26 19:21:54 +00:00
palfia@homejinni.com
3af78c0563 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
2013-04-26 17:52:08 +00:00
mvstanton@chromium.org
bc50e21b23 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
2013-04-26 15:48:13 +00:00
jkummerow@chromium.org
4304f57c92 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
2013-04-26 15:46:51 +00:00
verwaest@chromium.org
99e17bb12a 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
2013-04-26 15:30:41 +00:00
mstarzinger@chromium.org
24e4838724 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
2013-04-26 15:10:34 +00:00
mvstanton@chromium.org
d5e485a3cc 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
2013-04-26 14:26:54 +00:00
dcarney@chromium.org
c50304209a 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
2013-04-26 14:08:18 +00:00
mvstanton@chromium.org
84355ae411 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
2013-04-26 14:04:07 +00:00
mstarzinger@chromium.org
cb2e54d1ff 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
2013-04-26 13:22:11 +00:00
mstarzinger@chromium.org
1706fe657e 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
2013-04-26 12:09:32 +00:00
danno@chromium.org
2a1f2d26a8 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
2013-04-26 11:59:17 +00:00
mstarzinger@chromium.org
885fd2f4b2 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
2013-04-26 11:55:22 +00:00