Commit Graph

13656 Commits

Author SHA1 Message Date
verwaest@chromium.org
ca6b727665 Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
rossberg@chromium.org
2fda95eb80 Make stray 'return' an early error
As required by the spec, and implemented by other browsers.

(Plus minor clean-up for redeclaration TypeErrors.)

R=marja@chromium.org
BUG=
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:38:01 +00:00
jkummerow@chromium.org
511edabed2 Fix HGraphBuilder::BuildAddStringLengths
length == String::kMaxLength is fine and should not bail out.

BUG=chromium:357052
LOG=n
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:24:42 +00:00
svenpanne@chromium.org
4e40600485 Check that environments assigned via AssignEnvironment are actually used.
Removed some temporary marker comments on the way.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:30:13 +00:00
alph@chromium.org
923fbafc15 Show references from weak containers as weak in heap snapshots.
BUG=356590
LOG=Y
R=ulan@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:19:53 +00:00
rossberg@chromium.org
45118bfdfb Make invalid LHSs that are calls late errors
Necessary for web legacy compatibility.

Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.

R=marja@chromium.org
BUG=chromium:358346
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:03:05 +00:00
yangguo@chromium.org
fec195573c Use the correct natives in messages.js
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 08:21:37 +00:00
ulan@chromium.org
65bae6c652 Lazily initialize the target map list in IC.
This makes sure that we keep the target map list alive in the handle scope during IC computation.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:59:54 +00:00
bmeurer@chromium.org
e054f08006 Add unhandlified versions of Of() and NowOf().
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:01:43 +00:00
haitao.feng@intel.com
6a97085961 Introduce ReadPositionFromRegister in x64 Regexp Macro Assembler
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 03:01:11 +00:00
haitao.feng@intel.com
f1b5a4ac6d Adjust various constants for x32 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 02:34:50 +00:00
palfia@homejinni.com
bf1155e8a4 MIPS: Consistently use a separate Lithium instruction for flooring division.
Port r20395 (5b802048)

Original commit message:
Previously we tried to share some code on by a slightly confusing re-use
of LDivI for a (general) flooring division. Now we cleanly separate
concerns, just like for the rest of the division-like operations. Note
that ARM64 already did it this way.

If we really want to save some code, we can introduce some macro
assembler instructions and/or helper functions in the code generator in
a future CL, but we should really try to avoid being "clever" to save
just a few lines of trivial code. Effort != complexity. :-)

Renamed some related Lithium operands on the way for more consistency.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 23:43:47 +00:00
palfia@homejinni.com
97829f4749 MIPS: Only assign environments when they are actually needed.
Port r20376 (2c4baaf5)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 23:42:55 +00:00
verwaest@chromium.org
aaf18129da Remove Factory::CopyMap(map) in favor of Map::Copy(map)
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 17:43:20 +00:00
dslomov@chromium.org
19c354b7b0 Support typed arrays in IsMoreGeneralElementsKindTransition.
R=verwaest@chromium.org
BUG=357054
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 16:41:35 +00:00
yangguo@chromium.org
64901004be Smi immediates are not supported on x64. Do not use it.
R=jkummerow@chromium.org
BUG=358059
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 15:32:06 +00:00
marja@chromium.org
eecaef41d9 PreParser fix: propagate reference erros properly.
For example, invalid left hand sides are reference errors. PreParser didn't use
to produce this error ever, so the code for propagating reference errors
properly was missing, and reference errors turned into syntax errors.

R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 14:17:43 +00:00
mvstanton@chromium.org
d93c906acc Monomorphic prototype failures should be reserved for already-seen keys.
We incorrectly mark a KeyedStoreIC miss as a monomorphic prototype
failure even though it's the first time a particular (string) key has
been seen.

BUG=358088
R=verwaest@chromium.org
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 14:16:54 +00:00
rossberg@chromium.org
5d5adbc452 Provide Type::Contains methods.
Also, rename all *Currently methods to Now*.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 13:11:12 +00:00
jkummerow@chromium.org
cbeef7147f MSan workaround in Simulator::VisitBitfield.
This change shuffles the code in Simulator::VisitBitfield a bit
to work around a MemorySanitizer bug. New code should not be any
slower or less readable than before.

More info:
https://code.google.com/p/memory-sanitizer/issues/detail?id=50

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:51:15 +00:00
jkummerow@chromium.org
725ce114aa MSan does not understand inline asm. This change preinitializes cpuid
results, and disables the use of stos.

Random mmap() addresses conflict with sanitizer memory layout.

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:48:35 +00:00
jkummerow@chromium.org
4fe93b2d22 [msan] Do not unpoison heap if running on simulator.
With the simulator, MSan detects all memory accesses from JIT code
without the need for annotations.

We'd like to keep the annotation in the native (w/o simulator) mode
until we can move all MSan+V8 users to simulator mode.

R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:45:00 +00:00
yangguo@chromium.org
997ce1cac7 Remove remnants of internalized cons strings.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:34:08 +00:00
svenpanne@chromium.org
e853c8a996 Fixed build (unused vars in release mode).
TBR=bmeuerer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:59:24 +00:00
svenpanne@chromium.org
497487beec Consistently use a separate Lithium instruction for flooring division.
Previously we tried to share some code on by a slightly confusing re-use
of LDivI for a (general) flooring division. Now we cleanly separate
concerns, just like for the rest of the division-like operations. Note
that ARM64 already did it this way.

If we really want to save some code, we can introduce some macro
assembler instructions and/or helper functions in the code generator in
a future CL, but we should really try to avoid being "clever" to save
just a few lines of trivial code. Effort != complexity. :-)

Renamed some related Lithium operands on the way for more consistency.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:42:42 +00:00
yangguo@chromium.org
10abff3498 Remove internalized cons string types.
Currently, internalizing a cons string could result in either an
in-place converted internalized cons string or a newly created
internalized sequential string, depending on allocation success.

The former could end up being embedded into an IC, which is not
supported.

R=mstarzinger@chromium.org
BUG=357103
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:30:31 +00:00
yurys@chromium.org
681c15eb4e Remove debugger_auto_break flag
The flag was introduced to support console debugger in Chrome. That debugger was replaced by DevTools long time ago and the flag is always true now.

BUG=None
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:23:23 +00:00
dcarney@chromium.org
8f0d170c37 always lookup api holder from receiver
R=verwaest@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:21:20 +00:00
bmeurer@chromium.org
660bfe1795 Cleanup property module.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:16:13 +00:00
bmeurer@chromium.org
7c38cdb2bc Make it possible to use HeapType inside objects-inl.h.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:07:09 +00:00
verwaest@chromium.org
3cbb49f23f Replace uses of set_map by MigrateToMap.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:04:37 +00:00
jochen@chromium.org
f30452ba40 Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

Committed: https://code.google.com/p/v8/source/detail?r=20375

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 10:56:16 +00:00
rmcilroy@chromium.org
69f8179c23 Only allow automatic FrameScope types for FrameAndConstantPoolScope
In certain situations the PP register would be invalid in a FrameScope::Manual FrameAndConstantPoolScope

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 10:49:44 +00:00
svenpanne@chromium.org
ad3db5d346 Fixed assertions on ARM64.
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 10:39:09 +00:00
verwaest@chromium.org
a99050d40e Set kTruncatingToSmi for HChange only when To rep is Smi
BUG=
R=verwaest@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 10:32:25 +00:00
svenpanne@chromium.org
4da732e321 Fixed power-of-2 predicates, excluding 0.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 09:20:28 +00:00
yangguo@chromium.org
4a5bccfc61 Tighten object verification.
Often, when we call MaybeObject::Verify, what we want is Object::ObjectVerify.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 08:57:48 +00:00
machenbach@chromium.org
8806f2d815 Revert r20375.
Store i18n meta data in hidden symbols instead of js accessible properties

BUG=354967
LOG=N
TBR=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 08:05:45 +00:00
svenpanne@chromium.org
51c209c609 Only assign environments when they are actually needed. (ARM and ARM64 only)
Twin of https://codereview.chromium.org/210783003/ and https://codereview.chromium.org/211153003/.

Cleaned up DoChange a bit on the way, making things more uniform across platforms, removed useless comments etc.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 07:21:31 +00:00
jochen@chromium.org
0d04cba759 Store i18n meta data in hidden symbols instead of js accessible properties
There were some tests that are supposed to protect against js messing
with the meta data, however, they just didn't try hard enough.

BUG=354967
R=dcarney@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 07:21:05 +00:00
palfia@homejinni.com
a403144159 MIPS: Fix PrepareKeyedOperand on MIPS.
Port r20363 (235f866c)

Original commit message:
When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 22:50:53 +00:00
palfia@homejinni.com
9a4eaa72dc MIPS: Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account."
Port r20358 (5e9b653d)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 22:48:54 +00:00
jarin@chromium.org
5607582f3b We should perform the illegal redeclaration check earlier so that we do not confuse the AST typer with missing type feedback nodes.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 16:45:46 +00:00
verwaest@chromium.org
38e82b8712 Use JSObject::SetMapAndElements rather than set_map + set_elements.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 16:21:20 +00:00
rossberg@chromium.org
282a7ca14e Fix Type::Intersect to skip uninhabited bitsets
R=verwaest@chromium.org, bmeurer@chromium.org
BUG=chromium:357330
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 15:53:21 +00:00
verwaest@chromium.org
47e660a2e1 Replace set_map_and_elements by MigrateToMap-based SetMapAndElements
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 15:30:13 +00:00
dslomov@chromium.org
b3148d921e Fix PrepareKeyedOperand on arm.
When additional_offset is specified, the 'key' operand can be negative
and still pass the bounds check. Therefore, when converting key from
Smi, arithmetic and not logical shift must be used.

R=verwaest@chromium.org
BUG=358057
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 15:14:28 +00:00
jarin@chromium.org
d02e1f2c25 Fix left trimming check for large objects
BUG=358090
TEST=test/mjsunit/regress/regress-358090.js
LOG=N
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 15:01:46 +00:00
hpayer@chromium.org
702ba5a0e9 Make sure when we shrink an object that we store a filler first into the free memory before updating the map or size.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:29:01 +00:00
verwaest@chromium.org
019e27d8db Reland and fix "Fix LoadFieldByIndex to take mutable heap-numbers into account.""
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:21:04 +00:00
yangguo@chromium.org
c0fa861726 Do not check for interrupt when allocating stack locals.
R=dcarney@chromium.org
BUG=357137
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:14:54 +00:00
alexandre.rames@arm.com
989683d479 ARM64: Optimize AllocateHeapNumber to use STP.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:06:42 +00:00
jochen@chromium.org
163044e7ba Revert 20348 - "Fix LoadFieldByIndex to take mutable heap-numbers into account."
Reason for revert: crashes benchmarks/sunspider/string-fasta on ia32.debug

This also reverts r20350 and r20352

> Fix LoadFieldByIndex to take mutable heap-numbers into account.
>
> BUG=
> R=ishell@chromium.org
>
> Review URL: https://codereview.chromium.org/213213002

BUG=none
LOG=n
TBR=verwaest@chromium.org

Revert "Use sarq on x64"

This reverts commit e2a8ef9321345c6bc091054443bf2b9535ff6b1c.

Revert "Don't | int and bool"

This reverts commit c90d713d3a8ceba4fec41933a63beb6e50a3d7c0.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 13:23:32 +00:00
jochen@chromium.org
b7039334ae Revert 20313 - "Ship promises and weak collections"
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004

R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
verwaest@chromium.org
b8fab1cf19 Don't | int and bool
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:24:51 +00:00
verwaest@chromium.org
d0a65ff717 Use sarq on x64
BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:07:41 +00:00
bmeurer@chromium.org
f1f6c3c9d4 Cleanup bootstrapper, execution and factory modules.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:01:02 +00:00
verwaest@chromium.org
55a6318560 Fix LoadFieldByIndex to take mutable heap-numbers into account.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 11:59:29 +00:00
jarin@chromium.org
d65fe51ca0 Add missing lazy deopt point for the TransitionElementsKind instruction.
R=mvstanton@chromium.org, yangguo@chromium.org
BUG=357105
TEST=test/mjsunit/regress/regress-357105.js
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 11:58:53 +00:00
bmeurer@chromium.org
7ed3b6e2cd Cleanup string-stream module.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 11:13:39 +00:00
bmeurer@chromium.org
49961d11a6 Handlify DescriptorArray::Merge().
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 07:48:13 +00:00
dslomov@chromium.org
bd353dc3a0 Inline internal getters for typed arrays & friends.
R=hpayer@chromium.org, yangguo@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=20330

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 15:25:24 +00:00
jochen@chromium.org
feeccf0d10 Revert r20335 - "Raise StackOverflow during bootstrapping"
Reason for revert: New test crashes on nosnap bots

> See https://github.com/joyent/node/issues/7120
>
> R=jarin@chromium.org
> BUG=
>
> Review URL: https://codereview.chromium.org/178073002
>
> Patch from Alexis Campailla <alexis@janeasystems.com>.

TBR=jarin@chromium.org
BUG=none
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 14:16:11 +00:00
dslomov@chromium.org
c873e813c5 Revert "Inline internal getters for typed arrays & friends."
This reverts commit r20330 for breaking arm64 nosnap tests.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:33:50 +00:00
jarin@chromium.org
ee173152ef Raise StackOverflow during bootstrapping
See https://github.com/joyent/node/issues/7120

R=jarin@chromium.org
BUG=

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

Patch from Alexis Campailla <alexis@janeasystems.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:26:20 +00:00
marja@chromium.org
f8738e6d74 Cleanup scanner character streams.
- GenericStringUtf16CharacterStream::start_position_ was unused.
- GenericStringUtf16CharacterStream inherits from BufferedUtf16CharacterStream,
so no need to initialize buffer_cursor_ and buffer_end_ twice (this makes it
clearer which class in the inheritance chain takes care of which variables).

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:11:12 +00:00
hpayer@chromium.org
a2212066da Move FillWithHoles FixedArray and FixedDoubleArray functions to the given classes.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:05:23 +00:00
marja@chromium.org
6608110e87 Make it clearer that PreParser doesn't depend on Isolate.
The Isolate* member of ParserBase::FunctionState was only used by
Parser. Removing it makes it clear that there are no isolates in
PreParser. (There's also no Zone, since PreParserTraits::Type::Zone is void.)

R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 12:49:34 +00:00
dslomov@chromium.org
6d91c1e77f Inline internal getters for typed arrays & friends.
R=hpayer@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 12:02:52 +00:00
haitao.feng@intel.com
a72e3525fc Refactor the arithmetic instructions for x64
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 11:13:14 +00:00
yangguo@chromium.org
dae7ecbfdf Reland "Clean up runtime functions for Maths."
BUG=
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 10:07:23 +00:00
yangguo@chromium.org
1037a883de Clean up some "GetProperty" methods/functions.
Runtime::GetObjectProperty:
  - handled string.charAt, element access and property access
  - now handlified
GetProperty in handles.cc:
  - called to Runtime::GetObjectProperty
  - now removed
Object::GetProperty (handlified version):
  - handled element access and property access
  - now changed to only do property access
New: Object::GetPropertyOrElement:
  - handles element access and property access

R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:49:27 +00:00
dslomov@chromium.org
0d1b90f8aa Fix deopts causing uninitialized fixed typed arrays.
The deopt will not happen in production code, since we check that
lengths of fixed typed arrays are smis before calling
TypedArrayInitialze, but that makes deopt bot happy.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 08:59:46 +00:00
jochen@chromium.org
6781deae0a Don't crash if we get a timezone change notification on an uninitialized isolate
Also make the date cache's timestamp more robust.

BUG=357362
R=svenpanne@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 08:59:25 +00:00
yangguo@chromium.org
3579968e86 Fix TSAN issue wrt assertions in the optimizing compiler thread.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 08:49:58 +00:00
jarin@chromium.org
9e655afdb4 Reland "Fix property enum cache creation to include only own properties"
Reland r20308 (reverted by r20310).

TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 06:59:20 +00:00
haitao.feng@intel.com
329b0449d5 Introduce rolp, rorp, rclp, rcrp, shlp, shrp and sarp for x64 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 04:55:00 +00:00
haitao.feng@intel.com
9ff02c5d42 Use RegisterSize to count the pushq size and the argument slot size from JS to C++
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 00:35:23 +00:00
adamk@chromium.org
c2bbd9f9e2 Don't pass the hole to SetElement when creating Array.observe change records
Also added comments to remind us why we were using the hole here in the first
place (it's used for the case where Object.observe, rather than Array.observe,
has been called on Array that's undergoing truncation).

BUG=356589
LOG=N
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 18:29:07 +00:00
dslomov@chromium.org
9776ae1610 Add Bogus initialization for external_elements_kind and fixed_elements_kind
R=dslomov@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 17:40:52 +00:00
marja@chromium.org
17a0655431 Fix some missing includes and forward declarations.
R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:43:44 +00:00
rossberg@chromium.org
826cf64fd3 Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

Committed: https://code.google.com/p/v8/source/detail?r=20211

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
ishell@chromium.org
a887597e20 ElementsAccessor::CopyElements() and its callers handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:41:09 +00:00
yangguo@chromium.org
e8d5e6377e Revert "Clean up runtime functions for Maths."
This reverts r20307.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:30:03 +00:00
jarin@chromium.org
af74f1206e Revert "Fix property enum cache creation to include only own properties"
This reverts commit 4cf47a20b4846cf050ea4844433e9c57654da34e.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:18:42 +00:00
rossberg@chromium.org
ddedf5c309 Harden internal uses of .chain
R=yangguo@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:11:23 +00:00
jarin@chromium.org
4608bdeccc With this fix, we only create the enum cache for own property descriptors (originally we cached all descriptors in the map). The problem was that the size of all descriptors could be trimmed during GC triggered by allocating the storage for the cache, so we could have ended up with a wrong storage size.
This is really Toon's fix, I have only created a small repro case.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 15:33:06 +00:00
yangguo@chromium.org
1110f4fcbb Clean up runtime functions for Maths.
R=dslomov@google.com, dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 14:45:56 +00:00
yurys@chromium.org
279e86d6ea NativeContext::map_cache reference should be strong in heap snapshots
This change makes the reference itself a strong one. We will also need a special handling to make references from MapCache object to Map weak in the heap snapshots. The latter will be addressed separately.

BUG=chromium:357060
LOG=Y
R=alph@chromium.org, hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 14:19:51 +00:00
hpayer@chromium.org
155225c69c Use acquire/release stores and loads when reading and writing the parallel sweeping state of a page.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 13:26:25 +00:00
dslomov@chromium.org
4cdfb46a6d Fix JSObject::SetElement for fixed typed array elements.
R=ulan@chromium.org
BUG=357108
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 12:54:26 +00:00
yangguo@chromium.org
8847b52097 Reland "Correctly OOM in the CEntryStub after retries."
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:41:45 +00:00
ulan@chromium.org
e510131d26 Fix assert in BoundsCheckBbData.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:10:51 +00:00
ulan@chromium.org
179b4b0c9f Unify monomorphic and polymorphic cases in IC::PatchCache.
BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:59:43 +00:00
yangguo@chromium.org
caad1de770 Revert "Correctly OOM in the CEntryStub after retries."
This reverts r20292 due to no-snapshot failures.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:59:07 +00:00
yangguo@chromium.org
3ee0783686 Correctly OOM in the CEntryStub after retries.
This fixes a bug introduced in r20179.

R=jkummerow@chromium.org
BUG=356211
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:26:47 +00:00
rmcilroy@chromium.org
c6ed5b6b53 Update atomicops_internals_arm64_gcc with changes made in chromium base/
BUG=354405
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 18:04:30 +00:00
jkummerow@chromium.org
985c98a1eb Don't try to use ASan on Windows
Let ASan support depend on __has_feature(address_sanitizer) instead of defined(ADDRESS_SANITIZER)

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 16:18:28 +00:00
jochen@chromium.org
d3ba6de7fa Fix noi18n compilation
TBR=machenbach@chromium.org
LOG=n
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 16:02:00 +00:00
yangguo@chromium.org
9be61ddb8a Hide some runtime functions.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:51:48 +00:00
danno@chromium.org
0a0f12b841 [x64] Improve key value sign-extension of dehoisted LoadKeyed/StoreKeyed
Instead of sign-extending at key use, definitions that can be used as keys are sign extended immediately after the definition.

R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:51:08 +00:00
jochen@chromium.org
53aa5b63a9 Clean up ICU data tables on shutdown.
This is only used by d8 if compiled with external data tables, or an
embedder that uses external data tables and v8's version of ICU.

BUG=none
R=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:46:05 +00:00
ulan@chromium.org
a7d1b658fc Reland r19897 "Fix memory leak caused by treating Code::next_code_link as strong in marker.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:14:51 +00:00
jarin@chromium.org
10606aa756 Fix missing representation for the result of HIsSmiAndBranch.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 13:14:08 +00:00
dslomov@chromium.org
76b8f25edb This implements allocating small typed arrays in heap.
R=mvstanton@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:50:13 +00:00
haitao.feng@intel.com
6130206c2f Introduce andp, notp, orp and xorp for x64 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:15:35 +00:00
haitao.feng@intel.com
687e524983 Introduce leap, movzxbp, movzxwp, repmovsp and xchgp for x64 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 11:17:53 +00:00
m.m.capewell@googlemail.com
252c3a890d ARM64: fix DoDeferredTaggedToI
BUG=

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:36:52 +00:00
svenpanne@chromium.org
ccef98ec0d Only assign environments when they are actually needed. (x64 only)
Twin of https://code.google.com/p/v8/source/detail?r=20231.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:35:31 +00:00
rossberg@chromium.org
95908dbb09 Promise constructor should not be enumerable.
Promise should not be enumerable in the global object.

BUG=352597
R=rossberg@chromium.org
LOG=Y

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:14:04 +00:00
alexandre.rames@arm.com
f921ef399c Reland "ARM64: Add overflow checking support for multiplications by constant powers of 2."
This includes fixes for the overflow case spotted in mjsunit/mul-exhaustive-part4.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:11:01 +00:00
jkummerow@chromium.org
c6bff48f09 ASan support for the Zone
R=jarin@chromium.org, kcc@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 10:01:53 +00:00
baptiste.afsa@arm.com
46a9c7a350 ARM64: Check size of code generated in ProfileEntryHookStub::MaybeCallEntryHook.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 09:39:09 +00:00
yangguo@chromium.org
9297e8b4b5 Fix interpreted regexp build.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 08:55:19 +00:00
hpayer@chromium.org
b90beee7f5 Always initialize elements pointer in fast literals.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 08:01:20 +00:00
haitao.feng@intel.com
479248f3d8 Introduce cmpp, decp, incp, negp, sbbp and testp for x64 port
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 01:13:09 +00:00
plind44@gmail.com
590707184d MIPS: Refactor optimized in hydrogen only runtime functions.
Port r20252 (d0f806b)

Original commit message:
This splits all runtime function into 3 categories:
1) RUNTIME: implemented in runtime and called from both full and optimized code.
2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins.
3) INLINE: inlined in both full and optimized code
4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 17:40:36 +00:00
mvstanton@chromium.org
839588d411 HInnerAllocatedObject hydrogen trace printed offset incorrectly.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 16:32:23 +00:00
ulan@chromium.org
d334c09bf4 ARM64: block veneer pool in InstructionAccurateScope.
TEST=mozilla/ecma_3/RegExp/regress-169497
TBR=alexandre.rames@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 16:14:46 +00:00
ulan@chromium.org
d0fe2952f3 Revert r20246 "ARM64: Add overflow checking support for multiplications by constant powers of 2."
Reason: mjsunit/mul-exhaustive-part4 fails in no snaphot debug.

TBR=alexandre.rames@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 16:09:29 +00:00
ishell@chromium.org
f306341b46 TransitionElementsKind() and its recursive call chain handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
dslomov@chromium.org
f66af4feb4 Refactor optimized in hydrogen only runtime functions.
This splits all runtime function into 3 categories:
1) RUNTIME: implemented in runtime and called from both full and optimized code.
2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins.
3) INLINE: inlined in both full and optimized code
4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code.

R=yangguo@chromium.org, yannguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:26:55 +00:00
verwaest@chromium.org
c432f7166c Don't convert dictionary sloppy arguments to fast double mode.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:14:58 +00:00
dslomov@chromium.org
cdc9812756 Revert "This implements allocating small typed arrays in heap."
This reverts commit r20244 for breaking Win64 build and webkit tests.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:12:58 +00:00
baptiste.afsa@arm.com
9ae45df65c ARM64: Minor improvement in LCodeGen::DoCheckInstanceType.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:45:17 +00:00
alexandre.rames@arm.com
d021973747 ARM64: Add overflow checking support for multiplications by constant powers of 2.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:35:19 +00:00
ulan@chromium.org
cb0f49c18a Add index check in DoAccessArgumentsAt.
BUG=355523
LOG=N
TEST=mjsunit/regress/regress-355523
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:26:41 +00:00
dslomov@chromium.org
654b6a27d1 This implements allocating small typed arrays in heap.
R=mvstanton@chromium.org, verwaest@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=20240

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:21:58 +00:00
yangguo@chromium.org
95dfa17c34 Handlify Runtime::GetElementOrCharAt.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 13:02:03 +00:00
dslomov@chromium.org
727bc2153e Revert "This implements allocating small typed arrays in heap."
This reverts commit r20240 for breaking Windows build.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:58:22 +00:00
dslomov@chromium.org
de690b656f Allow to neuter array buffer twice in tests.
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:55:10 +00:00
dslomov@chromium.org
322a474bf2 This implements allocating small typed arrays in heap.
R=mvstanton@chromium.org, verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:51:49 +00:00
jochen@chromium.org
04eefb86f4 Roll ICU 239289:258359 and add support for external ICU data tables
The only binary that supports ICU data tables is d8. The location of the
data table file has to be passed via a command line switch:

  $ out/x64.optdebug/d8 --icu-data-file=out/x64.optdebug/icudtl.dat

BUG=72633,v8:3142
R=danno@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:05:33 +00:00
hpayer@chromium.org
51571d8ff9 Do not left-trim arrays when concurrent sweeping is active.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 11:57:26 +00:00
ishell@chromium.org
a883bc72cc Fix for GCMole issue.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 11:26:42 +00:00
rossberg@chromium.org
2e1b16de2a Revert "Ship promises and weak collections"
Reason: breaks Blink layout tests.

R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
alexandre.rames@arm.com
25fd28827d ARM64: Optimize RegList::IsValid() to speed up simulation in (opt)debug mode.
On my machine this improves the simulation speed noticeably.
| test               | base  | patched |
|--------------------|-------|---------|
| optdebug           | 15:37 | 11:07   |
| debug --quickcheck | 33:53 | 26:14   |

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:33:50 +00:00
svenpanne@chromium.org
09753b4a81 Only assign environments when they are actually needed. (ia32 only)
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:17:02 +00:00
yangguo@chromium.org
4ca46f3c3f Handlify GetElementWithReceiver and GetElementWithInterceptor.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:15:12 +00:00
ishell@chromium.org
0d7bdc0fd6 Callers of ElementsAccessor::SetCapacityAndLength() handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:51:13 +00:00
yangguo@chromium.org
793d4cb0b6 Fix issues when changing FLAG_concurrent_recompilation after init.
R=jarin@chromium.org
BUG=356053
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:38:48 +00:00
ishell@chromium.org
1ad4e2cc35 Reland of "FastElementsAccessor::SetLengthWithoutNormalize() handlified."
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:29:48 +00:00
yangguo@chromium.org
82f630a9f7 Reland "No longer OOM on invalid string length."
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
titzer@chromium.org
3c31102025 First implementation of store elimination.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:06:16 +00:00
jarin@chromium.org
b765d3cdb9 Revert the (wrong) fix of the argument index check asserion.
R=ishell@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 21:32:19 +00:00
jarin@chromium.org
56f2006605 Fix to get around an assertion that triggers when generating code that happens to be dead because the assertion is checked a bit earlier at runtime.
R=ishell@chromium.org
BUG=355486
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 20:51:36 +00:00
ishell@chromium.org
f888aa19ae Revert "FastElementsAccessor::SetLengthWithoutNormalize() handlified."
This reverts commit r20214 for breaking debug tests on various platforms.

R=vogelheim@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 19:12:43 +00:00
plind44@gmail.com
3f21803844 MIPS: Replaced unreachable code in DoStoreNamedField by an assertion.
Port r20194 (2dfda0f)

Original commit message:
This is part of the effort to assign an environment if and only if we can deopt.

Removed some related dead code on the way.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 18:17:14 +00:00
ishell@chromium.org
5e892f7f50 FastElementsAccessor::SetLengthWithoutNormalize() handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 18:15:44 +00:00
baptiste.afsa@arm.com
688d07d11b ARM64: Prevent compilers to optimize away NaN negation in tests.
BUG=v8:3226
R=ulan@chromium.org, jochen@chromium.org
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 17:43:56 +00:00
alexandre.rames@arm.com
e577a18bd8 ARM64: Fix Register and FPRegister copy constructors.
This issue was introduced in r19156.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 17:41:37 +00:00
rossberg@chromium.org
33be68c2fa Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
m.m.capewell@googlemail.com
86f5302002 ARM64: push/pop registers in stubs for safepoints
BUG=

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:41:37 +00:00
rossberg@chromium.org
ff1186c834 Add support for per-isolate private symbols
R=mstarzinger@chromium.org
BUG=
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:34:06 +00:00
verwaest@chromium.org
e18e650582 Ensure the constant operand for heap-object store-named-field is not a smi.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:25:48 +00:00
m.m.capewell@googlemail.com
1da7cb61ca ARM64: optimize call immediate
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:11:28 +00:00
ulan@chromium.org
0e0624c0b6 Enable x64 build for Android
BUG=
R=ulan@chromium.org

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

Patch from Yang Gu <yang.gu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:56:35 +00:00
rossberg@chromium.org
6704bbce82 Spec adjustments for well-known symbols
R=arv@chromium.org, mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:45:52 +00:00
yangguo@chromium.org
72932ae417 Revert "No longer OOM on invalid string length."
This reverts r20202.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c No longer OOM on invalid string length.
R=ishell@chromium.org
BUG=v8:3060
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
marja@chromium.org
b4d617e48d Parser fix: check allow_harmony_scoping() instead of FLAG_harmony_scoping.
Without this fix, ParserBase::set_allow_harmony_scoping() and the
kAllowHarmonyScoping in test-parsing.cc don't have any effect, and we end up not
running the tests with harmony scoping allowed.

R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:41:55 +00:00
dslomov@chromium.org
5fd9ddbcbb Use HType::Tagged when allocating elements.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:41:01 +00:00
baptiste.afsa@arm.com
f8c29ff0df ARM64: Use a double register to break cycle involving double values.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:18:06 +00:00
yangguo@chromium.org
9c0f5be8d1 Correctly convert micro-sign to its upper case.
R=dcarney@chromium.org
BUG=355485
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:16:14 +00:00
plind44@gmail.com
2c8229f609 MIPS: Do stack checks while pushing locals.
Port r20176 (a1bfd83)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:11:26 +00:00
yangguo@chromium.org
f1bacf8fff Fix DebugEvaluate for generators.
R=mstarzinger@chromium.org
BUG=v8:3225
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:10:57 +00:00
svenpanne@chromium.org
3081e1b730 Replaced unreachable code in DoStoreNamedField by an assertion.
This is part of the effort to assign an environment if and only if we can deopt.

Removed some related dead code on the way.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 13:16:23 +00:00
rossberg@chromium.org
0ed1317be0 Fix debuggersupport=off build after r17184 and r18149.
R=rossberg@chromium.org
BUG=

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

Patch from Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 13:04:20 +00:00
titzer@chromium.org
df25d21dee IA32: Rename MacroAssembler::Set() and MacroAssembler::SafeSet() to Move() and SafeMove().
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 13:00:05 +00:00
marja@chromium.org
25260c2b9a PreParser cleanup: no need to track with-ness of scopes.
Historically, we used to track the "with-ness" of a scope differently; not
creating a with scope, but setting a property on the scope (see
https://codereview.chromium.org/5166006 ). For laziness decisions, checking the
with-ness should be unnecessary: the current scope is function scope, and if the
outer scope is global scope, there's surely no with scope in between.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 12:16:09 +00:00
marja@chromium.org
e5f5cc951a Fix component build some more.
Not V8_EXPORTing ScriptCompiler::Source got rid of the last errors. This fixes
the new ones created by it. V8_INLINEing these funcs makes sense anyway.

In addition, added declared-private-and-unimplemented assignment operators
which were accidentally omitted.

R=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 12:13:58 +00:00
svenpanne@chromium.org
49a7de4545 Revert "A64: Now that we have veneers, fix a couple of branches to directly jump to their target."
This reverts commit r20169, it heavily regresses a Mozilla test:

make -j32 arm64.release.check TESTFLAGS=--time TESTJOBS=mozilla/js1_5/Regress/regress-280769-2

Before:
--- Total time: 00:01.928 ---
   1 (00:01.911) mozilla/js1_5/Regress/regress-280769-2
   2 (00:01.910) mozilla/js1_5/Regress/regress-280769-2
   3 (00:01.910) mozilla/js1_5/Regress/regress-280769-2

After:
--- Total time: 01:36.025 ---
   1 (01:36.004) mozilla/js1_5/Regress/regress-280769-2
   2 (01:35.403) mozilla/js1_5/Regress/regress-280769-2
   3 (01:32.098) mozilla/js1_5/Regress/regress-280769-2

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:41:33 +00:00
jkummerow@chromium.org
b7c3cd5e37 [ia32/x64] Smaller instruction to check NaN
substract 1 and test for overflow

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:18:27 +00:00
yangguo@chromium.org
8b8fb30e7f Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
This reverts r20179.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00
rmcilroy@chromium.org
1c90c9513b Remove an unused isolate_ field from BacktrackStack.
Found by Nico Weber with -Wunused-private-field

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:09:49 +00:00
ishell@chromium.org
cd5cc705a1 Use V8_FINAL and V8_OVERRIDE in ElementsAccessor classses.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:06:04 +00:00
ishell@chromium.org
89732db69e Builtin helper function EnsureJSArrayWithWritableFastElements() handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:48:36 +00:00
yangguo@chromium.org
62f65d8697 Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException.
R=dcarney@chromium.org
BUG=v8:3060
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:47:45 +00:00
dcarney@chromium.org
3ab0622b96 add setaccessorproperty to object
R=svenpanne@chromium.org

LOG=N
BUG=v8:2964

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:41:59 +00:00
yangguo@chromium.org
15951521cc Refactor inlined typed array runtime functions.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:22:24 +00:00
dcarney@chromium.org
493c6b3543 Do stack checks while pushing locals
R=yangguo@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:17:06 +00:00
yangguo@chromium.org
479bb2ffbf Disable concurrent OSR.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 07:44:50 +00:00
rodolph.perfetta@arm.com
d5753f27d9 ARM: fix assertions for uxtb and co.
Allow operands with ROR #0. Behind the scene they are mapped to LSL #0.

BUG=v8:3209
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:59:45 +00:00
alexandre.rames@arm.com
759bf42858 A64: Now that we have veneers, fix a couple of branches to directly jump to their target.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:08:50 +00:00
ulan@chromium.org
2aaaeb7822 Add special check for topmost optimized code in deoptimizer verification.
BUG=354843
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:03:40 +00:00
ishell@chromium.org
deca3f3677 JSObject::EnsureCanContainElements() handlified.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 14:29:27 +00:00
yangguo@chromium.org
265ae63173 Enable concurrent OSR.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 14:05:49 +00:00
m.m.capewell@googlemail.com
7eb99dbef1 ARM64: Fix some stub-cache TODOs
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 13:11:50 +00:00
m.m.capewell@googlemail.com
6c4178330d ARM: Fix Q register encoding
Fix Q register encoding for registers other than Q0. Also, fix value in NeonSize
enumeration.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 13:04:20 +00:00
ulan@chromium.org
50ca2eb9f6 Add option to run ScopeIterator faster giving up nested scope chain.
We'd like to be able to trade nested scope chain info (consisting of with, block and catch scopes) in favor of speed in some cases.

BUG=chromium:340285
LOG=N
R=ulan@chromium.org, pfeldman, ulan, yangguo

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:30:58 +00:00
ishell@chromium.org
90b1077e31 Reland of r20146 "JSObject::NormalizeElements() handlified."
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:23:39 +00:00
titzer@chromium.org
a428b0d588 Add a utility method to the ia32 macro assembler to move a double immediate into an XMM register.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:16:37 +00:00
ulan@chromium.org
fc2563f108 Visit return statement of inlined function in value context.
BUG=354357
LOG=N
TEST=mjsunit/regress/regress-354357.js
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:14:44 +00:00
ishell@chromium.org
0b0b6f65a9 ArraySplice builtin handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:22:16 +00:00
ulan@chromium.org
f20a9473f3 Ensure that lazy deopt sequence does not override calls.
BUG=354433
LOG=N
TEST=mjsunit/regress/regress-354433.js
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:02:15 +00:00
ishell@chromium.org
309bf937a0 Revert "JSObject::NormalizeElements() handlified."
This reverts commit r20146 which broke V8 GC Stress, Mjsunit tests.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 10:42:19 +00:00
marja@chromium.org
e79ff8275c Move new expression parsing funcs to ParserBase.
Functions moved: ParseMemberWithNewPrefixesExpression, ParseMemberExpression,
ParseMemberExpressionContinuation.

Now all Parse*Expression functions are in ParserBase.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 10:34:51 +00:00
marja@chromium.org
7708d4a22d Move ParseLeftHandSideExpression to ParserBase.
Includes cleanups:
- Reorganized functions in PreParserFactory to be in the logical order.
- De-hackified things PreParser doesn't need to track, such as IsCall & IsCallNew.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:51:33 +00:00
marja@chromium.org
8452030817 Move ParsePostfixExpression into ParserBase.
+ enable a test which checks that Parser and PreParser produce the "invalid left
hand side" errors consistently.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:46:18 +00:00