Commit Graph

13365 Commits

Author SHA1 Message Date
olivf@chromium.org
66c610398f Reland "Hydrogenisation of binops"
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 08:17:11 +00:00
ulan@chromium.org
f1dfb9072e Disable weak embedded objects in optimized code because of failing test.
BUG=test/mjsunit/json.js fails
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:50:36 +00:00
ulan@chromium.org
52c421956a Make objects embedded in optimized code weak.
This introduces a global weak hash table that maps objects embedded in
optimized code to dependent code lists. Using this table we can deoptimize
optimized code whenever a weak object embedded in the code dies.

BUG=v8:2073
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:25:24 +00:00
bmeurer@chromium.org
a9d8970bf6 Fix SmiMove unit test.
TEST=cctest/test-macro-assembler-x64.cc
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 07:21:31 +00:00
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
adamk@chromium.org
e5f2d0f7bd Avoid allocations in Object.observe access check tests
BUG=v8:2907
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 18:06:20 +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