Commit Graph

12083 Commits

Author SHA1 Message Date
olivf@chromium.org
857178ad23 Replace custom builtin invocation instructions by a generic version
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 09:02:23 +00:00
yangguo@chromium.org
5b70a58ad2 Fix plot script.
The script for the time line plot has been broken since r15484, which
changed the format of tick entries in v8.log.

To prevent this from happening in the future, I added a test case.

R=hpayer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 07:53:27 +00:00
dslomov@chromium.org
6071894047 Revert "Unify the Count Operation assignment with other assignments."
This reverts commit r15578.

This change made mjsunit/harmony/object-observe.js flaky.

TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 07:53:16 +00:00
dslomov@chromium.org
cfa91762ac Allow parameterless typed array constructors.
ES6 spec tacitly allows them, and they are allowed in Firefox and in
WebKit/Blink.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 19:34:21 +00:00
verwaest@chromium.org
5eeed4636d Unify the Count Operation assignment with other assignments.
This does not enable inlining of setters (yet).

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/17432004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 17:08:47 +00:00
palfia@homejinni.com
b7a2c88f0f MIPS: Do not omit the write-barrier if the input value is a smi.
Port r15573 (3954d53)

Original commit message:
ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570

Review URL: https://codereview.chromium.org/18118010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 15:58:31 +00:00
palfia@homejinni.com
17e228d3dd MIPS: Implement Polymorphic Store ICs.
Port r15566 (a76585e)

Original commit message:
- Makes a common superclass for Load and Store stub compiler.
- Splits all non-normal Store ICs into handler and IC.
- Ensures monomorphic store ICs go polymorphic.
- Feeds polymorphic type feedback into count operation.

BUG=

Review URL: https://codereview.chromium.org/18595006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 15:54:43 +00:00
mvstanton@chromium.org
3f1fc1d3ab Bugfix: AllocationSite objects need to be walkable by the heap snapshot
generator.

BUG=
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 14:16:59 +00:00
yangguo@chromium.org
b99ca1ab12 Do not implicitly convert receivers for builtin functions when inspecting frames.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 13:58:11 +00:00
verwaest@chromium.org
a1dfbc4627 ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18854018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 12:31:59 +00:00
jochen@chromium.org
518ca395cc Initialize ICU data files in d8 and disable i18n for other code samples
BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 12:26:07 +00:00
rossberg@chromium.org
189c0782d3 Unrevert^2 "Derive synthetic type bounds for expressions""
Reenables https://codereview.chromium.org/17842004 (again).

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 11:48:47 +00:00
jochen@chromium.org
e369f17c0c Fix win build after r15568
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 10:20:59 +00:00
verwaest@chromium.org
125b7d0848 Add support to turn polymorphic loads from the same prototype into a monomorphic load.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18887002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 09:59:23 +00:00
jochen@chromium.org
d32de2c957 Update standalone configuration for compiling icu on windows
BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 09:55:27 +00:00
hpayer@chromium.org
42c82d5e4f Do not iterate the new space on marking deque overflow.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 08:40:34 +00:00
verwaest@chromium.org
a9fd01d567 - Makes a common superclass for Load and Store stub compiler.
- Splits all non-normal Store ICs into handler and IC.
- Ensures monomorphic store ICs go polymorphic.
- Feeds polymorphic type feedback into count operation.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14142005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 08:22:41 +00:00
jochen@chromium.org
c2b039970e Don't use the identifiers TRUE and FALSE
icu uses the same identifiers, so we can't just #undef them

BUG=v8:2745
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 07:19:51 +00:00
palfia@homejinni.com
6edaa525eb MIPS: Fix debug mode failures introduced by r15561.
The commit r15561 introduced a lot of debug mode test failures
on MIPS. This change solves these failures by making
the FP-saved version of StoreBufferOverflowStub available
at snapshot time. This stub was added to ARM by commit r14359.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-09 00:00:15 +00:00
palfia@homejinni.com
0565ca5604 MIPS: Rename AllocationSite::payload to AllocationSite::transition_info
Port r15556 (3cd37fff)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 18:00:24 +00:00
palfia@homejinni.com
82d8580215 MIPS: Bugfix: The general array constructor stub did not handle the case properly when it is called with a function pointer in the type cell, instead assuming that an AllocationSite object should be present.
Port r15555 (262c081)

Original commit message:
The case where this can happen is if the cell is uninitialized, then the
first constructor call made is to the Array function of a different
context. In that case, we'll store the function pointer in the cell,
and then go ahead and call the array constructor stub too. The bug is
fixed by checking for the AllocationSite object map. If not found, the
constructor stub goes forward with a default ElementsKind, just as in
several other cases.

A test in allocation-site-info.js was beefed up to make sure the state
chain described above is traversed.

BUG=

Review URL: https://codereview.chromium.org/18858003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 17:58:03 +00:00
palfia@homejinni.com
28d1314362 MIPS: Create AllocationSite objects, pointed to by AllocationSiteInfo.
Port r15545 (8cf04c4)

Original commit message:
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.

BUG=

Review URL: https://codereview.chromium.org/18089025
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 17:01:12 +00:00
rossberg@chromium.org
b04abd892f Fix stupidity
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:41:06 +00:00
rossberg@chromium.org
65170b3b9e Revert^2 "Derive synthetic type bounds for expressions""
Reverts https://codereview.chromium.org/17842004 (again), due to SS regression.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:38:39 +00:00
verwaest@chromium.org
b5f63ae659 Revert "Introduce a handle zapping setting, and enable it by default for release and debug" due to performance impact.
R=jochen@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18325027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:28:25 +00:00
jochen@chromium.org
ae2709f800 Fix an implicit cast from int64 to double in the i18n extension
On MSVS, this throws an error

BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:22:12 +00:00
mvstanton@chromium.org
23695eb86e Rename AllocationSite::payload to AllocationSite::transition_info
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 15:00:12 +00:00
mvstanton@chromium.org
c1e19bfc35 Bugfix: The general array constructor stub did not handle the case
properly when it is called with a function pointer in the type cell,
instead assuming that an AllocationSite object should be present. The
case where this can happen is if the cell is uninitialized, then the
first constructor call made is to the Array function of a different
context. In that case, we'll store the function pointer in the cell,
and then go ahead and call the array constructor stub too. The bug is
fixed by checking for the AllocationSite object map. If not found, the
constructor stub goes forward with a default ElementsKind, just as in
several other cases.

A test in allocation-site-info.js was beefed up to make sure the state
chain described above is traversed.

BUG=
R=hpayer@chromium.org, hpayer@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 14:41:54 +00:00
ulan@chromium.org
2c33325114 Fix estimation of released pages when collecting evacuation candidates.
Do at least two GCs in LowMemoryNotification.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18635006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 14:41:33 +00:00
jkummerow@chromium.org
ed6d2d5c44 Add a test case for Phi representations
BUG=chromium:167394
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 13:43:43 +00:00
rossberg@chromium.org
1d51b7a760 Unrevert "Derive synthetic type bounds for expressions"
Reenables https://codereview.chromium.org/17842004

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 13:19:58 +00:00
rossberg@chromium.org
2461d2a540 Add Type::cast
R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 13:07:41 +00:00
ulan@chromium.org
7ab931ee62 Fix early exit condition for LowMemoryNotification.
When computing next_gc_likely_to_collect_more do not take into account already
free nodes in PostGarbageCollectionProcessing.

This reduces the number of full GC in LowMemoryNotification from 7 to ~2.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/18834002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:51:34 +00:00
machenbach@chromium.org
8f72d99ab1 Widen existing blink test expectations for Windows debug.
All three tests have existing timing issues on the blink waterfall and receive a timeout on the V8 waterfall in Windows debug.

See http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:33:25 +00:00
jochen@chromium.org
ab5addd86d Introduce a handle zapping setting, and enable it by default for release and debug
The checks are split out from "extra checks" which are too expensive to
turn on by default.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:29:55 +00:00
jochen@chromium.org
8544d67b44 Collect garbage at the beginning of cctest/test-cpu-profiler/FunctionCallSample
That way, we don't end up collecting all samples in the garbage
collector when the i18n extension is loaded.

BUG=v8:2745
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:26:15 +00:00
jkummerow@chromium.org
f0811f4e6f Fix and cleanup can_be_minus_zero computation
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:15:24 +00:00
mvstanton@chromium.org
67d9051bcd Create AllocationSite objects, pointed to by AllocationSiteInfo.
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 10:02:16 +00:00
yangguo@chromium.org
c1c10b452f Remove bogus assertion in parallel recompilation.
Functions that are optimized by the parallel thread and ready for installing
are not necessarily marked as in-recompilation-queue. For example, OSR could
have replaced the code by optimized code.

R=hpayer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:29:49 +00:00
mvstanton@chromium.org
faaa90d13c Allocation-site-info test, removed TODOs.
Some code was commented out earlier as a todo. Now the code can be reenabled,
because allocation site feedback is working there again.

BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:11:56 +00:00
mstarzinger@chromium.org
61ac770449 Make test-heap/TestInternalWeakLists pass with the i18n extension loaded
R=mstarzinger@chromium.org
BUG=v8:2745

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:07:57 +00:00
bmeurer@chromium.org
47df386841 Turn the representation changes into a proper HPhase.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:02:09 +00:00
mvstanton@chromium.org
eea586f2a1 Calls to HCheckFunction can be eliminated if the value is an HConstant
function, and that function handle matches the target handle.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:00:59 +00:00
bmeurer@chromium.org
99f171a128 Turn redundant bounds checks elimination into a proper HPhase.
R=dslomov@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:36:28 +00:00
mstarzinger@chromium.org
a634b527fb Prepare push to trunk. Now working on version 3.20.4.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:35:11 +00:00
bmeurer@chromium.org
b899185790 Turn infer types into proper HPhase.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:33:03 +00:00
machenbach@chromium.org
78b429abb9 Sync test expectations with blink expectation file.
Remove some expectations from our blacklist, because they are  part of blink's expectations now:

http://src.chromium.org/viewvc/blink?view=revision&revision=153636

Blink revision 153636 is now included in DEPS revision 153656.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:24:11 +00:00
bmeurer@chromium.org
e5b69658e4 Turn redundant phi elimination into proper HPhase.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:18:29 +00:00
hpayer@chromium.org
6c4594b7cd Refactor MacroAssembler::Allocate a little bit for X64
R=hpayer@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:10:12 +00:00
bmeurer@chromium.org
5fd94c9ba1 Turn stack check elimination into proper HPhase.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 07:03:57 +00:00