Commit Graph

11609 Commits

Author SHA1 Message Date
bmeurer@chromium.org
42dc3faf9a Add support to load/store byte fields.
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

R=mvstanton@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:13:43 +00:00
bmeurer@chromium.org
5e8c902991 Revert "Add support to load/store byte fields." and "MIPS: Add support to load/store byte fields.".
This reverts commit r17079 and r17085. Will reland after fix.

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 05:47:35 +00:00
jkummerow@chromium.org
36072e610c Prepare push to trunk. Now working on version 3.22.8.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 12:13:01 +00:00
yurys@chromium.org
ce61a704e3 Debug: Allow stepping into on a given call frame.
BUG=chromium:296963
R=yangguo@chromium.org, yurys

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

Patch from Andrey Adaikin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 07:42:44 +00:00
haitao.feng@intel.com
66e53dc046 Use StackArgumenstAccessor and kPCOnStackSize/kFPOnStackSize to compute stack address/operand for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 01:22:25 +00:00
haitao.feng@intel.com
df37f91699 Use StackArgumentsAccessor for PropertyCallback and FunctionCallback for X64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-03 00:33:23 +00:00
plind44@gmail.com
3a3c8e760e MIPS: Fix test262 failures and x64 compile failure.
Port r17082 (fc909df)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:19:44 +00:00
olivf@chromium.org
24c2336d75 Inline some more compare operations.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:15:57 +00:00
verwaest@chromium.org
7f6270dbf2 Don't use StubType to probe the code caches.
There is only one stub-type in the cache at all times. By ignoring the type up-front, we can in a later phase move cache probing before even computing the type.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:23:30 +00:00
verwaest@chromium.org
2c5d0d825e Use PatchCache for call ICs.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:20:58 +00:00
verwaest@chromium.org
8feab2edc7 Cleanup map deprecation handling in the ICs
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:18:13 +00:00
verwaest@chromium.org
41f660fe07 Rename ComputeLoadStoreField to just handle ComputeStoreField.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:17:00 +00:00
plind44@gmail.com
6c8e9df239 MIPS: Add support to load/store byte fields.
Port r17079 (0885ac2)

Original commit message:
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 17:16:27 +00:00
plind44@gmail.com
1db15f849d MIPS: Improve and simplify removal of unreachable code.
Port r17073 (ba68149)

Original commit message:
- 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=mstarzinger@chromium.org, plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 16:58:37 +00:00
danno@chromium.org
79a14d3f73 Fix failure in unit tests
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 16:13:49 +00:00
danno@chromium.org
d4bcf5d730 Fix test262 failures and x64 compile failure.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 15:27:51 +00:00
hpayer@chromium.org
a6eb65983d Tweak default max heap size constants for platforms with swap.
Configure platforms with swap memory with larger heap size by default. Also
introduce an additional "bucket" between 1GB-2GBs.

BUG=None
R=hpayer@chromium.org, jkummerow@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:36:38 +00:00
bmeurer@chromium.org
81e4550796 Always use timeGetTime() for TimeTicks::Now() on Windows.
This way, we also ensure that timeGetTime() is used for Time::Now(),
and thereby Date.now() even if GetTickCount64() is available.

Also add test coverage for Time::Now(), TimeTicks::Now() and
TimeTicks::HighResNow().

BUG=chromium:288924
TEST=cctest/test-timer
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:30:31 +00:00
bmeurer@chromium.org
9492c1b540 Add support to load/store byte fields.
This adds a new Byte representation and support for zero-extended
loads in HLoadNamedField and truncated stores in HStoreNamedField.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:27:53 +00:00
verwaest@chromium.org
7e0ea6ab46 Only fold polymorphic into monomorphic load if all load from either receiver or same prototype.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 13:24:08 +00:00
danno@chromium.org
4529dd81ae Fix improper usage of V8_OVERRIDE.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 12:16:57 +00:00
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
verwaest@chromium.org
aa4eaeebee Revert "Allow code to be cached in shared maps." due to GC stress crashes.
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 16:34:37 +00:00
marja@chromium.org
9da7781258 Revert "Refactor PropertyCallbackInfo & FunctionCallbackInfo, part 3."
This reverts commit 977bfe3e9353ead1039878597590ffbd7dd5e725.

This might be responsible of the Linux Webkit test failures.

BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:33:51 +00:00
verwaest@chromium.org
fa742f84a4 Allow code to be cached in shared maps.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:28:52 +00:00
rodolph.perfetta@gmail.com
e7669d9308 ARM: Allow function inlining with context change.
BUG=none
TEST=none
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 15:08:20 +00:00
mstarzinger@chromium.org
c624141bf3 Defer allocation of native function literals.
R=dcarney@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:49:11 +00:00
marja@chromium.org
a81d7b1e7c 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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:09:51 +00:00
jochen@chromium.org
02b160f35c Remove parallel marking support.
The framework isn't used, and won't be used in the near future

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:06:43 +00:00
verwaest@chromium.org
f1fe1f95f5 Tag normal as handlers, and make code handler-specific.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:58:44 +00:00
verwaest@chromium.org
0f715540a2 Tag handlers as HANDLER rather than STUB.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:53:21 +00:00
jkummerow@chromium.org
de446c636e Prepare push to trunk. Now working on version 3.22.5.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:38:28 +00:00
haitao.feng@intel.com
1160383498 Remove unused SmiTryAddConstant from X64 macro assembler
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:36:39 +00:00
dcarney@chromium.org
6dd72b6416 change of V8_DEPRECATED to be enabled behind a gyp flag
also add a deprecation message for newer gcc versions

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 13:28:23 +00:00
jochen@chromium.org
3387afd33e Split extra checks into extra checks and handle zapping
That will make it easier to turn on handle zapping alone and experiment
with it.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:56:52 +00:00
mstarzinger@chromium.org
f03dbcff94 Function::Call and Object::CallAsFunction APIs should allow v8::Value as a receiver
Since the primitive values can be a receiver of strict mode functions in
ECMA262 5.1th, v8::Function::Call and Object::CallAsFunction should take
v8::Value as a receiver instead of v8::Object.

BUG=v8:2915
TEST=cctest/test-api
R=mstarzinger@chromium.org

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

Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:47:36 +00:00
yangguo@chromium.org
f5e783de49 Remove unnecessary mutex.
The heap leak has since been solved.

R=mstarzinger@chromium.org
BUG=291236

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:41:30 +00:00
mvstanton@chromium.org
81557f21fc Use a walking visitor to traverse JSObject structure. The purpose is to prepare for more complex context-dependent walks of the structure, needed for allocation site and pretenuring work. Different visitors can be created that annotate the object in various ways.
BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 11:36:50 +00:00
dslomov@chromium.org
ca2bcdf888 Remove ArrayBufferView::BaseAddress method.
We should not expose a raw pointer to typed array's backing store.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:31:10 +00:00
haitao.feng@intel.com
c35559ff27 Refactor register allocator a little bit
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-28 00:48:08 +00:00
plind44@gmail.com
15d56ffe6b MIPS: Improve integer multiplication.
Port r16576 (8ce78a4)

TEST=test/mjsunit/lithium/MulI.js
BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 16:16:40 +00:00
rodolph.perfetta@gmail.com
1726140330 ARM: Let the register allocator handle the context register.
BUG=none
TEST=none
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:59:28 +00:00
yangguo@chromium.org
2dec4372d8 Finish control flow after throw if not inlined.
R=jkummerow@chromium.org
BUG=v8:2868

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:48:19 +00:00
mvstanton@chromium.org
807cdd492b Refactoring such that loop builders only call into the HOsrBuilder if
compiling for OSR.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:38:04 +00:00
mvstanton@chromium.org
dbdcf5b671 Avoid using double temp register explicitly in lithium codegen
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 12:43:37 +00:00
dcarney@chromium.org
b81c581b38 make v8::Locker not use Isolate::GetCurrent()
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:32:13 +00:00
jochen@chromium.org
8d660be217 Only zapped used handles if a handle scope fits entirely within one handle block
This should avoid zapping the same unused handles over and over again
when using many small nested handle scopes.

BUG=none
R=mstarzinger@chromium.org, vegorov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 11:31:06 +00:00
hpayer@chromium.org
4c01c4040a Re-land "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime."
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.

The re-land fix the performance regression caused by accidental change in default max young space size.

BUG=292928
R=hpayer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
palfia@homejinni.com
c34af4ae6d MIPS: Fix simulator divide for overflow case.
TEST=mjsunit/div-mul-minus-one.js
BUG=
R=gergely@homejinni.com

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

Patch from Paul Lind <plind44@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:42:51 +00:00
machenbach@chromium.org
936802ae21 Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
This reverts commit r16964 and r16968 due to performance regressions in octane.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +00:00
yangguo@chromium.org
42d7071422 Disposing an OSR job should only restore the back edge state.
R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:37:18 +00:00