Commit Graph

19360 Commits

Author SHA1 Message Date
wingo@igalia.com
4eddbacabf Assign bailout and type feedback IDs in a post-pass
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.

This is a re-land of https://codereview.chromium.org/636403003/ with a
fix for the arm64 code generator.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:16:37 +00:00
dslomov@chromium.org
b830c2741c Handle property name "-0" correctly for typed arrays.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:54:10 +00:00
verwaest@chromium.org
37b7dde54d Remove unused IsDirty
BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:21:54 +00:00
dusan.milosavljevic@imgtec.com
0ffa82c3ac Handle NaN value storing in Uint8Clamped typed arrays.
TEST=mjsunit/external-array
BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:10:13 +00:00
dslomov@chromium.org
ac8b70cf2b Perf tests for harmony string functions.
R=yangguo@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:05:32 +00:00
bmeurer@chromium.org
423201ea06 [x86] Select better left operand for comparisons.
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:59:55 +00:00
yangguo@chromium.org
018e3979ee Fix leak in d8.
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:59:41 +00:00
svenpanne@chromium.org
d66d302b00 Revert "Assign bailout and type feedback IDs in a post-pass"
This reverts r24757, which breaks the ARM64 simulator build.
Simple repro:

   out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:55:12 +00:00
verwaest@chromium.org
ce9f799d39 Remove unused GetConstructor
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:51:02 +00:00
yurys@chromium.org
0ff4752837 Fix use-of-uninitialized-value introduced in r24700
LOG=N
BUG=chromium:425146
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:40:14 +00:00
ulan@chromium.org
67aa5fbfcb Fix Win64 after r24758.
BUG=
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:33:57 +00:00
ulan@chromium.org
e777fc4126 Use smi zero instead of undefine_value to zap dead weak cells.
It is faster to test for smi zero from generated code.

BUG=
R=erikcorry@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 09:42:16 +00:00
svenpanne@chromium.org
2b8d734037 Assign bailout and type feedback IDs in a post-pass
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.

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

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

Patch from Andy Wingo <wingo@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:52:32 +00:00
weiliang.lin@intel.com
1306839894 X87: vector-based ICs did not update type feedback counts correctly.
port r24732.

original commit message:

  vector-based ICs did not update type feedback counts correctly.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:28:00 +00:00
svenpanne@chromium.org
3de17c6950 Remove v8stdint.h, it doesn't serve a purpose anymore.
Basically a follow-up to https://codereview.chromium.org/667573005/.

LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:25:14 +00:00
dcarney@chromium.org
38ce3a03cb fix ia32 after r24753
TBR=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 07:12:18 +00:00
dcarney@chromium.org
6c1e4f08d1 [turbofan] cleanup InstructionSequence
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 06:59:50 +00:00
yangguo@chromium.org
e17e2afb78 d8: create compile cache in a separate isolate.
R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 06:40:15 +00:00
bmeurer@chromium.org
78f4212ed4 Visual Studio provides stdint.h these days.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 04:55:49 +00:00
balazs.kilvady@imgtec.com
a1ba9fb06f MIPS64: vector-based ICs did not update type feedback counts correctly.
Port r24732 (83e975b)

BUG=v8:3605
LOG=N
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 17:59:59 +00:00
mvstanton@chromium.org
8a54a9a4f0 Fix gc mole test failure.
TBR=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 17:32:06 +00:00
yangguo@chromium.org
299ed092ad Remove deprecated Ascii-related identifiers from include/v8.h
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 15:07:27 +00:00
dslomov@chromium.org
6ae42d9171 Simplify language feature management.
R=rossberg@chromium.org
BUG=v8:3640
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 13:33:34 +00:00
bmeurer@chromium.org
55bdf90f60 Drop obsolete misc-intrinsics.h file.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:37:48 +00:00
verwaest@chromium.org
4b5ca4f396 Remove dead GeneralizeFieldRepresentation
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:32:23 +00:00
rossberg@chromium.org
d7b5cd0817 Upgrade test262-es6
R=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:17:12 +00:00
yangguo@chromium.org
7ebe9d820a Remove fuzz-natives tests.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:14:26 +00:00
ulan@chromium.org
465d643a9d Annotate PromotionQueue::RelocateQueueHead for MemorySanitizer.
BUG=chromium:416875
LOG=N
R=earthdok@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:12:51 +00:00
jochen@chromium.org
04bcca84f1 Read object pointer atomically while updating slots
BUG=425003
R=ulan@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:12:09 +00:00
yangguo@chromium.org
b1d4bf4158 Move some Runtime:: functions and remove runtime.h as include when unnecessary.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:07:45 +00:00
bmeurer@chromium.org
010f089971 Remove (untested) code for unsupported compilers.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:04:22 +00:00
machenbach@chromium.org
1c3a3407c7 Whitespace change to test new git workflow.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:53:21 +00:00
mvstanton@chromium.org
c688ebd858 vector-based ICs did not update type feedback counts correctly.
BUG=v8:3605
LOG=N
R=jkummerow@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:42:56 +00:00
mikhail.naganov@gmail.com
8695070de6 Add README.md file
Add basic info. This file is automatically displayed on GitHub, and is
kind of de-facto standard for project documentation.

BUG=chromium:415466
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:37:06 +00:00
bmeurer@chromium.org
778b0926ea platform: fix build on SmartOS
With -std=g++0x, `signbit` is no longer a define, and is an actual
function declared in C++-specific headers. Thus checking it's presence
with ifdef will no longer work.

Considering that g++0x implies newer compiler, there should not be the
case where it won't be present anymore.

BUG=
R=bmeurer@chromium.org, danno

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:27:39 +00:00
bmeurer@chromium.org
cc60a45d78 [turbofan] Move node matchers to separate file.
TEST=unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:26:23 +00:00
dcarney@chromium.org
32161089da [turbofan] pass zone to InstructionSequence
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:18:07 +00:00
dcarney@chromium.org
e82b3c7646 [turbofan] fix build after r24726
TBR=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 10:57:37 +00:00
dcarney@chromium.org
4e191e782e [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
2014-10-20 10:19:15 +00:00
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