platform/upstream/v8.git
10 years agoUpdate test262 to get test data from github
jochen@chromium.org [Fri, 28 Feb 2014 12:34:12 +0000 (12:34 +0000)]
Update test262 to get test data from github

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

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

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

10 years agoWhen upgrading the test data twice, don't bail out because of an existing backup
jochen@chromium.org [Fri, 28 Feb 2014 12:32:54 +0000 (12:32 +0000)]
When upgrading the test data twice, don't bail out because of an existing backup

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

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

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

10 years agoA JSArray may have a filler map in the elements pointer.
mvstanton@chromium.org [Fri, 28 Feb 2014 12:29:19 +0000 (12:29 +0000)]
A JSArray may have a filler map in the elements pointer.

We already have code that expects this, but incorrectly asserted that the
filler map case would never happen when allocation folding is turned on.
However, even folding has it's limits, bailing out of continued folding
when the object size grows too large. Therefore, it's a general problem
when verifying JSArray objects, that we might encounter a filler map
in elements().

Discovered by ClusterFuzz crbug 347903.

R=hpayer@chromium.org
LOG=N
BUG=347903

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

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

10 years agoEvict from optimized code map in sync with removing from optimized functions list.
yangguo@chromium.org [Fri, 28 Feb 2014 12:27:31 +0000 (12:27 +0000)]
Evict from optimized code map in sync with removing from optimized functions list.

R=ulan@chromium.org

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

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

10 years agoparser: fix build on solaris
marja@chromium.org [Fri, 28 Feb 2014 12:08:17 +0000 (12:08 +0000)]
parser: fix build on solaris

`FS` is defined in `regset.h` on solaris and smartos.

BUG=
R=ulan@chromium.org, danno@chromium.org

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

Patch from Fedor Indutny <fedor.indutny@gmail.com>.

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

10 years agoFix JSObject::PrintTransitions.
bmeurer@chromium.org [Fri, 28 Feb 2014 11:41:07 +0000 (11:41 +0000)]
Fix JSObject::PrintTransitions.

BUG=347912
LOG=y
R=verwaest@chromium.org

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

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

10 years agoFix representation generalization for doubles.
hpayer@chromium.org [Fri, 28 Feb 2014 11:07:10 +0000 (11:07 +0000)]
Fix representation generalization for doubles.

BUG=
R=verwaest@chromium.org

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

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

10 years agoDelete the simulator when we don't need it anymore
jochen@chromium.org [Fri, 28 Feb 2014 10:55:47 +0000 (10:55 +0000)]
Delete the simulator when we don't need it anymore

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

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

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

10 years agoThe Array function must be looked up in the native context.
mvstanton@chromium.org [Fri, 28 Feb 2014 10:39:36 +0000 (10:39 +0000)]
The Array function must be looked up in the native context.

Platforms x64, a64, arm and mips had the bug that the array function was looked
up in the global context instead of the native context. Fix this, restoring a
weakened assert in hydrogen along the way (by the fix for crbug 347528, which
helped find this case).

R=dcarney@chromium.org

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

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

10 years agoA64: fix cctest/test-assembler-a64
jochen@chromium.org [Fri, 28 Feb 2014 10:31:05 +0000 (10:31 +0000)]
A64: fix cctest/test-assembler-a64

The simulator now deletes its decoder in its dtor. Therefore, we must
always allocate the decoder on the heap.

BUG=none
R=ulan@chromium.org, jacob.bramley@arm.com
LOG=n

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

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

10 years agoGet array_function from NativeContext
dcarney@chromium.org [Fri, 28 Feb 2014 10:01:27 +0000 (10:01 +0000)]
Get array_function from NativeContext

R=mvstanton@chromium.org
LOG=N
BUG=347528

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

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

10 years agoFix handling of constant global variable assignments.
bmeurer@chromium.org [Fri, 28 Feb 2014 09:40:12 +0000 (09:40 +0000)]
Fix handling of constant global variable assignments.

BUG=347904
LOG=y
R=hpayer@chromium.org

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

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

10 years agoRemove dead CompileOptimized() method from JSFunction.
titzer@chromium.org [Fri, 28 Feb 2014 08:57:38 +0000 (08:57 +0000)]
Remove dead CompileOptimized() method from JSFunction.

BUG=
R=yangguo@chromium.org

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

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

10 years agoRemoved bogus ASSERT.
svenpanne@chromium.org [Fri, 28 Feb 2014 08:45:07 +0000 (08:45 +0000)]
Removed bogus ASSERT.

LOG=y
BUG=347542
R=yangguo@chromium.org

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

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

10 years agoHAllocate should never generate allocation code if the requested size does not fit...
ishell@chromium.org [Thu, 27 Feb 2014 17:33:25 +0000 (17:33 +0000)]
HAllocate should never generate allocation code if the requested size does not fit into page. Regression test included.

BUG=347543
LOG=N
R=hpayer@chromium.org

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

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

10 years agoRuntime::RunMicrotask should silent return if no pending microtask work (rather than...
rafaelw@chromium.org [Thu, 27 Feb 2014 16:49:55 +0000 (16:49 +0000)]
Runtime::RunMicrotask should silent return if no pending microtask work (rather than asserting)

R=rossberg@chromium.org, rossberg
BUG=347532

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

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

10 years agoAvoid normalizing global proxy for fuzzing purposes.
verwaest@chromium.org [Thu, 27 Feb 2014 16:27:22 +0000 (16:27 +0000)]
Avoid normalizing global proxy for fuzzing purposes.

R=danno@chromium.org

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

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

10 years agoFix putting of prototype transitions. The length is also subject to GC, just like...
verwaest@chromium.org [Thu, 27 Feb 2014 16:07:44 +0000 (16:07 +0000)]
Fix putting of prototype transitions. The length is also subject to GC, just like entry.

BUG=347536
LOG=n
R=danno@chromium.org

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

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

10 years agoFix bogus assertion.
yangguo@chromium.org [Thu, 27 Feb 2014 15:28:28 +0000 (15:28 +0000)]
Fix bogus assertion.

R=hpayer@chromium.org
BUG=347530

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

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

10 years agoHandle arguments objects in frame when materializing arguments
jarin@chromium.org [Thu, 27 Feb 2014 15:12:12 +0000 (15:12 +0000)]
Handle arguments objects in frame when materializing arguments

R=mstarzinger@chromium.org
BUG=347262

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

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

10 years agoFix bogus assertion in SetFastDoubleElements.
yangguo@chromium.org [Thu, 27 Feb 2014 14:45:53 +0000 (14:45 +0000)]
Fix bogus assertion in SetFastDoubleElements.

R=danno@chromium.org
BUG=347530
LOG=N

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

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

10 years agoFix for Clusterfuzz issue 343928.
mvstanton@chromium.org [Thu, 27 Feb 2014 13:25:05 +0000 (13:25 +0000)]
Fix for Clusterfuzz issue 343928.

The problem was that the debugger didn't expect that a JSFunction could
have a GlobalContext, which it can with harmony scoping.

BUG=343928
R=yangguo@chromium.org
LOG=N

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

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

10 years agoRevert "Better threaded fuzzing for TestFunctionCallOptimization"
dcarney@chromium.org [Thu, 27 Feb 2014 09:48:56 +0000 (09:48 +0000)]
Revert "Better threaded fuzzing for TestFunctionCallOptimization"

This reverts commit 19567.

TBR=verwaest@chromium.org

BUG=

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

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

10 years agoImplement and enable zapping of code space while sweeping.
mstarzinger@chromium.org [Thu, 27 Feb 2014 09:36:29 +0000 (09:36 +0000)]
Implement and enable zapping of code space while sweeping.

R=danno@chromium.org, hpayer@chromium.org
BUG=

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

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

10 years agoBetter threaded fuzzing for TestFunctionCallOptimization
dcarney@chromium.org [Thu, 27 Feb 2014 09:18:37 +0000 (09:18 +0000)]
Better threaded fuzzing for TestFunctionCallOptimization

R=verwaest@chromium.org

BUG=

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

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

10 years agoFix patch creation in merge-to-branch script.
machenbach@chromium.org [Wed, 26 Feb 2014 16:12:32 +0000 (16:12 +0000)]
Fix patch creation in merge-to-branch script.

Patch white space got stripped, which lead to failures when applying the patch.

- Refine test to reveal the problem
- Create a separate method for retrieving the patch that doesn't strip white space

R=jkummerow@chromium.org

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

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

10 years agoRefactoring: Deprecate optparse in push and merge scripts.
machenbach@chromium.org [Wed, 26 Feb 2014 15:13:31 +0000 (15:13 +0000)]
Refactoring: Deprecate optparse in push and merge scripts.

- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly

This CL is split off from https://codereview.chromium.org/173983002/

TBR=ulan@chromium.org

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

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

10 years agoA64: Hardwire the decoder and the simulator
jochen@chromium.org [Wed, 26 Feb 2014 14:50:58 +0000 (14:50 +0000)]
A64: Hardwire the decoder and the simulator

If one of --trace-sim --debug-sim or --log-instruction-stats flags is
given, we use the decoder dispatcher instead.

BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n

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

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

10 years agoA64: Make the Decoder a template
jochen@chromium.org [Wed, 26 Feb 2014 12:01:05 +0000 (12:01 +0000)]
A64: Make the Decoder a template

This will allow for replacing the dispatcher with a concrete decoder
visitor.

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

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

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

10 years agoA64: Move the dispatching logic of the decoder to a separate class.
jochen@chromium.org [Wed, 26 Feb 2014 11:59:17 +0000 (11:59 +0000)]
A64: Move the dispatching logic of the decoder to a separate class.

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

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

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

10 years agoA64: Decoder should not inherit from DecoderVisitor
jochen@chromium.org [Wed, 26 Feb 2014 11:54:55 +0000 (11:54 +0000)]
A64: Decoder should not inherit from DecoderVisitor

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

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

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

10 years agoAdd vi swap files to .gitignore
jochen@chromium.org [Wed, 26 Feb 2014 11:53:19 +0000 (11:53 +0000)]
Add vi swap files to .gitignore

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

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

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

10 years agoFix for failing asserts in HBoundsCheck code generation on x64: index register should...
ishell@chromium.org [Tue, 25 Feb 2014 16:33:54 +0000 (16:33 +0000)]
Fix for failing asserts in HBoundsCheck code generation on x64: index register should be zero extended.

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

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

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

10 years agoRevert "Use stability to only conditionally flush information from the CheckMaps...
verwaest@chromium.org [Tue, 25 Feb 2014 16:11:58 +0000 (16:11 +0000)]
Revert "Use stability to only conditionally flush information from the CheckMaps table."

R=ishell@chromium.org

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

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

10 years agoFollow up to r19538: Bump preparse data version number.
marja@chromium.org [Tue, 25 Feb 2014 15:55:14 +0000 (15:55 +0000)]
Follow up to r19538: Bump preparse data version number.

r19538 changes the preparse data format, so this is probably a good idea.

R=ulan@chromium.org
BUG=

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

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

10 years agoRe-evaluate marking bits of a descriptor array when it gets replaced.
hpayer@chromium.org [Tue, 25 Feb 2014 15:47:33 +0000 (15:47 +0000)]
Re-evaluate marking bits of a descriptor array when it gets replaced.

BUG=340254
R=verwaest@chromium.org

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

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

10 years agoMark HCompareMap as having Tagged representation
jkummerow@chromium.org [Tue, 25 Feb 2014 15:09:47 +0000 (15:09 +0000)]
Mark HCompareMap as having Tagged representation

BUG=chromium:346636
LOG=y
R=svenpanne@chromium.org

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

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

10 years agoCrash like chrome. Currently, most chrome crashes do not yield useful stack traces...
dcarney@chromium.org [Tue, 25 Feb 2014 13:53:06 +0000 (13:53 +0000)]
Crash like chrome.  Currently, most chrome crashes do not yield useful stack traces as v8 does a silent abort and chrome's crash symbolization does not kick in.

R=svenpanne@chromium.org

BUG=

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.3.
hpayer@chromium.org [Tue, 25 Feb 2014 12:33:55 +0000 (12:33 +0000)]
Prepare push to trunk.  Now working on version 3.25.3.

R=danno@chromium.org
BUG=

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

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

10 years agoRevert r19430, r19459:
mvstanton@chromium.org [Tue, 25 Feb 2014 12:18:30 +0000 (12:18 +0000)]
Revert r19430, r19459:
"Reland "Allow ICs to be generated for own global proxy.""

Causing ClusterFuzz crash (issue 343928)

TBR=verwaest@chromium.org

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

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

10 years agoFix crasher in Object.getOwnPropertySymbols
rossberg@chromium.org [Tue, 25 Feb 2014 12:01:34 +0000 (12:01 +0000)]
Fix crasher in Object.getOwnPropertySymbols

R=arv@chromium.org, mstarzinger@chromium.org
BUG=346141
LOG=Y

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

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

10 years agoFix the bit massaging code in CompleteParserRecorder::WriteNumber.
marja@chromium.org [Tue, 25 Feb 2014 11:51:02 +0000 (11:51 +0000)]
Fix the bit massaging code in CompleteParserRecorder::WriteNumber.

The original code, added by
https://codereview.chromium.org/3384003/diff/7001/src/parser.cc 3.5 years ago,
failed to write numbers which contain a chunk of 7 zeroes in the middle. The
smallest such number is 2^14, so this is a problem if the source file to
preparse contains 16384 or more symbols (which happens in the wild).

This bug went unnoticed because the symbol data was not used by Parser (see
https://codereview.chromium.org/172753002/ for starting to use it again) and
there were no tests.

R=ulan@chromium.org
BUG=346221
LOG=y

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

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

10 years agoRevert r19455 "Load target types and handlers before IC computation."
ulan@chromium.org [Tue, 25 Feb 2014 10:52:15 +0000 (10:52 +0000)]
Revert r19455 "Load target types and handlers before IC computation."

It caused performance regression in dromaeo/jslib.

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

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

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

10 years agoDon't eliminate loads with incompatible types or representations.
bmeurer@chromium.org [Tue, 25 Feb 2014 09:55:50 +0000 (09:55 +0000)]
Don't eliminate loads with incompatible types or representations.

BUG=346343
LOG=y
R=verwaest@chromium.org

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

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

10 years agoFix for a smi stores optimization on x64 with a regression test.
ishell@chromium.org [Tue, 25 Feb 2014 09:55:02 +0000 (09:55 +0000)]
Fix for a smi stores optimization on x64 with a regression test.

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

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

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

10 years agoCheck that after a weak callback, the handle is either dead or strong
jochen@chromium.org [Tue, 25 Feb 2014 09:27:05 +0000 (09:27 +0000)]
Check that after a weak callback, the handle is either dead or strong

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

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

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

10 years agonegative bounds checking on realm calls
dcarney@chromium.org [Tue, 25 Feb 2014 09:15:05 +0000 (09:15 +0000)]
negative bounds checking on realm calls

R=rossberg@chromium.org

LOG=N

BUG=344285

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

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

10 years agoLazy preparsing vs. lazy parsing fix.
marja@chromium.org [Mon, 24 Feb 2014 17:48:09 +0000 (17:48 +0000)]
Lazy preparsing vs. lazy parsing fix.

Preparsing is always maximally lazy (every function that can be lazy is preparsed
lazily), but Parser has more complicated laziness logic.

If we're going to parse eagerly, and we have preparse data from lazy preparsing,
we're gonna have a bad time. The symbol stream won't contain symbols inside lazy
functions, and when the Parser parses them eagerly, it will consume symbols from
the symbol stream, and everything will go wrong.

This bug was hidden because the symbol cache was not used for real (see
https://codereview.chromium.org/172753002/ ).

R=ulan@chromium.org
BUG=346207
LOG=Y

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

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

10 years agoFix optimistic BCE to back off after deopt
jkummerow@chromium.org [Mon, 24 Feb 2014 13:15:31 +0000 (13:15 +0000)]
Fix optimistic BCE to back off after deopt

BUG=v8:3176
LOG=n
R=danno@chromium.org

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

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

10 years agoA64: Replace a Subs by a Sub where flags don't need to be updated.
baptiste.afsa@arm.com [Fri, 21 Feb 2014 15:36:16 +0000 (15:36 +0000)]
A64: Replace a Subs by a Sub where flags don't need to be updated.

R=jochen@chromium.org

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

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

10 years agoA64: Remove a couple of already addressed TODOs.
baptiste.afsa@arm.com [Fri, 21 Feb 2014 15:34:39 +0000 (15:34 +0000)]
A64: Remove a couple of already addressed TODOs.

R=jochen@chromium.org

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

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

10 years agoA64: Tidy up register use in TaggedToI
m.m.capewell@googlemail.com [Fri, 21 Feb 2014 11:36:04 +0000 (11:36 +0000)]
A64: Tidy up register use in TaggedToI

Fix bug where input register was potentially corrupted, tidy up register use in
TruncateDoubleToI and rename TryInlineTruncateDoubleToI.

BUG=
R=ulan@chromium.org

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

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

10 years agoInitialize interface descriptor for ToNumberStub.
mstarzinger@chromium.org [Fri, 21 Feb 2014 11:19:32 +0000 (11:19 +0000)]
Initialize interface descriptor for ToNumberStub.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: Increase the margin for veneer checks.
alexandre.rames@arm.com [Fri, 21 Feb 2014 09:32:57 +0000 (09:32 +0000)]
A64: Increase the margin for veneer checks.

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

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.2.
machenbach@chromium.org [Fri, 21 Feb 2014 08:10:06 +0000 (08:10 +0000)]
Prepare push to trunk.  Now working on version 3.25.2.

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

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

10 years agoRemove bogus ASSERTs
danno@chromium.org [Thu, 20 Feb 2014 21:55:45 +0000 (21:55 +0000)]
Remove bogus ASSERTs

R=verwaest@chromium.org

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

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

10 years agoMIPS: Add flag for testing long branch mode.
plind44@gmail.com [Thu, 20 Feb 2014 21:03:26 +0000 (21:03 +0000)]
MIPS: Add flag for testing long branch mode.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

10 years agoEnsure that the worker pool is running if we intend to use it
jochen@chromium.org [Thu, 20 Feb 2014 19:32:27 +0000 (19:32 +0000)]
Ensure that the worker pool is running if we intend to use it

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

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

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

10 years agoUse holder dictionary-mode to detect FAST or NORMAL
verwaest@chromium.org [Thu, 20 Feb 2014 17:57:22 +0000 (17:57 +0000)]
Use holder dictionary-mode to detect FAST or NORMAL

BUG=
R=ishell@chromium.org

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

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

10 years agoMIPS: Fix clz implementation of the simulator.
plind44@gmail.com [Thu, 20 Feb 2014 17:18:57 +0000 (17:18 +0000)]
MIPS: Fix clz implementation of the simulator.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoA64: Improve the deoptimization helpers to generate fewer instructions.
alexandre.rames@arm.com [Thu, 20 Feb 2014 16:40:53 +0000 (16:40 +0000)]
A64: Improve the deoptimization helpers to generate fewer instructions.

R=jochen@chromium.org

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

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

10 years agoRefactoring: Extract low-level git from push and merge scripts.
machenbach@chromium.org [Thu, 20 Feb 2014 16:39:41 +0000 (16:39 +0000)]
Refactoring: Extract low-level git from push and merge scripts.

- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

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

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

10 years agoFix tools/cross_build_gcc.sh.
jacob.bramley@arm.com [Thu, 20 Feb 2014 16:37:40 +0000 (16:37 +0000)]
Fix tools/cross_build_gcc.sh.

The cross_build_gcc.sh script didn't set LINK, so cross builds would
fail at the last step.

BUG=
R=ulan@chromium.org

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

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

10 years agoRemove the unused LoadInitialArrayMap.
jacob.bramley@arm.com [Thu, 20 Feb 2014 16:36:53 +0000 (16:36 +0000)]
Remove the unused LoadInitialArrayMap.

BUG=
R=ulan@chromium.org

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

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

10 years agoRemove ASSERT related to major-key, it's not given that they match.
verwaest@chromium.org [Thu, 20 Feb 2014 16:35:25 +0000 (16:35 +0000)]
Remove ASSERT related to major-key, it's not given that they match.

BUG=
R=ishell@chromium.org

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

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

10 years agoDon't turn objects with empty-string properties into fast-mode.
verwaest@chromium.org [Thu, 20 Feb 2014 16:11:48 +0000 (16:11 +0000)]
Don't turn objects with empty-string properties into fast-mode.

R=ishell@chromium.org

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

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

10 years agoUse ComputeHandlerFlags to find handlers, rather than manually encoding.
verwaest@chromium.org [Thu, 20 Feb 2014 12:40:34 +0000 (12:40 +0000)]
Use ComputeHandlerFlags to find handlers, rather than manually encoding.

BUG=
R=ishell@chromium.org

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

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

10 years agoRe-enable Parser::symbol_cache_ (after a long time!)
marja@chromium.org [Thu, 20 Feb 2014 11:35:37 +0000 (11:35 +0000)]
Re-enable Parser::symbol_cache_ (after a long time!)

The Parser never used the symbol stream produced by the PreParser for anything
useful, due to a bug introduced 3.5 years ago by
https://codereview.chromium.org/3356010/diff/7001/src/parser.cc.

The bug is that calling Initialize on symbol_cache_ doesn't change its
length. So the length remains 0, and the "if" in Parser::LookupSymbol is always
true, and Parser::LookupCachedSymbol is never called and symbol_cache_ never
filled.

This bug also masked a bug that the symbol stream produced by PreParser doesn't
match what Parser wants to consume. The repro case is the following:

var myo = {if: 4}; print(myo.if);

PreParser doesn't log a symbol for the first "if", but in the corresponding
place, Parser consumes one symbol from the symbol stream. Since the consumed
symbols were never really used, this mismatch went unnoticed.

This CL also fixes that bug.

BUG=
R=ulan@chromium.org

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

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

10 years agoA64: Port recent ARM optimizations in LCodeGen::DoAccessArgumentsAt.
baptiste.afsa@arm.com [Thu, 20 Feb 2014 11:22:33 +0000 (11:22 +0000)]
A64: Port recent ARM optimizations in LCodeGen::DoAccessArgumentsAt.

R=jochen@chromium.org

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

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

10 years agoA64: Fix int32 use in Lithium string functions
m.m.capewell@googlemail.com [Thu, 20 Feb 2014 10:08:04 +0000 (10:08 +0000)]
A64: Fix int32 use in Lithium string functions

Assert register sizes in StringCharLoadGenerator, and fix char_code comparison
in DoStringCharFromCode.

BUG=
R=jochen@chromium.org

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

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

10 years agoFix options in push-to-trunk script.
machenbach@chromium.org [Thu, 20 Feb 2014 08:06:11 +0000 (08:06 +0000)]
Fix options in push-to-trunk script.

BUG=
TBR=ulan@chromium.org

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

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

10 years agoMIPS: Fix performance regression on sunspider string-unpack-code.
plind44@gmail.com [Wed, 19 Feb 2014 18:30:22 +0000 (18:30 +0000)]
MIPS: Fix performance regression on sunspider string-unpack-code.

Regression surfaced with r19009, but latent error was present since
r17767.

BUG=
R=dusan.milosavljevic@rt-rk.com

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

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

10 years agoMIPS: Harmony: optimize Math.clz32.
plind44@gmail.com [Wed, 19 Feb 2014 18:16:06 +0000 (18:16 +0000)]
MIPS: Harmony: optimize Math.clz32.

Port r19487 (bd8c70f)

BUG=v8:2938
LOG=N
R=plind44@gmail.com

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

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

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

10 years agoFix template copy constructor in zone_allocator
danno@chromium.org [Wed, 19 Feb 2014 16:35:19 +0000 (16:35 +0000)]
Fix template copy constructor in zone_allocator

R=rossberg@chromium.org

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

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

10 years agoA64: Introduce 'branch types' that extend the architectural conditions.
alexandre.rames@arm.com [Wed, 19 Feb 2014 16:13:09 +0000 (16:13 +0000)]
A64: Introduce 'branch types' that extend the architectural conditions.

The branch types include 'always' and 'never', and types like reg_zero (CBZ) and
reg_bit_clear (TBZ).
This will be used by incoming improvements to the code generated for
deoptimization exit points.

R=ulan@chromium.org

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

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

10 years agoA64: Fix compilation with clang
jochen@chromium.org [Wed, 19 Feb 2014 15:20:15 +0000 (15:20 +0000)]
A64: Fix compilation with clang

The size_ member is only used in debug mode, so we should only define
it in debug mode.

BUG=none
R=rodolph.perfetta@arm.com, ulan@chromium.org
LOG=n

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

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

10 years agoRefactoring: Extract git checks in push and merge scripts.
machenbach@chromium.org [Wed, 19 Feb 2014 14:56:19 +0000 (14:56 +0000)]
Refactoring: Extract git checks in push and merge scripts.

This extracts the pattern "if call git fails: raise exception", which is spread all over the place. Now all calls to git are required to return gracefully and give a uniform exception message if they don't.

BUG=
R=ulan@chromium.org

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

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

10 years agoRe-enable fast/js/reserved-words-as-property.html.
marja@chromium.org [Wed, 19 Feb 2014 14:53:14 +0000 (14:53 +0000)]
Re-enable fast/js/reserved-words-as-property.html.

Error message migration is done and Blink has updated the expected result.

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

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

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

10 years agoAdd comments about lazy parsing and lazy compilation.
marja@chromium.org [Wed, 19 Feb 2014 14:50:33 +0000 (14:50 +0000)]
Add comments about lazy parsing and lazy compilation.

Also rename is_lazily_compiled in (Pre)Parser; it really means "is lazily
parsed" and doesn't correspond to the lazy compilation decision.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: Fix r19474: Tidy up Push and Pop TODOs.
jacob.bramley@arm.com [Wed, 19 Feb 2014 14:37:18 +0000 (14:37 +0000)]
A64: Fix r19474: Tidy up Push and Pop TODOs.

This fixes some snapshot=off, debug-mode regressions.

  - Call CheckConstPool when entering InsturctionAccurateScopes. This
    fixes a problem in PushMultipleTimes where 'count' is very high.
    Each call to PushHelper starts an InstructionAccurateScope
    immediately after the last one finishes, with no opportunity for the
    constant pool to be generated.

  - Temporarily disable AssertStackConsistency in PrepareForPush. This
    assertion seems to push the code size too far, and several cctests
    (intermittently) fail due to buffer size limitations. I would like
    to renable this assertion later.

BUG=
R=ulan@chromium.org

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

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

10 years agoUpgrade Symbol implementation to match current ES6 behavior.
rossberg@chromium.org [Wed, 19 Feb 2014 14:19:42 +0000 (14:19 +0000)]
Upgrade Symbol implementation to match current ES6 behavior.

Refresh the implementation of Symbols to catch up with what the
specification now mandates:

* The global Symbol() function manufactures new Symbol values,
  optionally with a string description attached.

* Invoking Symbol() as a constructor will now throw.

* ToString() over Symbol values still throws, and
  Object.prototype.toString() stringifies like before.

* A Symbol value is wrapped in a Symbol object either implicitly if
  it is the receiver, or explicitly done via Object(symbolValue) or
  (new Object(symbolValue).)

* The Symbol.prototype.toString() method no longer throws on Symbol
  wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().

* Symbol.prototype.toString() stringifies as "Symbol("<description>"),
  valueOf() returns the wrapper's Symbol value.

* ToPrimitive() over Symbol wrapper objects now throws.

Overall, this provides a stricter separation between Symbol values and
wrapper objects than before, and the explicit fetching out of the
description (nee name) via the "name" property is no longer supported
(by the spec nor the implementation.)

Adjusted existing Symbol test files to fit current, adding some extra
tests for new/changed behavior.

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

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

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

10 years agoClean up weak objects in optimized code.
ulan@chromium.org [Wed, 19 Feb 2014 14:03:48 +0000 (14:03 +0000)]
Clean up weak objects in optimized code.
This prepares for weak objects in IC stubs.

R=svenpanne@chromium.org

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

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

10 years agoRevert "Second attempt at introducing a premonomorphic state in the call"
mvstanton@chromium.org [Wed, 19 Feb 2014 13:55:25 +0000 (13:55 +0000)]
Revert "Second attempt at introducing a premonomorphic state in the call"

This reverts commits r19463 and r19457 (includes MIPS port), there was a
Sunspider perf issue and on reflection we can achieve the necessary
result in a new way.

TBR=verwaest@chromium.org

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

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

10 years agoHarmony: optimize Math.clz32.
yangguo@chromium.org [Wed, 19 Feb 2014 13:51:49 +0000 (13:51 +0000)]
Harmony: optimize Math.clz32.

R=svenpanne@chromium.org
BUG=v8:2938
LOG=N

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

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

10 years agoHarmony: implement Math.cbrt, Math.expm1 and Math.log1p.
yangguo@chromium.org [Wed, 19 Feb 2014 13:49:59 +0000 (13:49 +0000)]
Harmony: implement Math.cbrt, Math.expm1 and Math.log1p.

BUG=v8:2938
LOG=N
R=jarin@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.1.
machenbach@chromium.org [Wed, 19 Feb 2014 13:44:17 +0000 (13:44 +0000)]
Prepare push to trunk.  Now working on version 3.25.1.

R=danno@chromium.org
TBR=danno@chromium.org

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

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

10 years agoRetrieve bleeding edge push revision from trunk commit message.
machenbach@chromium.org [Wed, 19 Feb 2014 13:40:30 +0000 (13:40 +0000)]
Retrieve bleeding edge push revision from trunk commit message.

This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoBugfix in check elimination with a regression test.
ishell@chromium.org [Wed, 19 Feb 2014 12:34:50 +0000 (12:34 +0000)]
Bugfix in check elimination with a regression test.

R=verwaest@chromium.org

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

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

10 years agoFix cornercase in r19475
jkummerow@chromium.org [Wed, 19 Feb 2014 12:30:10 +0000 (12:30 +0000)]
Fix cornercase in r19475

R=svenpanne@chromium.org

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

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

10 years agoES6: Tighten up Object.prototype.__proto__
rossberg@chromium.org [Wed, 19 Feb 2014 11:59:05 +0000 (11:59 +0000)]
ES6: Tighten up Object.prototype.__proto__

The spec requires that we throw under certain conditions.

BUG=v8:3064
LOG=y
R=rossberg@chromium.org

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

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

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

10 years agoRefactor persisting state in push and merge scripts.
machenbach@chromium.org [Wed, 19 Feb 2014 11:56:48 +0000 (11:56 +0000)]
Refactor persisting state in push and merge scripts.

- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts

BUG=
R=ulan@chromium.org

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

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

10 years agoNarrows predicate for type bounds
rossberg@chromium.org [Wed, 19 Feb 2014 10:52:06 +0000 (10:52 +0000)]
Narrows predicate for type bounds

R=danno@chromium.org
BUG=

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

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

10 years agoFix Hydrogen bounds check elimination
jkummerow@chromium.org [Wed, 19 Feb 2014 10:30:39 +0000 (10:30 +0000)]
Fix Hydrogen bounds check elimination

When combining bounds checks, they must all be moved before the first load/store
that they are guarding.

BUG=chromium:344186
LOG=y
R=svenpanne@chromium.org

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

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

10 years agoA64: Tidy up Push and Pop TODOs.
jacob.bramley@arm.com [Wed, 19 Feb 2014 09:43:45 +0000 (09:43 +0000)]
A64: Tidy up Push and Pop TODOs.

This addresses several TODOs:
  - Push and Pop requests can be queued up so that arrays of Registers
    can be pushed efficiently, with just one PrepareForPush/Pop.
  - PushMultipleTimes now takes an Operand. This allows variable-length
    arguments arrays to be initialized, for example.
  - A NoUseRealAbortsScope has been added to Abort so that
    AssertStackConsistency can be called from PrepareForPush without
    introducing infinite recursion.

BUG=
R=rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agoA64: Remove early_exit unused mechanism in CompareMap.
baptiste.afsa@arm.com [Wed, 19 Feb 2014 09:38:45 +0000 (09:38 +0000)]
A64: Remove early_exit unused mechanism in CompareMap.

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

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

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

10 years agoA64: Replace a Cmp/Branch sequence by a conditional compare.
baptiste.afsa@arm.com [Wed, 19 Feb 2014 09:37:07 +0000 (09:37 +0000)]
A64: Replace a Cmp/Branch sequence by a conditional compare.

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

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

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

10 years agoDo not emit receiver map in CheckPrototypes.
ulan@chromium.org [Wed, 19 Feb 2014 09:24:44 +0000 (09:24 +0000)]
Do not emit receiver map in CheckPrototypes.

BUG=
R=verwaest@chromium.org

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

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

10 years agoMakefile: don't force -Dv8_optimized_debug=0 unnecessarily
jkummerow@chromium.org [Wed, 19 Feb 2014 08:56:16 +0000 (08:56 +0000)]
Makefile: don't force -Dv8_optimized_debug=0 unnecessarily

R=machenbach@chromium.org

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

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

10 years ago(Pre)Parser: Move ParseExpression and ParseArrayLiteral to ParserBase.
marja@chromium.org [Wed, 19 Feb 2014 08:56:11 +0000 (08:56 +0000)]
(Pre)Parser: Move ParseExpression and ParseArrayLiteral to ParserBase.

Notes:
- The functions already did the same thing -> no changes in logic.
- One less glue function needed now.

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

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

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

10 years agoFix zone_allocator to support comparison
jkummerow@chromium.org [Wed, 19 Feb 2014 08:28:14 +0000 (08:28 +0000)]
Fix zone_allocator to support comparison

R=danno@chromium.org

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

Patch from Daniel Clifford <danno@chromium.org>.

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