Commit Graph

19271 Commits

Author SHA1 Message Date
marja@chromium.org
394af55a8c 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
2014-10-20 09:23:43 +00:00
bmeurer@chromium.org
7cfd0ed4d6 [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
2014-10-20 09:01:14 +00:00
yangguo@chromium.org
8cc5d418ee 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
2014-10-20 08:46:11 +00:00
svenpanne@chromium.org
8325bfbfbf 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
2014-10-20 08:40:46 +00:00
sigurds@chromium.org
3efb7bb15a Fix Win64 size_t/int conversion after b3f2277ea4.
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
2014-10-20 08:16:26 +00:00
sigurds@chromium.org
bc475b4a6b 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
2014-10-20 07:56:50 +00:00
dcarney@chromium.org
d7e0820a69 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
2014-10-20 07:43:56 +00:00
dcarney@chromium.org
b3f2277ea4 [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
2014-10-20 07:32:01 +00:00
bmeurer@chromium.org
d029d76120 [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
2014-10-20 06:25:41 +00:00
bmeurer@chromium.org
a58000d11e 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
2014-10-20 04:16:06 +00:00
weiliang.lin@intel.com
d367c25c85 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
2014-10-20 04:12:53 +00:00
weiliang.lin@intel.com
66febc0aa0 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
2014-10-20 04:06:06 +00:00
bmeurer@chromium.org
c5daf9c3b8 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
2014-10-20 03:52:10 +00:00
weiliang.lin@intel.com
48a7db0609 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
2014-10-20 02:00:50 +00:00
weiliang.lin@intel.com
4b7c0c05c5 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
2014-10-20 01:58:46 +00:00
adamk@chromium.org
9d4b3d278c 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
2014-10-17 20:27:24 +00:00
akos.palfi@imgtec.com
89ceacaed4 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
2014-10-17 20:17:01 +00:00
adamk@chromium.org
730c3fa3e0 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
2014-10-17 20:11:47 +00:00
dslomov@chromium.org
e3ad693020 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
2014-10-17 16:33:38 +00:00
mvstanton@chromium.org
2dfefb42eb 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
2014-10-17 16:23:31 +00:00
jkummerow@chromium.org
77d8b4b9d0 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
2014-10-17 15:50:05 +00:00
jkummerow@chromium.org
c186399e5f 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
2014-10-17 15:44:02 +00:00
yangguo@chromium.org
f1d808fa95 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
2014-10-17 14:46:05 +00:00
dcarney@chromium.org
1d31e89c6b 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
2014-10-17 14:28:00 +00:00
yangguo@chromium.org
83ddaa0df7 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
2014-10-17 14:11:01 +00:00
dslomov@chromium.org
e149f81eba 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
2014-10-17 13:19:45 +00:00
dslomov@chromium.org
8854589c79 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
2014-10-17 13:01:54 +00:00
titzer@chromium.org
e4c6f9488e 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
2014-10-17 11:51:57 +00:00
neis@chromium.org
7f7354f3fd 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
2014-10-17 11:46:06 +00:00
dslomov@chromium.org
3154c4a5f2 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
2014-10-17 11:40:40 +00:00
balazs.kilvady@imgtec.com
15e018db2d 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
2014-10-17 11:30:13 +00:00
titzer@chromium.org
8c5f9b6bb0 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
2014-10-17 11:26:26 +00:00
yangguo@chromium.org
66170eaa52 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
2014-10-17 10:22:47 +00:00
yangguo@chromium.org
d913faaf6d 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
2014-10-17 10:01:38 +00:00
yangguo@chromium.org
f0e3ae8e24 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
2014-10-17 09:54:48 +00:00
bmeurer@chromium.org
a779150260 [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
2014-10-17 09:35:45 +00:00
dslomov@chromium.org
2c6b3f5b81 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
2014-10-17 09:26:55 +00:00
dslomov@chromium.org
d4cbcfce6e 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
2014-10-17 09:16:03 +00:00
dslomov@chromium.org
27b1c823ce 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
2014-10-17 09:11:21 +00:00
dslomov@chromium.org
7cf9d1c807 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
2014-10-17 09:04:58 +00:00
bmeurer@chromium.org
23da1cebec [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
2014-10-17 07:35:38 +00:00
bmeurer@chromium.org
6353ff20ed 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
2014-10-17 07:12:30 +00:00
bmeurer@chromium.org
fe6656fbfe [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
2014-10-17 07:07:54 +00:00
bmeurer@chromium.org
e918a842c9 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
2014-10-17 06:59:02 +00:00
bmeurer@chromium.org
c987974dcc 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
2014-10-17 06:58:20 +00:00
dslomov@chromium.org
5c3831b421 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
2014-10-17 06:58:08 +00:00
weiliang.lin@intel.com
d8ae78539f 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
2014-10-17 05:23:14 +00:00
bmeurer@chromium.org
0854ee289b [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
2014-10-17 04:18:38 +00:00
bmeurer@chromium.org
bacde72e20 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
2014-10-17 04:03:15 +00:00
haraken@chromium.org
f3bfd04bcf 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
2014-10-17 00:46:18 +00:00