Commit Graph

14534 Commits

Author SHA1 Message Date
ulan@chromium.org
2638dca48f Make cells pointing to JSObjects weak in optimized code.
This is done similar to weak embedded objects in optimized code (r17102). The
reference from optimized code to a cell is treated weakly in marking visitors
if the cell points to a JSObject. After marking we iterate over all cells
embedded in optimized code. If a cell is not marked but its value is marked,
then we revive the cell by marking it. Otherwise, the cell value is dead, so
we mark the code for deoptimization.

BUG=v8:2073
TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak
LOG=Y
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 11:42:19 +00:00
machenbach@chromium.org
4e65785732 Prepare push to trunk. Now working on version 3.24.17.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 10:29:29 +00:00
jkummerow@chromium.org
5298a078c6 Revert "Eliminatable CheckMaps replaced with if(true) or if(false)."
This reverts r18592 for breaking the GC stress bots.

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 09:53:54 +00:00
machenbach@chromium.org
4398efe84d Reland "Remove flags argument from EmitCallWithStub" and "MIPS: Remove flags argument from EmitCallWithStub.""
This reverts commit r18606 since suspected problems still remained.

BUG=
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 09:05:21 +00:00
machenbach@chromium.org
b0d92e0c3a Revert "Remove flags argument from EmitCallWithStub" and "MIPS: Remove flags argument from EmitCallWithStub."
This reverts commits r18598 and r18604 for breaking GC stress.

BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 08:12:39 +00:00
machenbach@chromium.org
c598b0c059 [Sheriff] Mark cpu profiler test as flaky on arm.
BUG=v8:2999
TBR=jkummerow@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 08:06:02 +00:00
plind44@gmail.com
4900e8ddb7 MIPS: Remove flags argument from EmitCallWithStub.
Port r18598 (606541b7).

BUG=
R=gergely@homejinni.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 20:02:01 +00:00
plind44@gmail.com
de627a69f8 MIPS: Remove HCallGlobal and merge uses with HCallNamed.
Port r18595 (957a383)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 19:38:12 +00:00
machenbach@chromium.org
5b2b13fc30 [Sheriff] Mark cpu profiler test as flaky on windows.
This is fails constantly on windows since the XP->Win7 bot upgrade.

BUG=v8:3055
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 19:26:39 +00:00
plind44@gmail.com
bcb67153cb MIPS: Get rid of ContextualMode for call ICs.
Port r18594 (91e7cee)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 18:33:36 +00:00
plind44@gmail.com
3f2e6ce119 MIPS: Fix loading the global receiver.
Port r18593 (2162d45)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 18:26:31 +00:00
plind44@gmail.com
a45f50a113 MIPS: Remove CALL_AS_FUNCTION and CALL_AS_METHOD.
Port r18590 (566a7fd)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 18:17:24 +00:00
verwaest@chromium.org
ca9ee7b53b Remove flags argument from EmitCallWithStub
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 17:31:31 +00:00
ishell@chromium.org
6b389902e1 Revert "Polymorphic named calls optimized for the case of repetitive call targets." for now because it prevents better results for checkmap elimination.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:37:09 +00:00
plind44@gmail.com
975141b2e0 MIPS: Make the strict-mode calling convention for contextual calls the default one.
Port r18581 (e5df8ae)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:26:11 +00:00
verwaest@chromium.org
72125bafcc Remove HCallGlobal and merge uses with HCallNamed.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:15:52 +00:00
verwaest@chromium.org
53f46c5214 Get rid of ContextualMode for call ICs.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:15:05 +00:00
verwaest@chromium.org
cfcb201367 Fix loading the global receiver on ARM.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:13:18 +00:00
ishell@chromium.org
952fbe475f Eliminatable CheckMaps replaced with if(true) or if(false).
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:06:40 +00:00
mstarzinger@chromium.org
4d338985b9 Closed generator returns a completed object instead of throwing a error
From ES6 rev20 draft, closed generator returns completed object (the
value is `undefined` and done is `true`).
Since a error thrown in generator is propagated to the caller without
setting status of a thrown generator to "completed", once a generator is
suspended by a error, status becomes "executing" forever. This is filed
as v8:3096

LOG=N
BUG=v8:3097
R=mstarzinger@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 15:19:34 +00:00
verwaest@chromium.org
1257ba358c Remove CALL_AS_FUNCTION and CALL_AS_METHOD.
BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 14:36:24 +00:00
mstarzinger@chromium.org
f5d050bcea Annotate mapped memory regions for LeakSanitizer.
Add in-code annotations for LeakSanitizer to treat any memory allocated through
the VirtualMemory class as a source of live pointers. This change eliminates
false positive leak reports when running Chromium under LSan.

BUG=chromium:328552
R=mstarzinger@chromium.org
LOG=Y

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

Patch from Sergey Matveev <earthdok@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 14:00:29 +00:00
jkummerow@chromium.org
be4c1bdac2 Fix test after r18586
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 14:00:10 +00:00
jkummerow@chromium.org
644fab247b Delete useless --loop-weight flag
killing a static variable in the process.

BUG=chromium:333871
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 13:45:43 +00:00
jkummerow@chromium.org
1ed94acf0c Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance
because it must not cause lazy deopts because it is called from deferred code that cannot handle lazy deopts.

Hat tip to Ben for doing most of the debugging work, and to Toon for writing the regression test.

BUG=chromium:315252
LOG=Y
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 13:41:09 +00:00
bmeurer@chromium.org
1ab6727b5d Fix typo in ARM macro assembler Pop() method.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 12:47:17 +00:00
verwaest@chromium.org
f2245a9cf9 Make the strict-mode calling convention for contextual calls the default one.
BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 12:04:10 +00:00
machenbach@chromium.org
c30421677d Fix tree check for push-to-trunk.
This is a work-around simulating a --bypass-tree-check.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 11:49:09 +00:00
bmeurer@chromium.org
be986094a3 Use std:: on symbols declared in C++-style C headers.
Some libraries (e.g. Dinkumware) perform strict checks on whether
the symbols defined in classic C library headers (e.g. <stdio.h>),
or in C++-style C library headers (e.g. <cmath>) are used correctly
(respectively, in the global namespace, or in namespace std).

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 09:57:05 +00:00
svenpanne@chromium.org
111e604e72 Various API-related simplifications.
* Simplified default fatal error handler.

   * Simplified Context::Exit and friends.

   * Inline API_ENTRY_CHECK.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 09:37:45 +00:00
machenbach@chromium.org
ffc12aa7f0 Prepare push to trunk. Now working on version 3.24.16.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 08:13:06 +00:00
machenbach@chromium.org
b3819223ea [Sheriff] Disable allocation site pretenuring due to a failing nosnap test.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 07:59:09 +00:00
hpayer@chromium.org
dcf7f73ec0 Enable allocation site pretenuring.
Disable elements-kind.js unit test temporarily on gc stress builders.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 17:11:36 +00:00
hpayer@chromium.org
f01dc250dc Handlify AllocationSite AddDependentCompilationInfo.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 14:54:33 +00:00
svenpanne@chromium.org
a5535f58f9 Demystified floating point ABI function names.
This unifies the names used for floating point ABI abstraction across
ARM and MIPS and makes them more comprehensible. Note that in the
underlying implementation, ARM doesn't care about the argument/result
distinction, while MIPS does, but we want to abstract from that, too.

Nuked an unused related function on the way.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 13:25:38 +00:00
bmeurer@chromium.org
53e29e5f19 Inline AllocationMemento::FindForHeapObject() into the two call sites.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 13:11:46 +00:00
dslomov@chromium.org
da52e9106e Use unsigned integer arithmetic in Zone::NewExpand.
BUG=328202
R=jkummerow@chromium.org
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 13:00:09 +00:00
jochen@chromium.org
38cde85729 Introduce an API mirroring the gc extension
BUG=none
R=mstarzinger@chromium.org, svenpanne@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 12:03:31 +00:00
marja@chromium.org
e9c8de04da Fix r18556; tests were missing handlescopes.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 11:15:06 +00:00
vegorov@chromium.org
1d4c0532d7 Introduce kGCCallbackForced flag.
This flag will be passed to GC prologue/epilogue callbacks if GC was forced through GC extension.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:57:49 +00:00
marja@chromium.org
21f1ca5850 Remove ScriptData::PreCompile which takes const char*.
The version taking a Handle should be used instead.

It's not used by Chromium and complicates the ongoing lexer work.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:51:40 +00:00
mvstanton@chromium.org
854d085996 More efficient use of space in AllocationSite.
We can eliminate one word from the object by sharing the pretenuring decision and the found memento count.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:28:01 +00:00
svenpanne@chromium.org
ad605de2b5 Various ApiCheck-related cleanups.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 09:42:23 +00:00
ishell@chromium.org
5c65572dd2 "dead" and "osr" block flags added to trace output for unreachable and osr entry blocks respectively.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 08:45:26 +00:00
machenbach@chromium.org
eb8056f285 [Sheriff] Revert "Turn on allocation site pretenuring."
This reverts commit r18547 for breaking the GC stress builders.

BUG=
TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 08:15:56 +00:00
jarin@chromium.org
c0f622a45b Fix of Hydrogen environment building for function "apply" calls.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-11 13:59:04 +00:00
hpayer@chromium.org
85b6164ef7 Turn on allocation site pretenuring.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 20:31:03 +00:00
rossberg@chromium.org
e232d6a691 [Sheriff] Revert "Turn on allocation site pretenuring."
This reverts commit d57b17889a300d0978f8ed104d1274c9838904a6.

TBR=mvstanton@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 15:35:19 +00:00
rossberg@chromium.org
99359d389c Revert "Implement zone-allocated types"
This reverts commit 4308974b16d1ee67d9f64d797c5ea64ffaab51df.

TBR=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 15:33:37 +00:00
machenbach@chromium.org
fe69172e4b Revert "Add debug output to presubmit script for investigating tree check behavior." and "Add more temporary debugging output to PRESUBMIT.py".
This reverts commits r18538 and r18528, since the investigated problem was found.

BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 15:17:49 +00:00