platform/upstream/v8.git
10 years agoRevert "Move ParseAssignmentExpression to ParserBase."
marja@chromium.org [Thu, 13 Mar 2014 16:11:26 +0000 (16:11 +0000)]
Revert "Move ParseAssignmentExpression to ParserBase."

This reverts revision 19908.

Reason: clang doesn't like it.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseAssignmentExpression to ParserBase.
marja@chromium.org [Thu, 13 Mar 2014 16:06:08 +0000 (16:06 +0000)]
Move ParseAssignmentExpression to ParserBase.

R=mstarzinger@chromium.org, mstarzinger
BUG=v8:3126
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix test-parsing/TooManyArguments.
marja@chromium.org [Thu, 13 Mar 2014 15:55:38 +0000 (15:55 +0000)]
Fix test-parsing/TooManyArguments.

(Asan.)

R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Remove temporary sxtw instructions
m.m.capewell@googlemail.com [Thu, 13 Mar 2014 15:53:08 +0000 (15:53 +0000)]
A64: Remove temporary sxtw instructions

BUG=v8:3149
LOG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Maintain change log file directly on trunk branch in push-to-trunk." and...
machenbach@chromium.org [Thu, 13 Mar 2014 15:48:24 +0000 (15:48 +0000)]
Revert "Maintain change log file directly on trunk branch in push-to-trunk." and related changes.

This reverts r19876, r19902 and r19903. The changes made git diff' in push-to-trunk unusable.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove uses of RangeCanInclude() in flooring division by power of 2.
plind44@gmail.com [Thu, 13 Mar 2014 15:16:20 +0000 (15:16 +0000)]
MIPS: Remove uses of RangeCanInclude() in flooring division by power of 2.

Port r19877 (17029d3)

Original commit message:
Drive-By-Fix: Improve ARM code generation for flooring division by
power of 2.

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.11.
machenbach@chromium.org [Thu, 13 Mar 2014 15:14:28 +0000 (15:14 +0000)]
Prepare push to trunk.  Now working on version 3.25.11.

R=dslomov@chromium.org
TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMaintain change log file directly on trunk branch in push-to-trunk.
machenbach@chromium.org [Thu, 13 Mar 2014 15:12:18 +0000 (15:12 +0000)]
Maintain change log file directly on trunk branch in push-to-trunk.

This is another step for deprecating the change log file on bleeding edge.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert r19897, r19898 for breaking mac-64 debug.
ulan@chromium.org [Thu, 13 Mar 2014 15:10:35 +0000 (15:10 +0000)]
Revert r19897, r19898 for breaking mac-64 debug.

TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Relax the register constraints for LSeqStringGetChar.
baptiste.afsa@arm.com [Thu, 13 Mar 2014 14:56:57 +0000 (14:56 +0000)]
A64: Relax the register constraints for LSeqStringGetChar.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix uses of range analysis results in HChange.
plind44@gmail.com [Thu, 13 Mar 2014 14:56:25 +0000 (14:56 +0000)]
MIPS: Fix uses of range analysis results in HChange.

Port r19872 (6d8679b)

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build after r19897.
ulan@chromium.org [Thu, 13 Mar 2014 14:24:00 +0000 (14:24 +0000)]
Fix windows build after r19897.

TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix memory leak caused by treating Code::next_code_link as strong in marker.
ulan@chromium.org [Thu, 13 Mar 2014 14:09:18 +0000 (14:09 +0000)]
Fix memory leak caused by treating Code::next_code_link as strong in marker.

BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCorrectly retain argument value when deopting from Math.round on x64.
yangguo@chromium.org [Thu, 13 Mar 2014 13:57:21 +0000 (13:57 +0000)]
Correctly retain argument value when deopting from Math.round on x64.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Implement and use FillFields
m.m.capewell@googlemail.com [Thu, 13 Mar 2014 13:18:48 +0000 (13:18 +0000)]
A64: Implement and use FillFields

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplify GetEnumPropertyKeys and avoid trimming fixed arrays in large object space.
ulan@chromium.org [Thu, 13 Mar 2014 12:45:12 +0000 (12:45 +0000)]
Simplify GetEnumPropertyKeys and avoid trimming fixed arrays in large object space.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPerf regression: changes in KeyedStoreIC introduced polymorphism.
mvstanton@chromium.org [Thu, 13 Mar 2014 12:17:43 +0000 (12:17 +0000)]
Perf regression: changes in KeyedStoreIC introduced polymorphism.

When fixing bug 350884, I introduced an error that meant we went
polymorphic in KeyedStoreIC where we stayed monomorphic before. This
CL addresses the error, while preserving the bug fix for 350884.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly call to LogSymbol when needed.
dcarney@chromium.org [Thu, 13 Mar 2014 11:56:13 +0000 (11:56 +0000)]
Only call to LogSymbol when needed.

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify PropertyAttribute lookups.
yangguo@chromium.org [Thu, 13 Mar 2014 11:55:31 +0000 (11:55 +0000)]
Handlify PropertyAttribute lookups.

R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck that constant is an integer before getting its value in HGraphBuilder::MatchRot...
ulan@chromium.org [Thu, 13 Mar 2014 11:50:50 +0000 (11:50 +0000)]
Check that constant is an integer before getting its value in HGraphBuilder::MatchRotateRight.

BUG=351263
LOG=N
TEST=mjsunit/regress/regress-351263
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTurn StringLengthStub (used by string wrappers only) into a hydrogen stub.
verwaest@chromium.org [Thu, 13 Mar 2014 10:57:07 +0000 (10:57 +0000)]
Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd ASAN option to stand-alone gyp config.
machenbach@chromium.org [Thu, 13 Mar 2014 10:36:55 +0000 (10:36 +0000)]
Add ASAN option to stand-alone gyp config.

BUG=
R=jkummerow@chromium.org, jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Remove an invalid assertion about the position of the reloc_info_writer.
alexandre.rames@arm.com [Thu, 13 Mar 2014 10:28:53 +0000 (10:28 +0000)]
A64: Remove an invalid assertion about the position of the reloc_info_writer.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHarmony: move math features to es-staging.
yangguo@chromium.org [Thu, 13 Mar 2014 09:51:59 +0000 (09:51 +0000)]
Harmony: move math features to es-staging.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Fix Fmov with signalling NaN literals.
jacob.bramley@arm.com [Thu, 13 Mar 2014 09:45:02 +0000 (09:45 +0000)]
A64: Fix Fmov with signalling NaN literals.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake translation of modulus operation '--stress-opt'-proof.
svenpanne@chromium.org [Thu, 13 Mar 2014 09:37:16 +0000 (09:37 +0000)]
Make translation of modulus operation '--stress-opt'-proof.

Note that we unconditionally deopt later, anyway, but our compilation
pipeline has to survive long enough to reach that place. :-/

LOG=y
BUG=352059
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoConvert scanner buffers to use standard character types.
dcarney@chromium.org [Thu, 13 Mar 2014 09:15:14 +0000 (09:15 +0000)]
Convert scanner buffers to use standard character types.

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "New Compilation API, part 1"
marja@chromium.org [Thu, 13 Mar 2014 09:14:16 +0000 (09:14 +0000)]
Revert "New Compilation API, part 1"

This reverts revision 19881.

Reason: WebKit build failure (will commit a fixed version shortly).

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoNew Compilation API, part 1
marja@chromium.org [Thu, 13 Mar 2014 08:54:11 +0000 (08:54 +0000)]
New Compilation API, part 1

- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).

This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.

Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agomove remaining uses of scanner literals into scanner
dcarney@chromium.org [Thu, 13 Mar 2014 08:29:31 +0000 (08:29 +0000)]
move remaining uses of scanner literals into scanner

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove uses of CanBeNegative() in HMod.
bmeurer@chromium.org [Thu, 13 Mar 2014 08:17:44 +0000 (08:17 +0000)]
Remove uses of CanBeNegative() in HMod.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove uses of RangeCanInclude() in flooring division by power of 2.
bmeurer@chromium.org [Thu, 13 Mar 2014 07:58:58 +0000 (07:58 +0000)]
Remove uses of RangeCanInclude() in flooring division by power of 2.

Drive-By-Fix: Improve ARM code generation for flooring division by
power of 2.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd file exclusion to trunk patch creation in push-to-trunk.
machenbach@chromium.org [Thu, 13 Mar 2014 07:57:07 +0000 (07:57 +0000)]
Add file exclusion to trunk patch creation in push-to-trunk.

This is another step towards getting rid of the bleeding edge change log file. Now it can be omitted in a follow up CL.

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove SnapshotFillerInterface
yurys@chromium.org [Thu, 13 Mar 2014 07:48:42 +0000 (07:48 +0000)]
Remove SnapshotFillerInterface

There used to be additional pass in the heap profiler that estimated memory required for the snapshot and it used special implementation of the interface. Now that we dropped that step it doesn't makes sense to keep the interface with single implementation.

BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix of argument materialization of captured heap numbers.
jarin@chromium.org [Thu, 13 Mar 2014 07:17:37 +0000 (07:17 +0000)]
Fix of argument materialization of captured heap numbers.

The escape analysis calculates the number of slots in an object as
no-of-slots = object-size / pointer-size.  This gives 3 slots for
heap numbers on 32-bit architectures (one slot for the map, two for
the double value); however, my argument materialization code assumed
just two slots (map + value). Since Hydrogen allocates heap numbers
quite rarely, it is hard to produce a more meaningful repro than the
one provided by Clusterfuzz. Any suggestions are welcome.

The fix is simple - we just read out all extra slots (beyond the map
and the double) for heap numbers.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement PersistentValueMap, a map that stores UniquePersistent values.
dcarney@chromium.org [Thu, 13 Mar 2014 07:10:59 +0000 (07:10 +0000)]
Implement PersistentValueMap, a map that stores UniquePersistent values.
This is preparatory work to get rid of UnsafePersistent in blink.

The previous version had to be reverted due to timeouts in win32/Debug: https://codereview.chromium.org/197173002/

The timeouts happened because the STL version on that platform contains sanity checking code which opens a 'debug window' in the GUI, patiently waiting for the user to click ok/cancel/somethirdoption. It turns out, the cause for that debug window was totally valid and the test had a use-after-free issue.

The 1st patch set is the code as before. The 2nd patch set contains the fix.

Related blink changes are here: https://codereview.chromium.org/180363004/

This patch is largely based on https://codereview.chromium.org/175503003/, with some methods added to support the blink change mentioned above.

BUG=
R=dcarney@chromium.org

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix uses of range analysis results in HChange.
bmeurer@chromium.org [Thu, 13 Mar 2014 06:11:52 +0000 (06:11 +0000)]
Fix uses of range analysis results in HChange.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.10.
machenbach@chromium.org [Thu, 13 Mar 2014 03:04:38 +0000 (03:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.10.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Enable Object.observe by default" again
adamk@chromium.org [Thu, 13 Mar 2014 00:20:06 +0000 (00:20 +0000)]
Reland "Enable Object.observe by default" again

This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706

This patch should be safe to merge once that lands.

BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org,dslomov@chromium.org,rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Reland "Pass a Code object to Assembler::(set_)target_address_at for use by...
plind44@gmail.com [Wed, 12 Mar 2014 22:09:17 +0000 (22:09 +0000)]
MIPS: Reland "Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool."

Port r19856 (0546217)

Original commit message:
The ool constant pool will require a pointer to the code's constant pool when
updating or reading target addresses using set_target_address_at()
and target_address_at().

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse intrinsics for builtin ArrayBuffer property accesses
jkummerow@chromium.org [Wed, 12 Mar 2014 19:25:40 +0000 (19:25 +0000)]
Use intrinsics for builtin ArrayBuffer property accesses

BUG=chromium:351787
LOG=y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser / PreParser unification: Add docs.
marja@chromium.org [Wed, 12 Mar 2014 19:15:17 +0000 (19:15 +0000)]
Parser / PreParser unification: Add docs.

R=rossberg@chromium.org, rossberg
BUG=v8:3126
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnsure that relocinfo's host code object is correctly reset on GC in TypeFeedbackOrac...
rmcilroy@chromium.org [Wed, 12 Mar 2014 17:18:49 +0000 (17:18 +0000)]
Ensure that relocinfo's host code object is correctly reset on GC in TypeFeedbackOracle::RelocateRelocInfos

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: removed unused debugger file.
rodolph.perfetta@arm.com [Wed, 12 Mar 2014 16:05:20 +0000 (16:05 +0000)]
A64: removed unused debugger file.

BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce FrameAndConstantPoolScope and ConstantPoolUnavailableScope.
rmcilroy@chromium.org [Wed, 12 Mar 2014 15:56:16 +0000 (15:56 +0000)]
Introduce FrameAndConstantPoolScope and ConstantPoolUnavailableScope.

Adds FrameAndConstantPoolScope and ConstantPoolUnavailableScope to enable
scoped management of constant pool availability.  Also load constant pool
pointer when entering an internal frame scope.

R=rodolph.perfetta@arm.com, ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Record the size of veneer pools for code offset mapping.
alexandre.rames@arm.com [Wed, 12 Mar 2014 15:40:41 +0000 (15:40 +0000)]
A64: Record the size of veneer pools for code offset mapping.

Mapping the code offsets between code with and without debug break slots
requires information about the size of the veneer pools and constant pools.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Pass a Code object to Assembler::(set_)target_address_at for use by ool const...
rmcilroy@chromium.org [Wed, 12 Mar 2014 15:23:54 +0000 (15:23 +0000)]
Reland "Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool."

The ool constant pool will require a pointer to the code's constant pool when
updating or reading target addresses using set_target_address_at()
and target_address_at().

Original Review URL: https://codereview.chromium.org/183803022

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Rename k<Y>RegSize to k<Y>RegSizeInBits, and k<Y>RegSizeInBytes to k<Y>RegSize.
alexandre.rames@arm.com [Wed, 12 Mar 2014 15:18:40 +0000 (15:18 +0000)]
A64: Rename k<Y>RegSize to k<Y>RegSizeInBits, and k<Y>RegSizeInBytes to k<Y>RegSize.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix for bug 351257: type feedback vector initialization issue.
mvstanton@chromium.org [Wed, 12 Mar 2014 15:18:17 +0000 (15:18 +0000)]
Fix for bug 351257: type feedback vector initialization issue.

The feedback vector is stored in the shared function info, and there
is an effort to reuse it when re-running full code generation as a
prelude to creating optimized code. However we shouldn't reuse the
vector for lazily compiled methods on first compile, as scoping analysis
can change the allocation of vector slots.

BUG=351257
LOG=N
R=danno@chromium.org, bmeuer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRefactoring: Use explicit mock expectations for testing push and merge scripts.
machenbach@chromium.org [Wed, 12 Mar 2014 14:39:04 +0000 (14:39 +0000)]
Refactoring: Use explicit mock expectations for testing push and merge scripts.

- Up to now, mock expectations were simple lists of arguments + return value
- These expectations are now modeled explicitly including the name of the mock (e.g. git or readline)
- The optional test callback function is now explicitly named
- This will allow merging all mock expectation types (e.g. git and readline) into a single list per test case (follow up CL)

TEST=tools/push-to-trunk/script_test.py
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable special handling of flooring division by constant until it is fixed for real.
svenpanne@chromium.org [Wed, 12 Mar 2014 14:28:59 +0000 (14:28 +0000)]
Disable special handling of flooring division by constant until it is fixed for real.

Added a test to check the various division-like operations more exhaustively.

R=bmeurer@chromium.org, ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFollow-up to r19845 which suppresses syntax errors in presence of a stack overflow.
marja@chromium.org [Wed, 12 Mar 2014 14:15:13 +0000 (14:15 +0000)]
Follow-up to r19845 which suppresses syntax errors in presence of a stack overflow.

ReportUnexpectedToken already calls Traits::ReportMessageAt. If we're in Parser,
that already suppresses the syntax error. If we're in PreParser, we don't need
to suppress the syntax error (preparser errors don't go through Isolate, and
having both stack overflow and a syntax error present is handled correctly by
PreParserApi::PreParse).

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandle flooring division in LCodeGen::DoDivByConstI on ARM, too.
svenpanne@chromium.org [Wed, 12 Mar 2014 14:06:26 +0000 (14:06 +0000)]
Handle flooring division in LCodeGen::DoDivByConstI on ARM, too.

We should really split up the Lithium instruction, but this will be
done in some future cleanup CL.

Removed some "const"s for local variables on the way, they don't really
help us much and just clutter up the code.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove most scanner buffer accesses into scanner.
dcarney@chromium.org [Wed, 12 Mar 2014 14:03:25 +0000 (14:03 +0000)]
Move most scanner buffer accesses into scanner.

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't fast RemoveArrayHoles in case of arguments arrays.
verwaest@chromium.org [Wed, 12 Mar 2014 13:42:18 +0000 (13:42 +0000)]
Don't fast RemoveArrayHoles in case of arguments arrays.

BUG=351645
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years ago350884: KeyedStoreIC miss didn't handle a transitioning case.
mvstanton@chromium.org [Wed, 12 Mar 2014 13:35:40 +0000 (13:35 +0000)]
350884: KeyedStoreIC miss didn't handle a transitioning case.

It's possible to get a transitioned map with no links to the origin
map if it's a shared map. Code in KeyedStoreIC::StoreElementStub
assumes it can check if two maps are in the same family by
traversing the transition array. Long term, the "family" relationship
should be recognized with the Normalized Map Cache. For now, allow
the IC to remain monomorphic in this case if the receiver map and
the previous receiver map are the same.

Filed V8 issue 3210 (https://code.google.com/p/v8/issues/detail?id=3210)
to track the issue with the Normalized Map Cache.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFastNewClosureStub failed to load the cached literals array.
mvstanton@chromium.org [Wed, 12 Mar 2014 13:29:42 +0000 (13:29 +0000)]
FastNewClosureStub failed to load the cached literals array.

Also, less efficient code was generated because of negative keyed load
offsets. I changed this to benefit from HLoadKeyed dehoisting.

BUG=v8:3185
LOG=N
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoParser: fix confusion when there are multiple errors to report.
marja@chromium.org [Wed, 12 Mar 2014 13:27:32 +0000 (13:27 +0000)]
Parser: fix confusion when there are multiple errors to report.

(For more details, see bug.)

The problem occurs when a parsing function hits a stack overflow, but still
manages to return something meaningful. This happens because the call to
ParserBase::Next() which hits the stack overflow will still return a valid token
(the last token which we had already read), and only the next call after the
stack overflow will return INVALID. So for example ParseIdentifier will still
return a valid identifier even if we've hit a stack overflow.

In this case, some upper recursion level might detect and report a valid syntax
error, and then we bail out of the recursive descent because of the syntax
error. So we end up having both stack overflow and a syntax error present. When
we try to report the stack overflow after parsing (e.g., end of ParseLazy), the
isolate already has the syntax error as a pending exception, and a CHECK fails.

This fix suppresses the syntax errors in when a stack overflow has been
detected.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse MigrateToMap instead of set_map to update the map of a JSObject.
verwaest@chromium.org [Wed, 12 Mar 2014 13:18:27 +0000 (13:18 +0000)]
Use MigrateToMap instead of set_map to update the map of a JSObject.
This is necessary to guarantee correct representation usage.
Some unhandlified code still needs to be handlified before we can push this
through fully.

BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix nosnap serialization tests
jkummerow@chromium.org [Wed, 12 Mar 2014 13:13:13 +0000 (13:13 +0000)]
Fix nosnap serialization tests

R=dslomov@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.9.
dslomov@chromium.org [Wed, 12 Mar 2014 13:09:00 +0000 (13:09 +0000)]
Prepare push to trunk.  Now working on version 3.25.9.

R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Implement PersistentValueMap, a map that stores UniquePersistent values."
dslomov@chromium.org [Wed, 12 Mar 2014 11:40:40 +0000 (11:40 +0000)]
Revert "Implement PersistentValueMap, a map that stores UniquePersistent values."
and "Win64 fix for r19833."

This reverts commits r19833 and r19837 for breaking Windows tests
(test-api/PersistentValueMap).

TBR=vogelheim@chromium.org,dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSuppress error handling for test coverage in push and merge scripts.
machenbach@chromium.org [Wed, 12 Mar 2014 10:45:23 +0000 (10:45 +0000)]
Suppress error handling for test coverage in push and merge scripts.

- This adds a suppression of lines concerning error handling for the test coverage analysis
- Fixes also calling push-to-trunk from auto-roll

TEST=tools/push-to-trunk/script_test.py
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWin64 fix for r19833.
dcarney@chromium.org [Wed, 12 Mar 2014 10:33:40 +0000 (10:33 +0000)]
Win64 fix for r19833.

R=dcarney@chromium.org
BUG=

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it
jkummerow@chromium.org [Wed, 12 Mar 2014 10:14:29 +0000 (10:14 +0000)]
Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it

Constants can still change their representation, so we cannot determine reachability of blocks based on their Smi-ness

BUG=chromium:351320
LOG=y
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix handling of polymorphic array accesses with constant index
danno@chromium.org [Wed, 12 Mar 2014 10:11:38 +0000 (10:11 +0000)]
Fix handling of polymorphic array accesses with constant index

R=jkummerow@chromium.org
BUG=chromium:351319
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix lazy deopt after tagged binary ops
jkummerow@chromium.org [Wed, 12 Mar 2014 09:59:36 +0000 (09:59 +0000)]
Fix lazy deopt after tagged binary ops

Also add policing code to ensure that optimized frames can in fact lazily deopt
at their respective current PC when we patch them for lazy bailout.

BUG=chromium:350434
LOG=y
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoImplement PersistentValueMap, a map that stores UniquePersistent values.
dcarney@chromium.org [Wed, 12 Mar 2014 09:11:25 +0000 (09:11 +0000)]
Implement PersistentValueMap, a map that stores UniquePersistent values.
This is preparatory work to get rid of UnsafePersistent in blink.

Related blink changes are here: https://codereview.chromium.org/180363004/

This patch is largely based on https://codereview.chromium.org/175503003/, with some methods added to support the blink change mentioned above.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't use a temp file for changelog in push-to-trunk.
machenbach@chromium.org [Wed, 12 Mar 2014 07:39:56 +0000 (07:39 +0000)]
Don't use a temp file for changelog in push-to-trunk.

This is part of getting rid of the ChangeLog on bleeding_edge and directly modifying it on trunk.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed range analysis for HMathFloorOfDiv.
svenpanne@chromium.org [Wed, 12 Mar 2014 06:49:28 +0000 (06:49 +0000)]
Fixed range analysis for HMathFloorOfDiv.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Don't need a temp register for StoreKeyed double"
svenpanne@chromium.org [Wed, 12 Mar 2014 06:46:55 +0000 (06:46 +0000)]
Revert "Don't need a temp register for StoreKeyed double"

This reverts commit r19829 for breaking the mozilla tests.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDon't need a temp register for StoreKeyed double
haitao.feng@intel.com [Wed, 12 Mar 2014 02:21:03 +0000 (02:21 +0000)]
Don't need a temp register for StoreKeyed double

save a gap move

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Eliminate extended mode, and other modes clean-up
plind44@gmail.com [Tue, 11 Mar 2014 22:16:56 +0000 (22:16 +0000)]
MIPS: Eliminate extended mode, and other modes clean-up

Port r19800 (4402a23)

Original commit message:
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming

BUG=

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Pass a Code object to Assembler::(set_)target_address_at for use by ool const...
rmcilroy@chromium.org [Tue, 11 Mar 2014 21:46:26 +0000 (21:46 +0000)]
Revert "Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool."

This reverts r19825 for breaking ia32.debug checks.

Original Review URL: https://codereview.chromium.org/183803022

Update serializer to be able to deal with ool constant pool.

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUpdate serializer to be able to deal with ool constant pool.
rmcilroy@chromium.org [Tue, 11 Mar 2014 20:52:00 +0000 (20:52 +0000)]
Update serializer to be able to deal with ool constant pool.

This CL depends on CL https://codereview.chromium.org/179813005/ landing first.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPass a Code object to Assembler::(set_)target_address_at for use by ool constant...
rmcilroy@chromium.org [Tue, 11 Mar 2014 20:31:23 +0000 (20:31 +0000)]
Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool.

The ool constant pool will require a pointer to the code's constant pool when
updating or reading target addresses using set_target_address_at()
and target_address_at().

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode.
plind44@gmail.com [Tue, 11 Mar 2014 20:28:28 +0000 (20:28 +0000)]
MIPS: Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode.

Port r19799 (8fb4c93)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClean up ARM mov 32bit immediate code in preparation for out of line constant pool.
rmcilroy@chromium.org [Tue, 11 Mar 2014 20:17:02 +0000 (20:17 +0000)]
Clean up ARM mov 32bit immediate code in preparation for out of line constant pool.

R=rodolph.perfetta@arm.com, ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Cleanup some of the range uses in ModI/DivI.
plind44@gmail.com [Tue, 11 Mar 2014 19:04:14 +0000 (19:04 +0000)]
MIPS: Cleanup some of the range uses in ModI/DivI.

Port r19796 (2b8ff32)

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Reland "Enable Object.observe by default""
dslomov@chromium.org [Tue, 11 Mar 2014 18:36:15 +0000 (18:36 +0000)]
Revert "Reland "Enable Object.observe by default""

This reverts commit r19736 for breaking browser_tests on ChromiumOS.

TBR=rossberg@chromium.org,rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Enable Object.observe by default"
dslomov@chromium.org [Tue, 11 Mar 2014 18:15:44 +0000 (18:15 +0000)]
Revert "Enable Object.observe by default"

This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224

TBR=rafaelw@chromium.org,rossberg@chromium.org
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Tidy up a few TODOs.
baptiste.afsa@arm.com [Tue, 11 Mar 2014 17:31:40 +0000 (17:31 +0000)]
A64: Tidy up a few TODOs.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: UseRegisterAtStart for rhs of LMulS
m.m.capewell@googlemail.com [Tue, 11 Mar 2014 17:12:34 +0000 (17:12 +0000)]
A64: UseRegisterAtStart for rhs of LMulS

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix issue with getOwnPropertySymbols and hidden properties
rossberg@chromium.org [Tue, 11 Mar 2014 16:46:35 +0000 (16:46 +0000)]
Fix issue with getOwnPropertySymbols and hidden properties

When getting the symbols of an object we need to ignore the hidden
properties of the prototype object since the hidden properties are
represented by a single string key and we will not include that hidden
string in the found names.

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

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseArguments to ParserBase and add tests.
marja@chromium.org [Tue, 11 Mar 2014 16:30:47 +0000 (16:30 +0000)]
Move ParseArguments to ParserBase and add tests.

Notes:
- PreParser didn't produce "too_many_arguments"; now it does.
- The argument count in the error message was wrong; fixed it.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAPI support for promises
rossberg@chromium.org [Tue, 11 Mar 2014 16:17:20 +0000 (16:17 +0000)]
API support for promises

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix kraken/oscillator performance regression after r19635.
ulan@chromium.org [Tue, 11 Mar 2014 15:50:41 +0000 (15:50 +0000)]
Fix kraken/oscillator performance regression after r19635.

Evict previously optimized code after new optimization.

BUG=v8:3202
LOG=N
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Tidy up a couple of TODOs.
baptiste.afsa@arm.com [Tue, 11 Mar 2014 15:50:01 +0000 (15:50 +0000)]
A64: Tidy up a couple of TODOs.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInvalidate OS-specific datetime cache on configuration change notification
ulan@chromium.org [Tue, 11 Mar 2014 15:46:56 +0000 (15:46 +0000)]
Invalidate OS-specific datetime cache on configuration change notification

When V8 is informed that the system's date time configuration has changed,
it should also drop its OS-specific caches of time zone information

R=ulan@chromium.org

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

Patch from James Robinson <jamesr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Improve constraints for StoreNamedField
m.m.capewell@googlemail.com [Tue, 11 Mar 2014 15:46:31 +0000 (15:46 +0000)]
A64: Improve constraints for StoreNamedField

Improve register constraints for cases that don't need write barriers, and
remove TODOs.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Debug code should assert on unexpected situation.
baptiste.afsa@arm.com [Tue, 11 Mar 2014 15:41:27 +0000 (15:41 +0000)]
A64: Debug code should assert on unexpected situation.

R=jochen@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseObjectLiteral to ParserBase.
marja@chromium.org [Tue, 11 Mar 2014 15:40:41 +0000 (15:40 +0000)]
Move ParseObjectLiteral to ParserBase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agofix bad access check check
dcarney@chromium.org [Tue, 11 Mar 2014 15:12:47 +0000 (15:12 +0000)]
fix bad access check check

R=verwaest@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Add and use a double register which holds the 0.0 value.
baptiste.afsa@arm.com [Tue, 11 Mar 2014 15:03:36 +0000 (15:03 +0000)]
A64: Add and use a double register which holds the 0.0 value.

This patch also modify the crankshaft allocatable double registers because
we need this register to be callee saved to be efficient.

R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Enable concurrent sweeping."
dslomov@chromium.org [Tue, 11 Mar 2014 14:59:19 +0000 (14:59 +0000)]
Revert "Enable concurrent sweeping."

This reverts commit r19792 for breaking ARM tests.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWork around Windows name clobbering
rossberg@chromium.org [Tue, 11 Mar 2014 14:56:42 +0000 (14:56 +0000)]
Work around Windows name clobbering

TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEliminate extended mode, and other modes clean-up
rossberg@chromium.org [Tue, 11 Mar 2014 14:41:22 +0000 (14:41 +0000)]
Eliminate extended mode, and other modes clean-up

- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMode clean-up pt 1: rename classic/non-strict mode to sloppy mode
rossberg@chromium.org [Tue, 11 Mar 2014 14:39:08 +0000 (14:39 +0000)]
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix bug in constant folding object comparisons.
yangguo@chromium.org [Tue, 11 Mar 2014 13:34:01 +0000 (13:34 +0000)]
Fix bug in constant folding object comparisons.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCleanup some of the range uses in ModI/DivI.
bmeurer@chromium.org [Tue, 11 Mar 2014 11:57:27 +0000 (11:57 +0000)]
Cleanup some of the range uses in ModI/DivI.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00