Commit Graph

19370 Commits

Author SHA1 Message Date
titzer@chromium.org
0c4f8bc6c4 Fix scheduler not to connect final merge block in the graph to its inputs.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 15:12:45 +00:00
dcarney@chromium.org
1c5fafe890 [turbofan] use ZonePool in most places in the compiler pipeline a temp zone is used.
R=jarin@chromium.org, bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:44:50 +00:00
titzer@chromium.org
2642058760 Fix off-by-one bug in TurboFan register allocator.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:41:54 +00:00
titzer@chromium.org
12a82ef32c Fix AstGraphBuilder for loops like for(;;).
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:17:08 +00:00
rossberg@chromium.org
077809fc67 Fix incorrect private access
(I'm puzzled why GCC did not report this error.)

TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 13:37:49 +00:00
mvstanton@chromium.org
8330178b4c The issue is that by handling strings with map/handler pairs instead of a special
version of the keyed load stub (https://code.google.com/p/v8/source/detail?r=24661),
I allowed polymorphism between string and non-string types in the IC. Before, the
IC would go generic.

Then, at crankshaft time, we special case when we only saw strings. The error
here is that crankshaft can't emit code that handles polymorphism between string
and non-string types. The choice is either to get that to happen (I don't deem
this necessary from a performance point of view, an IC with such type feedback
before would have gone generic), or simply check for the case of "polymorphic
with some string maps" and require crankshaft to go generic. I'll do the latter.

BUG=425519
LOG=N
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 13:04:51 +00:00
rossberg@chromium.org
5e1cd18d94 Fix data race with interface caching
R=bmeurer@chromium.org
BUG=421634
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:57:19 +00:00
jochen@chromium.org
2147d5a145 Use an idle notification of 0ms as hint that a GC after context disposal is triggerd
BUG=none
R=ulan@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:56:52 +00:00
dcarney@chromium.org
54fef44df3 [turbofan] add ZonePool to correctly track compiler phase memory usage
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:38:46 +00:00
bmeurer@chromium.org
1efc572fe7 [turbofan] Reduce ~~x to x.
TEST=unittests
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:24:01 +00:00
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