platform/upstream/v8.git
9 years ago[turbofan] remove schedule from InstructionSequence
dcarney@chromium.org [Mon, 20 Oct 2014 10:19:15 +0000 (10:19 +0000)]
[turbofan] remove schedule from InstructionSequence

R=bmeurer@chromium.org

BUG=

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

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

9 years agoScript streaming: more UTF-8 handing fixes (again).
marja@chromium.org [Mon, 20 Oct 2014 09:23:43 +0000 (09:23 +0000)]
Script streaming: more UTF-8 handing fixes (again).

1) Since we fill the output buffer both from the chunks and the conversion
buffer, it's possible that we run out of space and call CopyCharsHelper with 0
length. The underlying functions don't handle it gracefully, so check there.

2) There was a bug where we used to try to copy too many characters from the
beginning of the data chunk into the conversion buffer. Continuation bytes in
UTF-8 are of the form 0b10XXXXXX. If a byte is bigger than that, it's the first
byte of a new UTF-8 character and we should ignore it.

These two together (or maybe in combination with surrogates) are a probable
reason for crbug.com/420932.

3) The test data was off; \uc481 is \xec\x92\x81.

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

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

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

9 years ago[arm64] Skip TF tests that time out in simulator debug runs.
bmeurer@chromium.org [Mon, 20 Oct 2014 09:01:14 +0000 (09:01 +0000)]
[arm64] Skip TF tests that time out in simulator debug runs.

TBR=dcarney@chromium.org

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

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

9 years agoSpecial handling for inline caches in code serializer.
yangguo@chromium.org [Mon, 20 Oct 2014 08:46:11 +0000 (08:46 +0000)]
Special handling for inline caches in code serializer.

R=mvstanton@chromium.org

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

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

9 years agoAvoid the Marsaglia effect in 3D
svenpanne@chromium.org [Mon, 20 Oct 2014 08:40:46 +0000 (08:40 +0000)]
Avoid the Marsaglia effect in 3D

For a longer discussion, see the associated Chromium issue.

BUG=chromium:423311
LOG=y
R=bmeurer@chromium.org

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

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

9 years agoFix Win64 size_t/int conversion after b3f2277ea42a.
sigurds@chromium.org [Mon, 20 Oct 2014 08:16:26 +0000 (08:16 +0000)]
Fix Win64 size_t/int conversion after b3f2277ea42a.

TBR=dcarney@chromium.org

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

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

9 years agoAdd inlining for intrinsics.
sigurds@chromium.org [Mon, 20 Oct 2014 07:56:50 +0000 (07:56 +0000)]
Add inlining for intrinsics.

This issue is for discussion on how to proceed.

I think the implementation of ValueOf shows that directly creating the IR does not scale.

BUG=
R=mstarzinger@chromium.org

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

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

9 years agosome static casts for windows to fix r24717
dcarney@chromium.org [Mon, 20 Oct 2014 07:43:56 +0000 (07:43 +0000)]
some static casts for windows to fix r24717

TBR=bmeurer@chromium.org

BUG=

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

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

9 years ago[turbofan] decouple register allocation from schedule and graph
dcarney@chromium.org [Mon, 20 Oct 2014 07:32:01 +0000 (07:32 +0000)]
[turbofan] decouple register allocation from schedule and graph

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

BUG=

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

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

9 years ago[turbofan] Skip bounds checks for positive indices only.
bmeurer@chromium.org [Mon, 20 Oct 2014 06:25:41 +0000 (06:25 +0000)]
[turbofan] Skip bounds checks for positive indices only.

TEST=unittests,mjsunit/asm/int32array-constant-key
R=svenpanne@chromium.org

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

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

9 years agoRevert "Enable libstdc++ debug mode in debug builds.".
bmeurer@chromium.org [Mon, 20 Oct 2014 04:16:06 +0000 (04:16 +0000)]
Revert "Enable libstdc++ debug mode in debug builds.".

This reverts commit r24676 to see if it was the cause for the mysterious
crashes on some bots. If not, we'll reland it.

TBR=svenpanne@chromium.org

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

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

9 years agoX87: ReceiverCheckMode needs to be utilized further.
weiliang.lin@intel.com [Mon, 20 Oct 2014 04:12:53 +0000 (04:12 +0000)]
X87:  ReceiverCheckMode needs to be utilized further.

port r24704.

original commit message:

  ReceiverCheckMode needs to be utilized further.

  The parameter wasn't being passed appropriately, and there was an extra
   opportunity to use mode RECEIVER_IS_STRING in SubStringStub.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years agoX87: Tick processor: Print C++ entry points.
weiliang.lin@intel.com [Mon, 20 Oct 2014 04:06:06 +0000 (04:06 +0000)]
X87: Tick processor: Print C++ entry points.

port r24700.

original commit message:

  Tick processor: Print C++ entry points

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years agoAdd turbo.cfg to .gitignore.
bmeurer@chromium.org [Mon, 20 Oct 2014 03:52:10 +0000 (03:52 +0000)]
Add turbo.cfg to .gitignore.

TBR=jarin@chromium.org

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

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

9 years agoX87: Implement the new semantics for 'super(...)'
weiliang.lin@intel.com [Mon, 20 Oct 2014 02:00:50 +0000 (02:00 +0000)]
X87: Implement the new semantics for 'super(...)'

original commit message:

  Implement the new semantics for 'super(...)'

  Per the latest ES6 draft, super(...) translates into a call
   to function's prototype.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years agoX87: Make disassembler string tables read-only.
weiliang.lin@intel.com [Mon, 20 Oct 2014 01:58:46 +0000 (01:58 +0000)]
X87: Make disassembler string tables read-only.

port r24672.

original commit message:

  Move them from .data to .rodata.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years agoFix webkit getOwnPropertyNames test after r24706 removed Array.prototype.values
adamk@chromium.org [Fri, 17 Oct 2014 20:27:24 +0000 (20:27 +0000)]
Fix webkit getOwnPropertyNames test after r24706 removed Array.prototype.values

TBR=danno@chromium.org

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

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

9 years agoMIPS64: ReceiverCheckMode needs to be utilized further.
akos.palfi@imgtec.com [Fri, 17 Oct 2014 20:17:01 +0000 (20:17 +0000)]
MIPS64: ReceiverCheckMode needs to be utilized further.

Port r24704 (f43a27ee)

Original commit message:
The parameter wasn't being passed appropriately, and there was an extra
opportunity to use mode RECEIVER_IS_STRING in SubStringStub.

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoDon't expose Array.prototype.values as it breaks webcompat
adamk@chromium.org [Fri, 17 Oct 2014 20:11:47 +0000 (20:11 +0000)]
Don't expose Array.prototype.values as it breaks webcompat

Some versions of Outlook Web Access test for the existence of a 'values'
property on Array instances, so adding the 'values' iterator to the prototype
(even with @@unscopeables) causes breakage.

This matches Gecko: they ship Array.prototype.{keys,entries} but not 'values'.

BUG=409858
LOG=Y
R=arv@chromium.org, danno@chromium.org

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

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

9 years agoCorrect semantics for numerically indexed stores to typed arrays.
dslomov@chromium.org [Fri, 17 Oct 2014 16:33:38 +0000 (16:33 +0000)]
Correct semantics for numerically indexed stores to typed arrays.

R=verwaest@chromium.org, ishell@chromium.org

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

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

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

9 years agoReceiverCheckMode needs to be utilized further.
mvstanton@chromium.org [Fri, 17 Oct 2014 16:23:31 +0000 (16:23 +0000)]
ReceiverCheckMode needs to be utilized further.

The parameter wasn't being passed appropriately, and there was an extra
opportunity to use mode RECEIVER_IS_STRING in SubStringStub.

R=yangguo@chromium.org

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

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

9 years agoFix compilation with GCC-4.8 after r24685
jkummerow@chromium.org [Fri, 17 Oct 2014 15:50:05 +0000 (15:50 +0000)]
Fix compilation with GCC-4.8 after r24685

TBR=bmeurer@chromium.org

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

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

9 years agoTick processor: Print C++ entry points
jkummerow@chromium.org [Fri, 17 Oct 2014 15:44:02 +0000 (15:44 +0000)]
Tick processor: Print C++ entry points

R=loislo@chromium.org, yangguo@chromium.org, yurys@chromium.org

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

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

9 years agoFix compile issue.
yangguo@chromium.org [Fri, 17 Oct 2014 14:46:05 +0000 (14:46 +0000)]
Fix compile issue.

TBR=dcarney@chromium.org

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

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

9 years agoskip some gc stress tests for tf
dcarney@chromium.org [Fri, 17 Oct 2014 14:28:00 +0000 (14:28 +0000)]
skip some gc stress tests for tf

TBR=mstarzinger@chromium.org

BUG=

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

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

9 years agoFix break location calculation.
yangguo@chromium.org [Fri, 17 Oct 2014 14:11:01 +0000 (14:11 +0000)]
Fix break location calculation.

R=ulan@chromium.org
BUG=chromium:419663
LOG=Y

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

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

9 years agoKeyed stores to super with numeric keys.
dslomov@chromium.org [Fri, 17 Oct 2014 13:19:45 +0000 (13:19 +0000)]
Keyed stores to super with numeric keys.

R=verwaest@chromium.org, arv@chromium.org, ishell@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoRevert "Correct semantics for numerically indexed stores to typed arrays."
dslomov@chromium.org [Fri, 17 Oct 2014 13:01:54 +0000 (13:01 +0000)]
Revert "Correct semantics for numerically indexed stores to typed arrays."

This reverts commit r24691 because win64 release build breaks.

TBR=verwaest@chromium.org

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

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

9 years agoImplement graph trimming in ControlReducer.
titzer@chromium.org [Fri, 17 Oct 2014 11:51:57 +0000 (11:51 +0000)]
Implement graph trimming in ControlReducer.

Trimming the graph consists of breaking links from nodes that are not reachable from end to nodes that are reachable from end. Such dead nodes show up in the use lists of the live nodes and though mostly harmless, just clutter up the graph. They also can limit instruction selection opportunities, so it is good to get rid of them.

This CL is one half of the ControlReducer functionality, the other half
being branch folding.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoTest monotonicity of expression typings.
neis@chromium.org [Fri, 17 Oct 2014 11:46:06 +0000 (11:46 +0000)]
Test monotonicity of expression typings.

R=rossberg@chromium.org
BUG=

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

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

9 years agoCorrect semantics for numerically indexed stores to typed arrays.
dslomov@chromium.org [Fri, 17 Oct 2014 11:40:40 +0000 (11:40 +0000)]
Correct semantics for numerically indexed stores to typed arrays.

R=verwaest@chromium.org, ishell@chromium.org

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

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

9 years agoMIPS: Implement the new semantics for 'super(...)'.
balazs.kilvady@imgtec.com [Fri, 17 Oct 2014 11:30:13 +0000 (11:30 +0000)]
MIPS: Implement the new semantics for 'super(...)'.

Port r24683 (b1533f6)

Original commit message:
Per the latest ES6 draft, super(...) translates into a call
to function's prototype.

BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoFix InstructionSelector to handle calls with no (used) output values.
titzer@chromium.org [Fri, 17 Oct 2014 11:26:26 +0000 (11:26 +0000)]
Fix InstructionSelector to handle calls with no (used) output values.

R=jarin@chromium.org
BUG=

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

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

9 years agotest-serialize/Bug3628 is expected to fail, not crash.
yangguo@chromium.org [Fri, 17 Oct 2014 10:22:47 +0000 (10:22 +0000)]
test-serialize/Bug3628 is expected to fail, not crash.

TBR=jochen@chromium.org
BUG=v8:3628
LOG=N

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

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

9 years agoImprove String.repeat.
yangguo@chromium.org [Fri, 17 Oct 2014 10:01:38 +0000 (10:01 +0000)]
Improve String.repeat.

Adapted from patch contributed by Isiah Meadows <impinball@gmail.com>.

R=jkummerow@chromium.org

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

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

9 years agoProhibit serializing with --harmony-scoping.
yangguo@chromium.org [Fri, 17 Oct 2014 09:54:48 +0000 (09:54 +0000)]
Prohibit serializing with --harmony-scoping.

R=jochen@chromium.org
BUG=v8:3628
LOG=N

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

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

9 years ago[turbofan] Eliminate typed array bounds checks if both key and length are constant.
bmeurer@chromium.org [Fri, 17 Oct 2014 09:35:45 +0000 (09:35 +0000)]
[turbofan] Eliminate typed array bounds checks if both key and length are constant.

TEST=mjsunit,unittests
R=dcarney@chromium.org

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

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

9 years agoInitial set of perf tests for classes.
dslomov@chromium.org [Fri, 17 Oct 2014 09:26:55 +0000 (09:26 +0000)]
Initial set of perf tests for classes.

R=arv@chromium.org, machenbach@chromium.org, rossberg@chromium.org

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

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

9 years agoImplement the new semantics for 'super(...)'
dslomov@chromium.org [Fri, 17 Oct 2014 09:16:03 +0000 (09:16 +0000)]
Implement the new semantics for 'super(...)'

Per the latest ES6 draft, super(...) translates into a call
to function's prototype.

R=arv@chromium.org, ishell@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

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

9 years agoShare test framework between js-perf-tests.
dslomov@chromium.org [Fri, 17 Oct 2014 09:11:21 +0000 (09:11 +0000)]
Share test framework between js-perf-tests.

Also small reformat in Iterators/forof.js

R=machenbach@chromium.org

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

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

9 years agoShare code between Factory::NewJSTypedArray and API
dslomov@chromium.org [Fri, 17 Oct 2014 09:04:58 +0000 (09:04 +0000)]
Share code between Factory::NewJSTypedArray and API

R=bmeurer@chromium.org

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

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

9 years ago[x64] add missing disassm of pcmpeqd
bmeurer@chromium.org [Fri, 17 Oct 2014 07:35:38 +0000 (07:35 +0000)]
[x64] add missing disassm of pcmpeqd

BUG=
R=bmeurer@chromium.org

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

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

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

9 years agoFix Mac build after r24676.
bmeurer@chromium.org [Fri, 17 Oct 2014 07:12:30 +0000 (07:12 +0000)]
Fix Mac build after r24676.

BUG=v8:3638
LOG=n
R=dcarney@chromium.org

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

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

9 years ago[arm] Prefer BIC over BFC.
bmeurer@chromium.org [Fri, 17 Oct 2014 07:07:54 +0000 (07:07 +0000)]
[arm] Prefer BIC over BFC.

BFC requires same register for input and output and causes introduction
of some unneccesary gap moves.

TEST=unittests,mjsunit
R=svenpanne@chromium.org

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

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

9 years agoBlacklist tests that are too slow with TurboFan in debug mode.
bmeurer@chromium.org [Fri, 17 Oct 2014 06:59:02 +0000 (06:59 +0000)]
Blacklist tests that are too slow with TurboFan in debug mode.

R=jochen@chromium.org

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

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

9 years agoEnable libstdc++ debug mode in debug builds.
bmeurer@chromium.org [Fri, 17 Oct 2014 06:58:20 +0000 (06:58 +0000)]
Enable libstdc++ debug mode in debug builds.

See https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html for
details about the debug mode.

BUG=v8:3638
LOG=y
R=jochen@chromium.org

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

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

9 years agoPerformance tests for iterators.
dslomov@chromium.org [Fri, 17 Oct 2014 06:58:08 +0000 (06:58 +0000)]
Performance tests for iterators.

R=wingo@igalia.com

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

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

9 years agoX87: Eliminate special keyed load string stub in favor of uniform handlers
weiliang.lin@intel.com [Fri, 17 Oct 2014 05:23:14 +0000 (05:23 +0000)]
X87: Eliminate special keyed load string stub in favor of uniform handlers

port r24661.

original commit message:

  Eliminate special keyed load string stub in favor of uniform handlers.

  KeyedLoadIC installs a special case if the receiver is a string.
  Although there are several maps for strings, in practice we seem to
  be able to treat them individually because a given KeyedLoad site
  only sees 1-2 string types

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years ago[x64] simply tweak materialization of float/double constants
bmeurer@chromium.org [Fri, 17 Oct 2014 04:18:38 +0000 (04:18 +0000)]
[x64] simply tweak materialization of float/double constants

port 24485
Fixed a bug of "psllq" instruction in x64

R=bmeurer@chromium.org

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

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

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

9 years agoMove them from .data to .rodata.
bmeurer@chromium.org [Fri, 17 Oct 2014 04:03:15 +0000 (04:03 +0000)]
Move them from .data to .rodata.

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

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

9 years agoPass an Isolate to v8::VisitHandlesWithClassIds
haraken@chromium.org [Fri, 17 Oct 2014 00:46:18 +0000 (00:46 +0000)]
Pass an Isolate to v8::VisitHandlesWithClassIds

The Isolate version of v8::VisitHandlesWithClassIds is needed
for https://codereview.chromium.org/651713002/

R=dcarney@chromium.org

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

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

9 years agoHarden CopyJSObject.
dslomov@chromium.org [Thu, 16 Oct 2014 19:38:32 +0000 (19:38 +0000)]
Harden CopyJSObject.

R=verwaest@chromium.org

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

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

9 years agoMIPS: Fix clang compilation error.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 17:24:15 +0000 (17:24 +0000)]
MIPS: Fix clang compilation error.

Port r24662 (4722032)

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoMIPS: Eliminate special keyed load string stub in favor of uniform handlers.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 16:39:51 +0000 (16:39 +0000)]
MIPS: Eliminate special keyed load string stub in favor of uniform handlers.

Port r24661 (5499efb)

Original commit message:
KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types.

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoMIPS: Fix code for InstanceofStub.
balazs.kilvady@imgtec.com [Thu, 16 Oct 2014 16:25:27 +0000 (16:25 +0000)]
MIPS: Fix code for InstanceofStub.

Port r24654 (66aa0fb)

BUG=
R=dusan.milosavljevic@imgtec.com

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

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

9 years agoFix new git workflow in release scripts.
machenbach@chromium.org [Thu, 16 Oct 2014 13:45:59 +0000 (13:45 +0000)]
Fix new git workflow in release scripts.

Need to svn fetch in order to make svn find-rev work.

BUG=chromium:410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org

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

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

9 years agoFix ASAN warning.
mvstanton@chromium.org [Thu, 16 Oct 2014 13:26:28 +0000 (13:26 +0000)]
Fix ASAN warning.

Missing line in a test to dispose of a string.

TBR=yangguo@chromium.org

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

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

9 years agoAdd v8 git hashes to releases script.
machenbach@chromium.org [Thu, 16 Oct 2014 13:21:13 +0000 (13:21 +0000)]
Add v8 git hashes to releases script.

Also change the tests to use git mode.

BUG=chromium:410721
LOG=n
TEST=script_test.py
TBR=tandrii@chromium.org

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

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

9 years agoTrack usage of "this" and "arguments" in Scope
wingo@igalia.com [Thu, 16 Oct 2014 13:19:36 +0000 (13:19 +0000)]
Track usage of "this" and "arguments" in Scope

This adds flags in Scope to track wheter a Scope uses "this" and,
"arguments". The information is exposed via Scope::uses_this(),
and Scope::uses_arguments(), respectively. Flags for tracking
usage on any inner scope uses are available as well via
Scope::inner_uses_this(), and Scope::inner_uses_arguments().

Knowing whether scopes use "this" and "arguments" will be handy
to generate the code needed to capture their values when generating
the code for arrow functions.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

9 years agoFix clang compilation error.
mvstanton@chromium.org [Thu, 16 Oct 2014 12:27:35 +0000 (12:27 +0000)]
Fix clang compilation error.

TBR=yangguo@chromium.org

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

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

9 years agoEliminate special keyed load string stub in favor of uniform handlers.
mvstanton@chromium.org [Thu, 16 Oct 2014 11:42:47 +0000 (11:42 +0000)]
Eliminate special keyed load string stub in favor of uniform handlers.

KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types.

R=yangguo@chromium.org

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

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

9 years ago[turbofan] Correctify typed lowering.
bmeurer@chromium.org [Thu, 16 Oct 2014 11:31:00 +0000 (11:31 +0000)]
[turbofan] Correctify typed lowering.

We cannot add new JSToNumber nodes here in general, because:

 a) The inserted ToNumber operation screws up observability of valueOf.
 b) Deoptimization at ToNumber doesn't have corresponding bailout id.

TEST=cctest,mjsunit
R=jarin@chromium.org

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

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

9 years agoFix x64 after r24656.
bmeurer@chromium.org [Thu, 16 Oct 2014 11:29:31 +0000 (11:29 +0000)]
Fix x64 after r24656.

TBR=jarin@chromium.org

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

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

9 years agoObject.is should use SameValue
wingo@igalia.com [Thu, 16 Oct 2014 11:24:45 +0000 (11:24 +0000)]
Object.is should use SameValue

BUG=v8:3576
LOG=
R=arv@chromium.org, svenpanne@chromium.org, wingo@igalia.com

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

Patch from Diego Pino <dpino@igalia.com>.

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

9 years agoImplement .forEach() on typed arrays
wingo@igalia.com [Thu, 16 Oct 2014 10:55:26 +0000 (10:55 +0000)]
Implement .forEach() on typed arrays

BUG=v8:3578
LOG=Y
R=dslomov@chromium.org, wingo@igalia.com

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

9 years ago[turbofan] Run value numbering after SimplifiedLowering.
bmeurer@chromium.org [Thu, 16 Oct 2014 10:50:21 +0000 (10:50 +0000)]
[turbofan] Run value numbering after SimplifiedLowering.

Running ValueNumberingReducer together with ChangeLowering causes
trouble with the current GraphReducer and makes GVN ineffective, so
running it before we get to change lowering works around that well-known
(phase ordering) problem for now.

R=jarin@chromium.org

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

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

9 years agoIntroduce v8::Exception::GetStackTrace API method.
aandrey@chromium.org [Thu, 16 Oct 2014 10:42:08 +0000 (10:42 +0000)]
Introduce v8::Exception::GetStackTrace API method.

This will be needed to get a stack trace from a DOMException.

API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y

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

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

9 years ago[arm][arm64] fix code for InstanceofStub
m.m.capewell@googlemail.com [Thu, 16 Oct 2014 10:38:58 +0000 (10:38 +0000)]
[arm][arm64] fix code for InstanceofStub

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

BUG=

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 10:03:14 +0000 (10:03 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 08:39:20 +0000 (08:39 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years agoWhitespace change to test the new poller.
machenbach@chromium.org [Thu, 16 Oct 2014 08:19:45 +0000 (08:19 +0000)]
Whitespace change to test the new poller.

TBR=agable@chromium.org

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

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

9 years ago[turbofan] Fix GraphC1Visualizer::PrintType().
bmeurer@chromium.org [Thu, 16 Oct 2014 06:59:39 +0000 (06:59 +0000)]
[turbofan] Fix GraphC1Visualizer::PrintType().

TBR=jarin@chromium.org

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

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

9 years agoX87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
weiliang.lin@intel.com [Thu, 16 Oct 2014 06:24:47 +0000 (06:24 +0000)]
X87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.

port r24636.

original commit message:

  Implement inline %_IsJSProxy() for full codegen and Hydrogen
  Saving a runtime call for many builtin functions.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

9 years agoRevert "Remove SmartMove, bringing Array methods further into spec compliance"
adamk@chromium.org [Wed, 15 Oct 2014 23:53:02 +0000 (23:53 +0000)]
Revert "Remove SmartMove, bringing Array methods further into spec compliance"

This reverts https://code.google.com/p/v8/source/detail?r=24647

It caused test failures in Array methods in Linux64 OptimizeForSize.

BUG=v8:2615
TBR=verwaest@chromium.org
LOG=N

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

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

9 years agoRemove SmartMove, bringing Array methods further into spec compliance
adamk@chromium.org [Wed, 15 Oct 2014 23:36:58 +0000 (23:36 +0000)]
Remove SmartMove, bringing Array methods further into spec compliance

This is one step towards a single codepath for each method in array.js.

This patch is based on rafaelw's https://codereview.chromium.org/349073002

BUG=v8:2615
LOG=Y
R=verwaest@chromium.org

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

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

9 years agoHandle exceptions thrown by Array.observe machinery
adamk@chromium.org [Wed, 15 Oct 2014 18:22:20 +0000 (18:22 +0000)]
Handle exceptions thrown by Array.observe machinery

BUG=chromium:417709
LOG=N
R=yangguo@chromium.org

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

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

9 years agoMIPS: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
balazs.kilvady@imgtec.com [Wed, 15 Oct 2014 17:14:17 +0000 (17:14 +0000)]
MIPS: Implement inline %_IsJSProxy() for full codegen and Hydrogen.

Port r24636

Original commit message:
Saving a runtime call for many builtin functions.

BUG=
R=paul.lind@imgtec.com

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

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

9 years agoFix compilation some more after r24639
jkummerow@chromium.org [Wed, 15 Oct 2014 15:04:09 +0000 (15:04 +0000)]
Fix compilation some more after r24639

Third time's a charm...

TBR=yangguo@chromium.org

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

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

9 years agoFix compilation after r24639
sigurds@chromium.org [Wed, 15 Oct 2014 14:42:32 +0000 (14:42 +0000)]
Fix compilation after r24639

TBR=yangguo@chromium.org

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

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

9 years agoFix compilation after r24639
jkummerow@chromium.org [Wed, 15 Oct 2014 14:27:26 +0000 (14:27 +0000)]
Fix compilation after r24639

TBR=yangguo@chromium.org

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

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

9 years agoFix verification of Int64Constant
rossberg@chromium.org [Wed, 15 Oct 2014 14:17:26 +0000 (14:17 +0000)]
Fix verification of Int64Constant

TBR=jarin@chromium.org
BUG=

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

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

9 years agoGive simple types to Math.Min, Math.Max, Math.Fround, Math.Clz32.
neis@chromium.org [Wed, 15 Oct 2014 14:12:20 +0000 (14:12 +0000)]
Give simple types to Math.Min, Math.Max, Math.Fround, Math.Clz32.

R=rossberg@chromium.org
BUG=

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

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

9 years agoBreak deserializer reservations into chunks that fit onto a page.
yangguo@chromium.org [Wed, 15 Oct 2014 14:04:53 +0000 (14:04 +0000)]
Break deserializer reservations into chunks that fit onto a page.

R=mvstanton@chromium.org

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

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

9 years agoConvert argument toObject() in Object.getOwnPropertyNames/Descriptors
dslomov@chromium.org [Wed, 15 Oct 2014 14:01:20 +0000 (14:01 +0000)]
Convert argument toObject() in Object.getOwnPropertyNames/Descriptors

BUG=v8:3443
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

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

9 years agoImplement inline %_IsJSProxy() for full codegen and Hydrogen
jkummerow@chromium.org [Wed, 15 Oct 2014 13:26:43 +0000 (13:26 +0000)]
Implement inline %_IsJSProxy() for full codegen and Hydrogen

Saving a runtime call for many builtin functions.

R=ishell@chromium.org

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

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

9 years agoFix bug in NodeCache::GetCachedNodes
titzer@chromium.org [Wed, 15 Oct 2014 13:07:18 +0000 (13:07 +0000)]
Fix bug in NodeCache::GetCachedNodes

TBR=dcarney@chromium.org
BUG=

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

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

9 years agoFix GetCurrentThreadId for Solaris etc..
jochen@chromium.org [Wed, 15 Oct 2014 12:38:53 +0000 (12:38 +0000)]
Fix GetCurrentThreadId for Solaris etc..

BUG=v8:3620
R=svenpanne@chromium.org
LOG=n

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

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

9 years agoWhitespace change to test new git workflow.
machenbach@chromium.org [Wed, 15 Oct 2014 12:38:38 +0000 (12:38 +0000)]
Whitespace change to test new git workflow.

TBR=agable@chromium.org

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

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

9 years agoAdd JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessa...
titzer@chromium.org [Wed, 15 Oct 2014 12:29:39 +0000 (12:29 +0000)]
Add JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessary in the dead code elimination phase to trim away uses from unreachable nodes.

R=bmeurer@chromium.org
BUG=

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

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

9 years agoOptimize Function.prototype.call
verwaest@chromium.org [Wed, 15 Oct 2014 12:22:15 +0000 (12:22 +0000)]
Optimize Function.prototype.call

BUG=
R=verwaest@chromium.org, jarin@chromium.org, jkummerow@chromium.org

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

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

9 years ago[turbofan] more verification of rpo
dcarney@chromium.org [Wed, 15 Oct 2014 12:15:38 +0000 (12:15 +0000)]
[turbofan] more verification of rpo

R=titzer@chromium.org

BUG=

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

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

9 years agoFix out-of-bounds read in SourcePositionToScriptPosition with --hydrogen-track-positions.
vegorov@chromium.org [Wed, 15 Oct 2014 12:06:41 +0000 (12:06 +0000)]
Fix out-of-bounds read in SourcePositionToScriptPosition with --hydrogen-track-positions.

We were indexing into the list of inlined functions with inlining ID, which is incorrect.

There can be multiple inlinining IDs corresponding to the same inlined function, because inlining ID is inlining path sensitive unique id for an inlining attempt.

Additionally allow HAbnormalExit to have unknown source position even if we are tracking source positions. No code is generated from abnormal exits anyways.

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

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

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

9 years agoPresubmit checks
rossberg@chromium.org [Wed, 15 Oct 2014 11:58:30 +0000 (11:58 +0000)]
Presubmit checks

TBR=rossberg@chromium.org
BUG=

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

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

9 years agoFix oversight in type change
rossberg@chromium.org [Wed, 15 Oct 2014 11:56:05 +0000 (11:56 +0000)]
Fix oversight in type change

TBR=dcarney@chromium.org
BUG=

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

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

9 years agoBetter typing and type verification
rossberg@chromium.org [Wed, 15 Oct 2014 11:38:04 +0000 (11:38 +0000)]
Better typing and type verification

- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Typer immediately installs itself as a decorator; remove explicit decorator installation.
- Decorator eagerly types all nodes that have typed inputs
  (subsumes typing of constant cache, removing its typing
  side-channel and various spurious dependencies on the typer).
- Cut down typer interface to prevent inconsistently typed graphs.
- Remove verification from start, since it caused too much trouble
  with semi-wellformed nodes.
- Fix a couple of bugs on the way that got uncovered.

To do: verifying machine operators. Also, various conditions in the
verifier are currently commented out, because they don't yet hold.

BUG=
R=jarin@chromium.org,titzer@chromium.org

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

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

9 years agoMake event logger slightly more light-weight.
yangguo@chromium.org [Wed, 15 Oct 2014 11:16:42 +0000 (11:16 +0000)]
Make event logger slightly more light-weight.

R=dcarney@chromium.org
BUG=chromium:423668
LOG=N

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

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

9 years agoUse WeakCell to handle the script wrapper cache
erikcorry@chromium.org [Wed, 15 Oct 2014 10:11:08 +0000 (10:11 +0000)]
Use WeakCell to handle the script wrapper cache

The script wrapper cache used the API weak handles to provide a weak link from Script to ScriptWrapper. We want to change the way API weakness works, and in this context it's best to get rid of users of the API that don't need to be users.

R=ulan@chromium.org
BUG=

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

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

9 years agoInitialize double values before calling rempio2.
yangguo@chromium.org [Wed, 15 Oct 2014 09:24:55 +0000 (09:24 +0000)]
Initialize double values before calling rempio2.

R=ishell@chromium.org
BUG=chromium:421981
LOG=N

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

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

9 years agoArray.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primi...
svenpanne@chromium.org [Wed, 15 Oct 2014 09:11:32 +0000 (09:11 +0000)]
Array.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primitive wrapper for calls.

When the receiver is a primitive value, it's cast to an Object before entering the loop. Instead, it should be cast to an Object for each function call while in the loop.

BUG=v8:3536
LOG=Y
R=arv@chromium.org, svenpanne@chromium.org, wingo@igalia.com

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

Patch from Diego Pino <dpino@igalia.com>.

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

9 years ago[x86] Several small performance improvements.
bmeurer@chromium.org [Wed, 15 Oct 2014 09:05:40 +0000 (09:05 +0000)]
[x86] Several small performance improvements.

- Generate

    cmp reg, 0

  instead of

    test reg, -1

  for word tests.
- Generate

    mov reg, [stack slot]
    add reg, reg
    jo label

  instead of

    mov reg, [stack slot]
    add reg, [stack slot]
    jo label

  for SMI tagging.
- Improve materialization of int32 constants on X86-64.
- Branch fusion fix for Word64And and Int64Sub on X86-64.

R=dcarney@chromium.org

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

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