bmeurer@chromium.org [Wed, 6 Nov 2013 13:20:14 +0000 (13:20 +0000)]
Fix windows build after r17521.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
61943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 6 Nov 2013 13:09:22 +0000 (13:09 +0000)]
Improve implementation of HSeqStringSetChar.
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.
A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).
Also improves the test case.
TEST=mjsunit/string-natives
R=mstarzinger@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
57383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Wed, 6 Nov 2013 12:14:24 +0000 (12:14 +0000)]
[Object.observe] rename intrinsic change record types for consitency.
Note the spec now reflects the updated naming:
http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes
R=rossberg@chromium.org, rossberg
BUG=v8:2940
Review URL: https://codereview.chromium.org/
46043020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Wed, 6 Nov 2013 12:13:01 +0000 (12:13 +0000)]
Revert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""
Apparently, this wasn't the cause for dromaeo regressions.
> BUG=none
> R=jkummerow@chromium.org
>
> Review URL: https://codereview.chromium.org/
26457002
R=verwaest@chromium.org, jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
36843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Nov 2013 12:01:03 +0000 (12:01 +0000)]
Prepare push to trunk. Now working on version 3.23.1.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
60513010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Nov 2013 09:29:09 +0000 (09:29 +0000)]
Add support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_stats flag is set.
BUG=None
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
40003002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 6 Nov 2013 06:59:32 +0000 (06:59 +0000)]
Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
38993005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 5 Nov 2013 20:48:35 +0000 (20:48 +0000)]
MIPS: Avoid using dd() in Prologue when --optimize-for-size.
Port: r17485 (0d82025)
Original commit message:
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.
BUG=v8:2968
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 5 Nov 2013 19:56:40 +0000 (19:56 +0000)]
MIPS: Try to use Push instead of push sequences whenever possible.
Port r17466 (e519285)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
58853003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 5 Nov 2013 19:29:58 +0000 (19:29 +0000)]
[Sheriff] Mark flaky test on windows.
It was marked as flaky on linux nosnap, arm and nacl before. Now it's marked universally flaky since windows joined the list.
BUG=v8:2921
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
54713002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 5 Nov 2013 17:52:47 +0000 (17:52 +0000)]
MIPS: Use loop to initialize locals when optimizing for size.
Port r17465 (9f3f3d1)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
59853002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 17:45:42 +0000 (17:45 +0000)]
Remove unused IdempotentPointerToHandleCodeTrampoline
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
59973006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Nov 2013 15:36:15 +0000 (15:36 +0000)]
Revert "Handlify concat string and substring."
This reverts r17490.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
59973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 15:33:14 +0000 (15:33 +0000)]
Remove SetLocalPropertiesIgnoreAttributesTrampoline
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
59343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 14:24:57 +0000 (14:24 +0000)]
Add back assertion SetResourceConstraints.
This reverts commit
f7f04272208d565020b528145ce6cef0f89c7079.
BUG=312233
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
59133003
Patch from Ross Mcilroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 14:22:12 +0000 (14:22 +0000)]
Simplified Assembler::target_pointer_address_at.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
59913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 5 Nov 2013 14:08:03 +0000 (14:08 +0000)]
Add simple inline macros to js2c and use that for typed array constructors.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
44173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Nov 2013 14:07:07 +0000 (14:07 +0000)]
Handlify concat string and substring.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
50073005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 13:47:51 +0000 (13:47 +0000)]
Remove calls to SetLocalPropertyIgnoreAttributesTrampoline from accessors.cc
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
59773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 13:46:11 +0000 (13:46 +0000)]
Revert "Record allocation stack traces".
This reverts commit r17365 for memory corruption. The issues
are most probably related to storing a filler map without
checking the bump pointer first, and traversing the stack
when called from within a stub (or builtin), while the code
assumes that it's called from a JS function.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
59583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Nov 2013 13:34:14 +0000 (13:34 +0000)]
Handlify Heap::AllocateFunctionPrototype method.
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/
37463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Tue, 5 Nov 2013 13:23:03 +0000 (13:23 +0000)]
HeapProfiler: provide human readable names for code objects.
It is very hard to understand the structure of the heap even for about:blank page
because code objects in the heap have no names. This patch propagates the names
for Code::STUB and Code::BUILTIN code objects.
Also it assign function names from SharedFunctionInfo to the code objects.
BUG=
R=alph@chromium.org, svenpanne@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
52643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 5 Nov 2013 13:19:14 +0000 (13:19 +0000)]
Avoid using dd() in Prologue when --optimize-for-size.
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.
BUG=v8:2968
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
47743007
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 5 Nov 2013 13:04:51 +0000 (13:04 +0000)]
Correctly load message from an Error object.
R=mstarzinger@chromium.org
BUG=306220
Review URL: https://codereview.chromium.org/
46593010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Nov 2013 12:32:03 +0000 (12:32 +0000)]
Handlify Heap::AllocateInitialMap method.
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/
32003006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 12:25:32 +0000 (12:25 +0000)]
Make Object.freeze/seal/preventExtensions observable
Note: spec has been updated here: http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes.
R=rossberg@chromium.org, rossberg
BUG=v8:2975,v8:2941
Review URL: https://codereview.chromium.org/
47703003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Nov 2013 12:11:27 +0000 (12:11 +0000)]
Introduce JSFunction::EnsureHasInitialMap method.
This change enforces explicit allocation of the initial map for each
JSFunction to introduce a proper layering between the JSFunction class
and the Heap class. A follow-up change will then handlify the two
functions AllocateInitialMap and AllocateFunctionPrototype.
R=rossberg@chromium.org
BUG=v8:2877
Review URL: https://codereview.chromium.org/
32323013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 12:04:46 +0000 (12:04 +0000)]
Introduce orps for IA32/X64
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
53573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 5 Nov 2013 11:59:42 +0000 (11:59 +0000)]
Add counters to track the maximum amount of memory committed by the heap.
BUG=None
R=bmeurer@chromium.org, ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
29203003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 11:47:11 +0000 (11:47 +0000)]
Remove calls to JSObject::SetLocalPropertyIgnoreAttributesTrampoline within objects.cc
This includes handlifing:
-SetHiddenPropertiesHashTable
-ObjectHashSet::Add/Remove
-ObjectHashTable::Put
And splitting the following methods which previously took "allow creation" enum arguments to into side-effect-free getters and GetOrCreate*-handlfied getters.
-GetHash (now GetHash & handlified GetOrCreateHash)
-GetIdentityHash (now GetIdentityHash & handlified GetOrCreateIdentityHash)
-GetHiddenPropertiesHashTable (now GetHiddenPropertiesHashTable & handlified GetOrCreateaHiddenPropertiesHashTable)
BUG=v8:2877
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
48913008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Tue, 5 Nov 2013 11:23:08 +0000 (11:23 +0000)]
[Object.observe] Implement implicit notification from performChange
R=arv@chromium.org, rossberg@chromium.org, rossberg
BUG=v8:2942
Review URL: https://codereview.chromium.org/
36313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 5 Nov 2013 11:01:31 +0000 (11:01 +0000)]
Proper fix for the issue exposed by r17459
This reverts r17462 and instead fixes StubCache::ComputeLoadNonexistent by replacing s/IsGlobalObject/IsJSGlobalObject/ there.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
59103005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 10:14:48 +0000 (10:14 +0000)]
Make snapshots reproducible.
To keep the structure of the serializer more or less untouched, we use
some ingenious Corry-approved(TM) 3-step technology (a.k.a. "hack"):
* Create copies of code objects.
* Wipe out all absolute addresses in these copies.
* Write out the cleaned copies instead of the originals.
In conjunction with --random-seed, our snapshots are reproducible now.
BUG=v8:2885
R=bmeurer@chromium.org, erik.corry@gmail.com
Review URL: https://codereview.chromium.org/
54823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 10:05:03 +0000 (10:05 +0000)]
Introduce raw accessors for type_feedback_info.
This pure refactoring is needed for another upcoming CL.
Note that the actual names are still a bit confusing, because this is
still a kind of swiss-army-knife-field. :-/
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
52633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Nov 2013 09:58:49 +0000 (09:58 +0000)]
Bump iteration count for escape analysis.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
43653005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 5 Nov 2013 09:54:59 +0000 (09:54 +0000)]
Remove CreateArrayLiteralShallow, as it's fundamentally the same now as
CreateArrayLiteral.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
54333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 09:40:36 +0000 (09:40 +0000)]
Removed RelocInfo::target_object_address() and reconstructed_obj_ptr_.
Depends on https://codereview.chromium.org/
46583006/ and has similar reasoning behind it.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
50413004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Nov 2013 09:32:39 +0000 (09:32 +0000)]
Fix double-boxing issue when materializing captured objects.
R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis-representation
Review URL: https://codereview.chromium.org/
57783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 5 Nov 2013 09:22:35 +0000 (09:22 +0000)]
Refactored EXTERNAL_REFERENCE handling.
Previously, the result of target_reference_address() could only be
read, writing to it would have had an architecture-dependent effect,
e.g. writing into the code on ia32, a no-op on arm, etc.
This refactoring-only CL turns this into a simple getter, making it
impossible to use incorrectly.
More to come...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
46583006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 09:00:00 +0000 (09:00 +0000)]
Try to use STMDB/LDMIA instead of LDR/STR sequences whenever possible.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
44313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 08:58:34 +0000 (08:58 +0000)]
ARM: Use loop to initialize locals when optimizing for size.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
52163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 5 Nov 2013 08:56:48 +0000 (08:56 +0000)]
Do Else() first for JoinContinuation() in IfBuilder.
This is required to make sure that environments are correct
for joined continuations.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
52593008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 5 Nov 2013 01:31:22 +0000 (01:31 +0000)]
MIPS: Handle constants in new space by making macro-assembler smarter.
Port r17376 (9af4f51)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
57873004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 4 Nov 2013 16:39:58 +0000 (16:39 +0000)]
Restore intended LoadIC behavior for JSBuiltinsObject
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
48343004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 4 Nov 2013 14:14:09 +0000 (14:14 +0000)]
Add missing negative dictionary lookup to NonexistentHandlerFrontend
BUG=v8:2980
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
57433003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17459
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 4 Nov 2013 12:00:39 +0000 (12:00 +0000)]
Remove dead return path from JSObject::GetHiddenPropertiesHashTable.
R=verwaest@chromium.org, rafaelw@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/
57783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 31 Oct 2013 14:32:08 +0000 (14:32 +0000)]
MIPS: Fix uint32-to-smi conversion in Lithium.
Port r17441 (f1968f4)
BUG=chromium:309623
TEST=mjsunit/regress/regress-crbug-309623
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
49783010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 13:29:35 +0000 (13:29 +0000)]
Prepare push to trunk. Now working on version 3.23.0.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
50943003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 11:51:59 +0000 (11:51 +0000)]
[Sheriff] Mark failing test for nacl port.
BUG=v8:2978
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
50333005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 11:48:31 +0000 (11:48 +0000)]
[Sheriff] Mark flaky test.
BUG=v8:2921
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
54423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 31 Oct 2013 11:43:23 +0000 (11:43 +0000)]
Avoid pre-aging when debugger is active
BUG=None
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
47023003
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 31 Oct 2013 10:18:51 +0000 (10:18 +0000)]
Fix uint32-to-smi conversion in Lithium
BUG=chromium:309623
R=vegorov@google.com, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
54393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17441
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 31 Oct 2013 10:14:02 +0000 (10:14 +0000)]
Add no-variants option to test runner.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
48883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Oct 2013 10:22:52 +0000 (10:22 +0000)]
Do not remove HAdd with zero if the other operand is a double.
The other operand might be minus zero, and -0 + 0 = +0
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
52173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Oct 2013 14:34:07 +0000 (14:34 +0000)]
ia32: Fix comparisons of two constant double operands when exactly one of them is in new space.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
46883008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17428
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Oct 2013 11:44:04 +0000 (11:44 +0000)]
Temporarily allow HistogramTimerScopes to be nested
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
47513015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 29 Oct 2013 07:56:47 +0000 (07:56 +0000)]
Function ElementsAreSafeToExamine was undefined in release heap verify.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
48963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 17:59:13 +0000 (17:59 +0000)]
Prepare push to trunk. Now working on version 3.22.24.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
49263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 17:54:43 +0000 (17:54 +0000)]
Work around two ASSERTs that we're hitting now that DEBUG is #defined again
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
49433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 16:32:56 +0000 (16:32 +0000)]
Return early from BinaryOpIC::Transition when the JS call failed
This avoids an ASSERT failure in Chromium net_unittests.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
49103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 28 Oct 2013 16:17:43 +0000 (16:17 +0000)]
Remove assertion in SetResourceConstraints.
BUG=312233
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
48303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 28 Oct 2013 14:54:26 +0000 (14:54 +0000)]
Temporarily disable calls to OS::TotalPhysicalMemory to avoid ASSERT when running under the Chrome Sandbox.
This CL reverts the behaviour added in r16983 to avoid calling OS::TotalPhysicalMemory
which fails an assert in the Chrome Sandbox. It reverts the default
ResourceConstraints behaviour to that of V8 before r16983 (i.e., baseing these
values purely on hard-coded checks against 64bit/32bit and Android/non-Android.
This will be reverted once http://crbug.com/312241 has been resolved.
BUG=312241
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
48463002
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 10:38:40 +0000 (10:38 +0000)]
Introduce andps for IA32/X64
replace andpd and pand in Math.abs
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
44153002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 10:29:57 +0000 (10:29 +0000)]
ARM: Replace branch with conditional store in function prologue.
Use conditional store to replace the receiver with undefined for
strict mode functions and builtins instead of branching code. This
has similar performance characteristics but saves one branch
instruction per strict mode function.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
48473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 09:59:15 +0000 (09:59 +0000)]
Remove unused function MoveBytes().
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
24584004
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 28 Oct 2013 09:57:15 +0000 (09:57 +0000)]
Rename deprecated __attribute__((no_address_safety_analysis)) to __attribute__((no_sanitize_address))
BUG=chromium:311283
R=glider@chromium.org
Review URL: https://codereview.chromium.org/
48413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17410
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 28 Oct 2013 09:39:00 +0000 (09:39 +0000)]
Cast const char * to const uint8_t *, which removed a unnecessary version of InternalStringToDouble template.
Code size (android arm build for d8):
old d8: 17,479,047 bytes
new d8: 17,445,492 bytes
Total code size saved: 33,555 bytes
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
36903002
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17409
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 28 Oct 2013 09:36:49 +0000 (09:36 +0000)]
Generalize AllocationSite field access in HObjectAccess.
There are simply becoming too many individual field accessors, and
more are coming.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
43563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 28 Oct 2013 09:01:33 +0000 (09:01 +0000)]
Fix --hydrogen-filter="-".
SubVector asserts that the vector length is not 0 and fails.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
43873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 07:24:19 +0000 (07:24 +0000)]
Tune mjsunit/compiler/expression-trees.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
43703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 28 Oct 2013 07:23:27 +0000 (07:23 +0000)]
Tune mjsunit/array-functions-prototype-misc
Again, this brings testing times down quite a bit without losing test
coverage.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
44143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 25 Oct 2013 20:42:51 +0000 (20:42 +0000)]
Handlify JSObject::PrepareElementsForSort
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
32523008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 25 Oct 2013 13:21:46 +0000 (13:21 +0000)]
Fix bug in nextWeaker function of deltablue benchmark.
It does not seem to affect the correctness of the particular
workload it is currently running.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
13994003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 25 Oct 2013 13:10:25 +0000 (13:10 +0000)]
Simplify test-mark-compact/NoPromotion test.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
42543008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 25 Oct 2013 12:26:47 +0000 (12:26 +0000)]
The Elements pointer in a JSObject can have a filler map instead of a
valid fixed array, iff a gc occurred while allocating a fixed array as
part of array construction. Heap verification needs protection against
examining the elements object in this case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
43383004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 25 Oct 2013 11:55:56 +0000 (11:55 +0000)]
Reland "Make Array.prototype.pop throw if the last element is not configurable."
This relands r17346.
R=machenbach@chromium.org
BUG=311164
Review URL: https://codereview.chromium.org/
43923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Oct 2013 11:25:27 +0000 (11:25 +0000)]
Fix release build failures due to --enable-slow-asserts
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
43943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17393
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Oct 2013 11:10:28 +0000 (11:10 +0000)]
Define DEBUG for v8_optimized_debug=2
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).
R=jkummerow@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
39183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 25 Oct 2013 09:58:21 +0000 (09:58 +0000)]
Make top and limit field in AllocationInfo private, assert on non-aligned setting of these fields, and eliminate indirect access over top address on top pointer.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
40083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 25 Oct 2013 09:22:12 +0000 (09:22 +0000)]
Prepare push to trunk. Now working on version 3.22.23.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
43663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17388
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Oct 2013 08:57:50 +0000 (08:57 +0000)]
Tune mjsunit/regexp-global.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
42993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 25 Oct 2013 07:24:08 +0000 (07:24 +0000)]
Tune cctest/test-parsing/ParserSync.
This test suffers heavily from combinatorial explosion. To redemedy
this situation a bit, two independent parsing flags are tested
separately, reducing the runtime by a factor of 4. Furthermore, the
code has been cleaned up a bit.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
40113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 25 Oct 2013 05:52:11 +0000 (05:52 +0000)]
The "TESTFLAGS" is now added to Android .check build to be consistent with other platform build.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
39273004
Patch from Bangfu Tao <bangfu.tao@samsung.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Fri, 25 Oct 2013 02:12:17 +0000 (02:12 +0000)]
Introduce MoveDouble to the X64 MacroAssembler
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
26216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Thu, 24 Oct 2013 19:01:30 +0000 (19:01 +0000)]
Enable double alignment for constructed arrays.
2nd (of 3) CL's to ensure complete alignment of FixedDoubleArrays.
TEST=
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
35133002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 24 Oct 2013 17:27:58 +0000 (17:27 +0000)]
Make the message test suite run without slow asserts.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
39303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 24 Oct 2013 16:38:26 +0000 (16:38 +0000)]
Remove specialized raw Cell and Map allocators.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
30023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Oct 2013 13:30:40 +0000 (13:30 +0000)]
Temporarily disable mjsunit/regress/regress-2612 to make our tree green again.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
40203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 24 Oct 2013 13:07:16 +0000 (13:07 +0000)]
Tune mjsunit/regress/regress-2612.
Lower the bounds to something bearable which would still timeout if we
used a quadratic algorithm.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
39863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 24 Oct 2013 12:40:34 +0000 (12:40 +0000)]
Handle constants in new space on arm by making macro-assembler smarter.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
30023005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:25:40 +0000 (12:25 +0000)]
Add performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Committed: https://code.google.com/p/v8/source/detail?r=17368
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:16:00 +0000 (12:16 +0000)]
Revert "Fix shared library build after r17368." and "Add performance.now() to the d8 shell.".
This reverts commit r17372 and r17368 for breaking the shared
library build.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
40043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 12:08:58 +0000 (12:08 +0000)]
Get rid of unused STRING_ADD_ERECT_FRAME flag.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
39803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 11:59:09 +0000 (11:59 +0000)]
Fix shared library build after r17368.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
40033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 24 Oct 2013 10:50:35 +0000 (10:50 +0000)]
Add code age subtype tracking to --track-gc-object-stats
Adds counters which track the age of code in the heap during a gc if
--track-gc-object-stats is enabled.
- Splits RecordObjectStats into RecordObjectStats, RecordCodeSubTypeStats and
RecordFixedArraySubTypeStats.
- Renames kNoAge to kNoAgeCodeAge to follow other code age enums and enable
the name to be used in Macro based initialization of the counters.
BUG=None
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
26179004
Patch from Ross McIlroy <rmcilroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 10:48:18 +0000 (10:48 +0000)]
Add performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=17366
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 10:42:02 +0000 (10:42 +0000)]
Revert "Add window.performance.now() to the d8 shell."
This reverts commit r17366 for breaking the mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
38753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 09:27:17 +0000 (09:27 +0000)]
Add window.performance.now() to the d8 shell.
TEST=mjsunit/d8-performance-now
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
32433010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 24 Oct 2013 09:26:55 +0000 (09:26 +0000)]
Record allocation stack traces
This is initial implementation of allocation profiler.
Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.
Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.
This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.
BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
34733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 24 Oct 2013 09:23:32 +0000 (09:23 +0000)]
Prepare push to trunk. Now working on version 3.22.22.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
39393005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00