hpayer@chromium.org [Wed, 22 Jan 2014 12:59:25 +0000 (12:59 +0000)]
Increase the number of allocations in OptimizedPretenuringdoubleArrayLiterals test to make sure that pretenuring decisions are not flaky on the tests bots.
BUG=
Review URL: https://codereview.chromium.org/
129783006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18746
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 22 Jan 2014 12:30:00 +0000 (12:30 +0000)]
Refactor fast path for empty constant strings in BinaryOp.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
143003005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18742
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 22 Jan 2014 12:15:57 +0000 (12:15 +0000)]
ES6: Implement Object.setPrototypeOf
This reverts commit
bdc89ae76c15f3ef2626f8849744500248aec3ba.
This is a revert of the revert with test/webkit updated as needed.
Original CL Description:
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof
This just exposes the internal %SetPrototype and adds all the required
type checks as specified.
BUG=v8:2675
LOG=Y
R=dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
144193005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18739
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 22 Jan 2014 12:07:14 +0000 (12:07 +0000)]
Remove globale pretenuring mode from runtime.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
132003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18738
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 22 Jan 2014 11:54:51 +0000 (11:54 +0000)]
Fixed floor-of-div optimization.
We removed an HDiv by hand which was still used by an HChange. The
solution is letting dead code removal do the cleanup.
Removed a fragile "optimization" (looking through an HChange), too,
this obviously never triggered and is hard to get right given all our
global invariants and state/type/... changes.
The repro is a bit tricky, because you need inlining to make our
representations and types disagree in this case.
LOG=y
BUG=334708
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
143903016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18737
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 22 Jan 2014 10:50:37 +0000 (10:50 +0000)]
Prepare push to trunk. Now working on version 3.24.22.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
144023007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18732
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 22 Jan 2014 10:41:23 +0000 (10:41 +0000)]
Revert "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."
This reverts commit r18709, due to deopt fuzzer issue.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
143983010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18731
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 22 Jan 2014 09:14:44 +0000 (09:14 +0000)]
Disable concurrent sweeping, pending investigation of failures.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
141653013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18728
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 22 Jan 2014 08:46:39 +0000 (08:46 +0000)]
ResetAllAllocationSitesDependentCode is not changing dependent code, assert removed.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
138163014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18727
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 21 Jan 2014 22:31:31 +0000 (22:31 +0000)]
MIPS: Zonify types in compiler frontend
Port r18719 (
13303b7a)
Original commit message:
Clean up some zone/isolate handling in AST and its visitors on the way.
(Based on https://codereview.chromium.org/
103743004/)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
143873005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18726
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 21 Jan 2014 19:40:25 +0000 (19:40 +0000)]
Fix x64 breakage.
BUG=
Review URL: https://codereview.chromium.org/
144263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18723
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 21 Jan 2014 19:30:27 +0000 (19:30 +0000)]
Enable concurrent sweeping. Added some extra debugging checks for concurrent sweeping.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
138903009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 21 Jan 2014 17:48:57 +0000 (17:48 +0000)]
MIPS: Stay in fast enum case if the empty_slow_element_dictionary is used.
Port r18705 (78b4ea3)
Original commit message:
This fixes slow for-in over frozen objects.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
144023002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 21 Jan 2014 17:04:17 +0000 (17:04 +0000)]
Revert "Unify calling to GenerateFastApiCallBody before stubbing it"
This reverts commit r18714 for breaking webkit tests with an assert.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
144143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18720
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 21 Jan 2014 16:22:52 +0000 (16:22 +0000)]
Zonify types in compiler frontend
Clean up some zone/isolate handling in AST and its visitors on the way.
(Based on https://codereview.chromium.org/
103743004/)
R=jkummerow@chromium.org, titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
102563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 21 Jan 2014 16:19:04 +0000 (16:19 +0000)]
Only refill free lists for spaces that are being swept
BUG=v8:3104
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 21 Jan 2014 16:04:39 +0000 (16:04 +0000)]
Array constructor shouldn't require a Cell, just an AllocationSite.
The Array constructor has a needless dependency on an input argument
that is a Cell. It uses this to walk through to an AllocationSite.
The dependency hampers future work. Instead, pass the AllocationSite
as input to the Array constructor.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
140963004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18716
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 21 Jan 2014 15:06:46 +0000 (15:06 +0000)]
Unify calling to GenerateFastApiCallBody before stubbing it
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
142973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18714
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 21 Jan 2014 14:41:48 +0000 (14:41 +0000)]
Silence another VS warning
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
143973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18712
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 21 Jan 2014 14:14:12 +0000 (14:14 +0000)]
Retry landing "Implement zone-allocated types"
Works around apparent scoping bug in VS, the only change to before being a method rename in the test suite:
--- a/test/cctest/test-types.cc
+++ b/test/cctest/test-types.cc
@@ -153,7 +153,7 @@ struct ZoneRep {
return reinterpret_cast<ZoneList<ZoneType*>*>(AsTagged(t));
}
- static Zone* Region(Zone* zone, Isolate* isolate) { return zone; }
+ static Zone* ToRegion(Zone* zone, Isolate* isolate) { return zone; }
};
@@ -168,7 +168,7 @@ struct HeapRep {
static Object* AsConstant(Handle<Type> t) { return Box::cast(*t)->value(); }
static FixedArray* AsUnion(Handle<Type> t) { return FixedArray::cast(*t); }
- static Isolate* Region(Zone* zone, Isolate* isolate) { return isolate; }
+ static Isolate* ToRegion(Zone* zone, Isolate* isolate) { return isolate; }
};
@@ -183,7 +183,7 @@ struct Tests : Rep {
isolate(CcTest::i_isolate()),
scope(isolate),
zone(isolate),
- T(Rep::Region(&zone, isolate), isolate) {
+ T(Rep::ToRegion(&zone, isolate), isolate) {
}
static void CheckEqual(TypeHandle type1, TypeHandle type2) {
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
143693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18711
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 21 Jan 2014 12:48:10 +0000 (12:48 +0000)]
Rename MarkCompactCollector::StealMemoryFromSweeperThreads to RefillFreeLists
The swept memory is now collected on the foreground thread, so it's not
stealing the memory from the threads anymore
BUG=v8:3104
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143463005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18710
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Jan 2014 12:42:24 +0000 (12:42 +0000)]
Add hydrogen support for ArrayPop, and remove the handwritten call stubs.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
137783023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Jan 2014 12:41:25 +0000 (12:41 +0000)]
Add infrastructure for skipping tests in GC stress mode.
Also move the GC stress configuration from the buildbot to the test runner.
BUG=
R=jkummerow@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
141653008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18708
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 21 Jan 2014 11:48:51 +0000 (11:48 +0000)]
Move the temporary private freelist closer to where it's used
BUG=v8:3104
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18707
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 21 Jan 2014 11:41:18 +0000 (11:41 +0000)]
Move the management of the already swept pages to MarkCompactCollector
That way, MCC doesn't need to know about the state the threads are in to
steal free memory from them.
BUG=v8:3104
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 21 Jan 2014 11:20:11 +0000 (11:20 +0000)]
Stay in fast enum case if the empty_slow_element_dictionary is used.
This fixes slow for-in over frozen objects.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
135903014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18705
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 21 Jan 2014 10:35:20 +0000 (10:35 +0000)]
Fix invalid type assumption in GenerateNumberToString().
We don't have any type feedback in %_NumberToString(), so it's
a bug to assume Type::Number here.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
143893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18704
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Jan 2014 09:01:39 +0000 (09:01 +0000)]
Prepare push to trunk. Now working on version 3.24.21.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
134733005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 21 Jan 2014 07:58:54 +0000 (07:58 +0000)]
[Sheriff] Temporarily mark array-literal-feedback as flaky for GC stress.
The test is blocking the v8 lkgr. It will be unmarked again after there is infrastructure to disable it on GC stress only.
BUG=
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
143463004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 20 Jan 2014 23:08:52 +0000 (23:08 +0000)]
MIPS: Turn ArrayPush into a stub specialized on the elements kind and argc.
Port r18696 (
6e4b51b4)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
143663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18699
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 20 Jan 2014 19:05:31 +0000 (19:05 +0000)]
[Sheriff] Temporarily mark two mjsunit tests as flaky.
The tests are blocking the v8 lkgr. They will be unmarked again after there is infrastructure to disable them on GC stress only.
TBR=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
139343008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 20 Jan 2014 19:00:11 +0000 (19:00 +0000)]
Fix representation requirement in HReturn.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
143523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 20 Jan 2014 17:09:24 +0000 (17:09 +0000)]
Turn ArrayPush into a stub specialized on the elements kind and argc.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
143213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18696
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 20 Jan 2014 15:44:03 +0000 (15:44 +0000)]
Update Isolate::RequestGarbageCollection after r18691
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 20 Jan 2014 14:14:07 +0000 (14:14 +0000)]
Enable incremental marking when --expose-gc is turned on.
BUG=
R=mstarzinger@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
139343007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 20 Jan 2014 11:57:56 +0000 (11:57 +0000)]
Explicitly initialize MarkCompactCollector and ExternalStringTable
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
143063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Mon, 20 Jan 2014 11:30:48 +0000 (11:30 +0000)]
DoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it
This previous change broke DoubleToIStub on armv6:
https://code.google.com/p/v8/source/detail?r=16322
The problem is that DoubleToIStub::Generate assumed that it could safely use the ip register, but on armv6 the ubfx implementation will clobber any previous value stored there. So instead, pick another register.
Test case:
for (var i=0; i<2; i++) {
v =
4294967295;
v &= -2;
print(v)
}
This should print -2 twice, but on armv6 without this patch, it prints -2 followed by 2046.
This problem causes sunspider's bitops-nsieve-bit, crypto-md5 and crypto-sha1 tests to generate incorrect results (but the results are not checked for validity in sunspider-1.0 as available in chromium, but are checked and reported as incorrect in sunspider-1.0.2).
Thanks to Tomasz Kilarski for helping out with this.
R=bmeurer@chromium.org, rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
131823004
Patch from Mostyn Bramley-Moore <mostynb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 20 Jan 2014 10:59:07 +0000 (10:59 +0000)]
Revert "ES6: Implement Object.setPrototypeOf"
This reverts commit r18685 for breaking WebKit tests.
TBR=arv@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 20 Jan 2014 10:38:01 +0000 (10:38 +0000)]
ES6: Implement Object.setPrototypeOf
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof
This just exposes the internal %SetPrototype and adds all the required
type checks as specified.
BUG=v8:2675
LOG=Y
R=dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
141913002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 20 Jan 2014 09:52:54 +0000 (09:52 +0000)]
String:WriteUtf8: Add REPLACE_INVALID_UTF8 option
This patch makes String::WriteUtf8 replace invalid code points (i.e. unmatched
surrogates) with the unicode replacement character when REPLACE_INVALID_UTF8 is
set. This is done to avoid creating invalid UTF-8 output which can lead to
compatibility issues with software requiring valid UTF-8 inputs (e.g. the
WebSocket protocol requires valid UTF-8 and terminates connections when invalid
UTF-8 is encountered).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
121173009
Patch from Felix Geisendörfer <haimuiba@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 20 Jan 2014 09:48:05 +0000 (09:48 +0000)]
We no longer need to recover type cells from the oracle.
We only need the values within them. Function calls to Array from optimized code needed the cell in the past, but no longer.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
141893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18682
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 20 Jan 2014 07:57:07 +0000 (07:57 +0000)]
Prepare push to trunk. Now working on version 3.24.20.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
143093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Jan 2014 07:05:23 +0000 (07:05 +0000)]
De-virtualize GenerateNameCheck.
Currently there are two kinds of "vtables" used in the load/store stub
compilers: kind() and C++'s own vtables. This is a bit confusing, and
this is a step towards simplifying things.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
141763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Mon, 20 Jan 2014 04:59:40 +0000 (04:59 +0000)]
Replace movq with movp for X64 when the operand size is kPointerSize
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
105503006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Mon, 20 Jan 2014 01:52:21 +0000 (01:52 +0000)]
Use kRegisterSize when passing arguments to the C++ runtime for X64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
137443004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sun, 19 Jan 2014 12:24:25 +0000 (12:24 +0000)]
Fix compilation with latest Xcode toolchain.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
142563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 17 Jan 2014 16:08:54 +0000 (16:08 +0000)]
Remove special String.fromCharCode call IC support.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
141773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 17 Jan 2014 15:44:40 +0000 (15:44 +0000)]
--trace-hydrogen fix
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
141333006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18670
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 17 Jan 2014 14:21:01 +0000 (14:21 +0000)]
Remove the special MathFloor / MathAbs call handlers.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
141733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18669
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 17 Jan 2014 14:08:50 +0000 (14:08 +0000)]
Moving logic to AstNode to determine how many type cells are required.
With this change, we'll be able to discover how many type cells we
need at parse time, enabling future optimizations.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
141533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 17 Jan 2014 12:18:57 +0000 (12:18 +0000)]
Minor bugfix in building inlined Array: bad argument to JSArrayBuilder.
An HConstant pointing to a Cell rather than an AllocationSite
was passed. The argument wasn't used because of fortuitous
flags. An assert was added to protect the argument.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
141533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 17 Jan 2014 11:52:50 +0000 (11:52 +0000)]
Fixed Windows build.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
140983005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 17 Jan 2014 11:29:43 +0000 (11:29 +0000)]
Activate calling push-to-trunk in auto-roll script.
- Call push-to-trunk through python not through the shell
- Restore tree state on script errors
- Mock out python call in unit tests
- The actual call stays behind a flag
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
141633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 17 Jan 2014 11:28:22 +0000 (11:28 +0000)]
Remove special charAt and charCodeAt handling in the ICs.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
136443006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18663
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 17 Jan 2014 11:24:36 +0000 (11:24 +0000)]
Remove special ArrayCode CallIC.
Once Call ICs are replaced by LoadIC + CallFunctionStub, we'll need a new way
of tracking this information.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
141073006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 17 Jan 2014 11:08:24 +0000 (11:08 +0000)]
Fix logic error in assert in IsUndeclaredGlobal()
Recent changes in IC logic meant that CallStubs no longer use the Contextual bit. IsUndeclaredGlobal() needed to adjust for that.
In fact, now the CL has morphed to remove the notion of storing contextual state in the IC at all, it just becomes some extra ic state of the load ic. This took some adjustment in harmony code to use the global receiver for certain stores.
Now it's clearer that only LoadICs actually record any information about contextual or not.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
140943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18660
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 17 Jan 2014 10:52:00 +0000 (10:52 +0000)]
Various extension-related cleanup and simplifications.
Removes the embarrassing "static"s, shuffles some code around, doing various cleanups on the way.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
130213009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18659
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 17 Jan 2014 10:34:43 +0000 (10:34 +0000)]
Fix stub-invoked setter callback handling.
When invoking a setter callback for a property using
JSObject::SetPropertyWithCallback(),the callback arguments includes
a correct pair of receiver and holder objects.
Such a pair of _possibly different_ arguments (receiver, holder) must
also be supplied when invoking the same setter callback from JITed
code, when the setter is invoked through the StoreCallbackProperty
stub.
An example where this matters are the accessor properties kept on the
global scope of Worker (i.e., properties kept on the global object
itself, and not on its prototype.) Conflating the receiver with the
holder leads to general confusion when attempting to fetch out the
wrapper object.
LOG=N
R=dcarney@chromium.org, dcarney
BUG=239669
Review URL: https://codereview.chromium.org/
139263008
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 17 Jan 2014 10:27:57 +0000 (10:27 +0000)]
Refactor string internalization.
Remove duplicate code in StringTable and Heap. Instead of having many InternalizeXXXString methods, add a general InternalizeStringWithKey that takes a string table key.
BUG=
R=dcarney@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
140953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 17 Jan 2014 09:11:22 +0000 (09:11 +0000)]
Introduce a setting to control the toolset for which d8 is compiled
BUG=v8:1775
R=machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
138273016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 17 Jan 2014 08:10:15 +0000 (08:10 +0000)]
Prepare push to trunk. Now working on version 3.24.19.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
141603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18653
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 16 Jan 2014 22:45:11 +0000 (22:45 +0000)]
MIPS: Implement in-heap backing store for typed arrays.
Port r18651 (
49744859)
Original commit message:
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
141143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 16 Jan 2014 17:08:45 +0000 (17:08 +0000)]
Implement in-heap backing store for typed arrays.
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org, verwaest@chromium.org
Review URL: https://codereview.chromium.org/
101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 16 Jan 2014 16:00:36 +0000 (16:00 +0000)]
Revert "Implement in-heap backing store for typed arrays."
This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
140793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 16 Jan 2014 15:01:27 +0000 (15:01 +0000)]
Implement in-heap backing store for typed arrays.
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org, verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18646
Review URL: https://codereview.chromium.org/
101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 16 Jan 2014 14:40:56 +0000 (14:40 +0000)]
Fix tree check in merge-to-branch script.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
138963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 16 Jan 2014 14:26:15 +0000 (14:26 +0000)]
Revert "Implement in-heap backing store for typed arrays."
This reverts commit r18646 for breaking Win32 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
132233012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 16 Jan 2014 14:18:37 +0000 (14:18 +0000)]
Implement in-heap backing store for typed arrays.
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org, verwaest@chromium.org
Review URL: https://codereview.chromium.org/
101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 16 Jan 2014 13:18:28 +0000 (13:18 +0000)]
Robustified extension installation a bit.
Removed ADDRESS_SANITIZER #ifdefs, the extension is so tiny that it's
not worth the clutter.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
138143014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 16 Jan 2014 11:59:34 +0000 (11:59 +0000)]
Enable allocation site pretenuring.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
133703015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 16 Jan 2014 11:58:06 +0000 (11:58 +0000)]
Fix handling of last position for lazy deopt on X64, ARM and MIPS.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
140773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 16 Jan 2014 11:54:12 +0000 (11:54 +0000)]
Deopt marked code at safe deoptimization point when pretenuring.
BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
138033012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Thu, 16 Jan 2014 11:35:30 +0000 (11:35 +0000)]
Update load_rax and store_rax to support X32
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
103843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 16 Jan 2014 10:00:03 +0000 (10:00 +0000)]
Refactor DeoptimizeDependentCodeGroup.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
137783016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 16 Jan 2014 08:28:42 +0000 (08:28 +0000)]
Fix ChangeLog entry.
Remove an issue from the ChangeLog that was reverted.
BUG=
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
139383007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 16 Jan 2014 08:22:37 +0000 (08:22 +0000)]
Prepare push to trunk. Now working on version 3.24.18.
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
140683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18633
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 16 Jan 2014 08:17:40 +0000 (08:17 +0000)]
Removed apiutils.h and related cleanup.
ExtensionConfiguration is just a simple container for extension names
(in a perfect world we would use vector<string> and range-based for
loops), and HandleScopeData was in the totally wrong place. Some
additional cleanup on the way, e.g. using the null pattern behind our
external API.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
139393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 16 Jan 2014 00:06:45 +0000 (00:06 +0000)]
MIPS: Fix Win32 buildbreak (caused by overriden methods that have disappeared while having the patch out for code review).
Port r18627 (
c2ba7b25)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
140203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18631
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 15 Jan 2014 23:37:49 +0000 (23:37 +0000)]
MIPS: This is a preview of a first step towards unification of the hydrogen call machinery.
Port r18626 (
d3368a4c)
Original commit message:
The change replaces CallNamed, CallKeyed, CallConstantFunction and CallKnownGlobal hydrogen instructions with two new instructions with a more lower level semantics:
1. CallJSFunction for direct calls of JSFunction objects (no
argument adaptation)
2. CallWithDescriptor for calls of a given Code object according to
the supplied calling convention.
Details:
CallJSFunction should be straightforward, the main difference from the
existing InvokeFunction instruction is the absence of argument adaptor
handling. (As a next step, we will replace InvokeFunction with an
equivalent hydrogen code.)
For CallWithDescriptor, the calling conventions are represented by a
tweaked version of CallStubInterfaceDescriptor. In addition to the
parameter-register mapping, we also define parameter-representation
mapping there. The CallWithDescriptor instruction has variable number of
parameters now - this required some simple tweaks in Lithium, which
assumed fixed number of arguments in some places.
The calling conventions used in the calls are initialized in the
CallDescriptors class (code-stubs.h, <arch>/code-stubs-<arch>.cc), and
they live in a new table in the Isolate class. I should say I am not
quite sure about Representation::Integer32() representation for some of
the params of ArgumentAdaptorCall - it is not clear to me wether the
params could not end up on the stack and thus confuse the GC.
The change also includes an earlier small change to argument adaptor
(https://codereview.chromium.org/
98463007) that avoids passing a naked
pointer to the code entry as a parameter. I am sorry for packaging that
with an already biggish change.
Performance implications:
Locally, I see a small regression (.2% or so). It is hard to say where
exactly it comes from, but I do see inefficient call sequences to the
adaptor trampoline. For example:
;;; <@78,#24> constant-t
bf85aa515a mov edi,0x5a51aa85 ;; debug: position 29
;;; <@72,#53> load-named-field
8b7717 mov esi,[edi+0x17] ;; debug: position 195
;;; <@80,#51> constant-s
b902000000 mov ecx,0x2 ;; debug: position 195
;;; <@81,#51> gap
894df0 mov [ebp+0xf0],ecx
;;; <@82,#103> constant-i
bb01000000 mov ebx,0x1
;;; <@84,#102> constant-i
b902000000 mov ecx,0x2
;;; <@85,#102> gap
89d8 mov eax,ebx
89cb mov ebx,ecx
8b4df0 mov ecx,[ebp+0xf0]
;;; <@86,#58> call-with-descriptor
e8ef57fcff call ArgumentsAdaptorTrampoline (0x2d80e6e0) ;; code: BUILTIN
Note the silly handling of ecx; the hydrogen for this code is:
0 4 s27 Constant 1 range:1_1 <|@
0 3 t30 Constant 0x5bc1aa85 <JS Function xyz (SharedFunctionInfo 0x5bc1a919)> type:object <|@
0 1 t36 LoadNamedField t30.[in-object]@24 <|@
0 1 t38 Constant 0x2300e6a1 <Code> <|@
0 1 i102 Constant 2 range:2_2 <|@
0 1 i103 Constant 1 range:1_1 <|@
0 2 t41 CallWithDescriptor t38 t30 t36 s27 i103 i102 #2 changes[*] <|@
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
137663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 15 Jan 2014 17:51:09 +0000 (17:51 +0000)]
Fix Win32 buildbreak (caused by overriden methods that have disappeared
while having the patch out for code review).
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
136303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18627
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 15 Jan 2014 17:00:35 +0000 (17:00 +0000)]
This is a preview of a first step towards unification of the hydrogen
call machinery. The change replaces CallNamed, CallKeyed,
CallConstantFunction and CallKnownGlobal hydrogen instructions with two
new instructions with a more lower level semantics:
1. CallJSFunction for direct calls of JSFunction objects (no
argument adaptation)
2. CallWithDescriptor for calls of a given Code object according to
the supplied calling convention.
Details:
CallJSFunction should be straightforward, the main difference from the
existing InvokeFunction instruction is the absence of argument adaptor
handling. (As a next step, we will replace InvokeFunction with an
equivalent hydrogen code.)
For CallWithDescriptor, the calling conventions are represented by a
tweaked version of CallStubInterfaceDescriptor. In addition to the
parameter-register mapping, we also define parameter-representation
mapping there. The CallWithDescriptor instruction has variable number of
parameters now - this required some simple tweaks in Lithium, which
assumed fixed number of arguments in some places.
The calling conventions used in the calls are initialized in the
CallDescriptors class (code-stubs.h, <arch>/code-stubs-<arch>.cc), and
they live in a new table in the Isolate class. I should say I am not
quite sure about Representation::Integer32() representation for some of
the params of ArgumentAdaptorCall - it is not clear to me wether the
params could not end up on the stack and thus confuse the GC.
The change also includes an earlier small change to argument adaptor
(https://codereview.chromium.org/
98463007) that avoids passing a naked
pointer to the code entry as a parameter. I am sorry for packaging that
with an already biggish change.
Performance implications:
Locally, I see a small regression (.2% or so). It is hard to say where
exactly it comes from, but I do see inefficient call sequences to the
adaptor trampoline. For example:
;;; <@78,#24> constant-t
bf85aa515a mov edi,0x5a51aa85 ;; debug: position 29
;;; <@72,#53> load-named-field
8b7717 mov esi,[edi+0x17] ;; debug: position 195
;;; <@80,#51> constant-s
b902000000 mov ecx,0x2 ;; debug: position 195
;;; <@81,#51> gap
894df0 mov [ebp+0xf0],ecx
;;; <@82,#103> constant-i
bb01000000 mov ebx,0x1
;;; <@84,#102> constant-i
b902000000 mov ecx,0x2
;;; <@85,#102> gap
89d8 mov eax,ebx
89cb mov ebx,ecx
8b4df0 mov ecx,[ebp+0xf0]
;;; <@86,#58> call-with-descriptor
e8ef57fcff call ArgumentsAdaptorTrampoline (0x2d80e6e0) ;; code: BUILTIN
Note the silly handling of ecx; the hydrogen for this code is:
0 4 s27 Constant 1 range:1_1 <|@
0 3 t30 Constant 0x5bc1aa85 <JS Function xyz (SharedFunctionInfo 0x5bc1a919)> type:object <|@
0 1 t36 LoadNamedField t30.[in-object]@24 <|@
0 1 t38 Constant 0x2300e6a1 <Code> <|@
0 1 i102 Constant 2 range:2_2 <|@
0 1 i103 Constant 1 range:1_1 <|@
0 2 t41 CallWithDescriptor t38 t30 t36 s27 i103 i102 #2 changes[*] <|@
BUG=
R=verwaest@chromium.org, danno@chromium.org
Review URL: https://codereview.chromium.org/
104663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 15 Jan 2014 15:58:28 +0000 (15:58 +0000)]
Revert of Make it possible to compile d8 for the host toolset as well (https://codereview.chromium.org/
139493002/)
Reason for revert:
still doesn't work on arm
Original issue's description:
> Make it possible to compile d8 for the host toolset as well
>
> 2nd attempt. Use a different output path for the host d8.
>
> BUG=v8:1775
> R=machenbach@chromium.org
> LOG=n
>
> Committed: https://code.google.com/p/v8/source/detail?r=18621
R=machenbach@chromium.org
TBR=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:1775
Review URL: https://codereview.chromium.org/
139523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18623
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 15 Jan 2014 15:55:23 +0000 (15:55 +0000)]
Add tree control feature to auto-roll script.
This CL enables the auto-roll script to close and reopen the tree when pushing.
Modifies an auto-roll test so that the push-to-trunk part is executed in order to test the new tree control feature.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
130403006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 15 Jan 2014 15:35:10 +0000 (15:35 +0000)]
Make it possible to compile d8 for the host toolset as well
2nd attempt. Use a different output path for the host d8.
BUG=v8:1775
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
139493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18621
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 15 Jan 2014 14:24:32 +0000 (14:24 +0000)]
Revert "Make it possible to compile d8 for the host toolset as well" and "For V8, only build d8 on target"
This reverts commits r18618 and r18619 for breaking arm compilation.
BUG=
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
139273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 15 Jan 2014 14:00:29 +0000 (14:00 +0000)]
For V8, only build d8 on target
BUG=none
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
139403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18619
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 15 Jan 2014 13:55:09 +0000 (13:55 +0000)]
Make it possible to compile d8 for the host toolset as well
BUG=v8:1775
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
136763010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 15 Jan 2014 11:42:19 +0000 (11:42 +0000)]
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
machenbach@chromium.org [Wed, 15 Jan 2014 10:29:29 +0000 (10:29 +0000)]
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
jkummerow@chromium.org [Wed, 15 Jan 2014 09:53:54 +0000 (09:53 +0000)]
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
machenbach@chromium.org [Wed, 15 Jan 2014 09:05:21 +0000 (09:05 +0000)]
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
machenbach@chromium.org [Wed, 15 Jan 2014 08:12:39 +0000 (08:12 +0000)]
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
machenbach@chromium.org [Wed, 15 Jan 2014 08:06:02 +0000 (08:06 +0000)]
[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
plind44@gmail.com [Tue, 14 Jan 2014 20:02:01 +0000 (20:02 +0000)]
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
plind44@gmail.com [Tue, 14 Jan 2014 19:38:12 +0000 (19:38 +0000)]
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
machenbach@chromium.org [Tue, 14 Jan 2014 19:26:39 +0000 (19:26 +0000)]
[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
plind44@gmail.com [Tue, 14 Jan 2014 18:33:36 +0000 (18:33 +0000)]
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
plind44@gmail.com [Tue, 14 Jan 2014 18:26:31 +0000 (18:26 +0000)]
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
plind44@gmail.com [Tue, 14 Jan 2014 18:17:24 +0000 (18:17 +0000)]
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
verwaest@chromium.org [Tue, 14 Jan 2014 17:31:31 +0000 (17:31 +0000)]
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