Commit Graph

13339 Commits

Author SHA1 Message Date
haitao.feng@intel.com
7fc8679c4e Tweak SmiAdd for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:46:01 +00:00
danno@chromium.org
908a7dc2a8 Improve and simplify removal of unreachable code
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.

BUG=chromium:258519
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:43:41 +00:00
olivf@chromium.org
60c92b9b9a Add flag for printing the time it took to deserialize the snapshot.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:32:19 +00:00
olivf@chromium.org
f454b45d6d Add a flag to print the time it takes to compile HydrogenCodeStubs.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:27:37 +00:00
palfia@homejinni.com
4b9a9f7af7 MIPS: Allow function inlining with context change.
Port r17019 (cd4b69cd)

BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:25:06 +00:00
hpayer@chromium.org
9d732d6594 Print out how many AllocationMementos were found during mark-sweep.
Moreover use the right memory boundary for AllocationMemento lookup during gc.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:04:54 +00:00
yangguo@chromium.org
72f93382bc Correctly handlify CopyContextLocalsToScopeObject.
Handlified functions that expect allocation must be static, i.e. not allow to
use 'this', since 'this' is not relocated by potential GC.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 10:51:10 +00:00
jkummerow@chromium.org
be8f8cebb9 Prepare push to trunk. Now working on version 3.22.7.
TBR=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 09:54:36 +00:00
jkummerow@chromium.org
a4b00f3735 Revert "lazy instantiation of the default isolate" and "build fix for 17049".
This reverts r17049 and r17060.

TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 09:01:40 +00:00
jkummerow@chromium.org
f5890e0234 Cancel push to trunk. Working on version 3.22.6 again.
TBR=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:54:25 +00:00
yangguo@chromium.org
e922c7f8e4 Fix compile error.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:40:15 +00:00
jkummerow@chromium.org
1d58325e48 Prepare push to trunk. Now working on version 3.22.7.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:32:04 +00:00
yangguo@chromium.org
edef79811a Handlify Runtime_GetPrototype and Runtime_GetOwnProperty.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:29:34 +00:00
mstarzinger@chromium.org
3ee9b84609 Remove deprecated JSObject::GetLocalPropertyType method.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 08:27:33 +00:00
dcarney@chromium.org
60db8fd14d build fix for 17049
instantiate default isolate on v8::Isolate::GetCurrent()

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 07:55:52 +00:00
palfia@homejinni.com
80b0ec5728 MIPS: Let the register allocator handle the context register.
Port r16993 (afba553d)

BUG=
R=plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 21:01:25 +00:00
plind44@gmail.com
b0d92814f3 MIPS: Tweak LoadKeyed.
Port r17042 (9ade336)

Original commit message:
Avoid corrupting its input.

BUG=none
TEST=none
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 19:32:20 +00:00
plind44@gmail.com
e98e7c9f41 MIPS: Lazily save double registers for HCallRuntime instructions within Hydrogen code stubs.
Port r17044 (94843cc)

Original commit message:
Right now we eagerly save all allocatable double registers upon
entry to every Hydrogen code stub that uses HCallRuntime, and
restore them when we return. Since the HCallRuntime is on the
fallback path for code stubs, this is both a waste of time and
stack space in almost every case.

This patch adds a flag to the HCallRuntime, which controls whether
the instruction saves the double register itself (using the save
doubles flag for the CEntryStub), or whether its up the surrounding
code to handle the clobbering of double registers.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 19:03:47 +00:00
plind44@gmail.com
05c62c2e98 MIPS: Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3.
Port r17032 (3bdce1d)

Original commit message:
This CL starts using positive array indices instead of negative array indices
for the PropertyCallbackInfo and FunctionCallbackInfo fields. Also, the indices
match now, so they can be unified in the next step.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 18:54:08 +00:00
olivf@chromium.org
9459ed3ab4 Revert "Hydrogenisation of binops"
This reverts r17052-17054 for various build breaks.

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 18:00:02 +00:00
olivf@chromium.org
cee81cf0b7 Remove incorrect assertion.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 16:57:39 +00:00
olivf@chromium.org
8e1bfbf3f6 Bump old pointer space size.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 16:11:41 +00:00
olivf@chromium.org
7873f35eb2 Hydrogenisation of binops
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 15:24:56 +00:00
mstarzinger@chromium.org
30a6e21881 Turn Heap::AllowedToBeMigrated checks into asserts.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 15:06:59 +00:00
mstarzinger@chromium.org
41a6b705f6 Remove obsolete AssertNoContextChangeWithHandleScope.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 14:53:45 +00:00
dcarney@chromium.org
3d92dc270e lazy instantiation of the default isolate
this cl also moves all accesses to the default isolate behind EnsureDefaultIsolate

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 14:26:53 +00:00
mstarzinger@chromium.org
d67ffdaa52 Handlify JSObject::LookupAccessor method.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 14:26:15 +00:00
yurys@chromium.org
b3c440f8da Fix threading problems in test-api when running on simulator
Sampler can retrieve current simulator for profiled isolate from its ThreadLocalTop without calls to Isolate::FindPerThreadDataForThread which sometimes leads to acquring same mutex second time.

BUG=v8:2874
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 13:54:53 +00:00
verwaest@chromium.org
54b3745503 Encapsulate extra_ic_state in CallICs.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 13:17:04 +00:00
verwaest@chromium.org
d4cbf02afc Allow code to be cached in shared maps.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 13:13:39 +00:00
bmeurer@chromium.org
f1c28e77ff Lazily save double registers for HCallRuntime instructions within Hydrogen code stubs.
Right now we eagerly save all allocatable double registers upon
entry to every Hydrogen code stub that uses HCallRuntime, and
restore them when we return. Since the HCallRuntime is on the
fallback path for code stubs, this is both a waste of time and
stack space in almost every case.

This patch adds a flag to the HCallRuntime, which controls whether
the instruction saves the double register itself (using the save
doubles flag for the CEntryStub), or whether its up the surrounding
code to handle the clobbering of double registers.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 11:56:42 +00:00
haitao.feng@intel.com
104cc30655 Refactor translation opcode a little in the deoptimization
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 11:18:30 +00:00
rodolph.perfetta@gmail.com
c817008da7 ARM: Tweak LoadKeyed.
Avoid corrupting its input.

BUG=none
TEST=none
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 10:44:00 +00:00
dcarney@chromium.org
7fae9959e9 remove Isolate::Current from ScriptData and Script
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:56:04 +00:00
verwaest@chromium.org
ff210017b7 Move TryRemoveInvalidPrototypeDependentStub onto the IC class.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:55:15 +00:00
verwaest@chromium.org
122b208173 Encapsulate IC::State into the IC.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:52:24 +00:00
mstarzinger@chromium.org
b9b528e030 Defer allocation of native function literals.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:37 +00:00
verwaest@chromium.org
b38b81bbfe Always cache the original target in a handle on the IC.
This requires us to always open a handle-scope in the miss handlers.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:47:18 +00:00
verwaest@chromium.org
14422a698f Cleanup in IC patching.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:44:35 +00:00
verwaest@chromium.org
1324c94712 Make strict_mode a flag on StoreIC.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:36:34 +00:00
verwaest@chromium.org
63b584474f Reduce code duplication in IC updating.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:30:07 +00:00
mstarzinger@chromium.org
191bcf20cc Limit entry points into the parser API.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:27:03 +00:00
marja@chromium.org
b267a955d8 Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3.
This CL starts using positive array indices instead of negative array indices
for the PropertyCallbackInfo and FunctionCallbackInfo fields. Also, the indices
match now, so they can be unified in the next step.

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 09:24:13 +00:00
yangguo@chromium.org
ad304ecf07 Initialize flag before usage.
This fixes a crash when running with --concurrent-osr.

R=ulan@chromium.org, dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:40:33 +00:00
mvstanton@chromium.org
aa90e62ba0 In crankshafted code, we were creating allocation mementos for shallow
SMI array literals when we shouldn't. The idea is that we should have learned
by this point what type of array we'll end up with.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:22:01 +00:00
mvstanton@chromium.org
208890d118 Print out how many AllocationMementos were found on a scavenge of new
space. This is useful because the unrooted mementos affect heap
decisions like pretenuring mode, and helps to gauge the effectiveness
of allocation-site feedback.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:14:38 +00:00
jkummerow@chromium.org
8b8a9bc30c Prepare push to trunk. Now working on version 3.22.6.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 08:09:05 +00:00
yangguo@chromium.org
62e4d0671d Fixed debuggersupport=off build after r16521
BUG=
R=yangguo@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-01 07:53:37 +00:00
jkummerow@chromium.org
85ae341b09 Revert "Defer allocation of native function literals."
This reverts r17017 for breaking LayoutTests.

R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 17:42:58 +00:00
jkummerow@chromium.org
3f461303bd Disable externalization of sliced/cons strings in old pointer space.
This is a temporary workaround for the fact that a good deal of the code that triggers access checks, which in turn externalize strings, is not yet handlified and therefore not GC safe.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 16:42:19 +00:00