svenpanne@chromium.org [Fri, 3 Feb 2012 13:37:13 +0000 (13:37 +0000)]
Removed IsTransitionType predicate.
With the upcoming changes to CALLBACKS properties, a predicate on the transition
type alone doesn't make sense anymore: For CALLBACKS one has to look into the
property's value to decide, and there is even the possibility of having a an
accessor function *and* a transition in the same property.
I am not completely happy with some parts of this CL, because they contain
redundant code, but given the various representations we currently have for
property type/value pairs, I can see no easy way around that. Perhaps one can
improve this a bit in a different CL, the current diversity really, really hurts
productivity...
As a bonus, this CL includes a few minor things:
* CaseClause::RecordTypeFeedback has been cleaned up and it handles the
NULL_DESCRIPTOR case correctly now. Under some (very unlikely) circumstances,
we previously missed some opportunities for monomorphic calls. In general, it
is rather unfortunate that NULL_DESCRIPTOR "shines through", it is just a
hack for the inability to remove a descriptor entry during GC, something
callers shouldn't have to be aware of.
* DescriptorArray::CopyInsert has been cleaned up a bit, preparing it for later
CALLBACKS-related changes.
* LookupResult::Print is now more informative for CONSTANT_TRANSITION.
Review URL: https://chromiumcodereview.appspot.com/9320066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 3 Feb 2012 12:48:21 +0000 (12:48 +0000)]
ARM: More micro-optimization of megamorphic lookup.
Review URL: https://chromiumcodereview.appspot.com/9323004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10599
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 3 Feb 2012 12:43:33 +0000 (12:43 +0000)]
Fix presubmit errors.
TBR=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9309079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 3 Feb 2012 12:05:08 +0000 (12:05 +0000)]
Allow bailing out of the register allocator when running out of virtual registers.
1. Instead of checking upfront and estimating a limit for the number, we
now are able to stop register allocation and bailout when we don't
have enough virtual registers.
2. GCed some out-dated flags from flag-definition.h
3. Simplified the interface from the Lithium builder to the
register allocator in lithium-*.cc: For uses and definitions, we
just record the virtual register number given by the Hydrogen value id.
For temporaries, we request a new virtual register from the allocator.
For fixed temps, we don't need to do anything.
4. Increased number of deoptimization entries to 16K. Eventually we
probably want to make this array grow dynamically.
Review URL: https://chromiumcodereview.appspot.com/9325019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 2 Feb 2012 20:18:19 +0000 (20:18 +0000)]
Optionally export metadata with libv8 to enable debuggers to inspect V8 state.
Review URL: https://chromiumcodereview.appspot.com/8803024
Patch from David Pacheco <dap@joyent.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10596
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 2 Feb 2012 16:18:52 +0000 (16:18 +0000)]
Prepare push to trunk. Now working on version 3.9.2.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9307065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10593
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 2 Feb 2012 13:51:05 +0000 (13:51 +0000)]
merge-to-branch.sh should correctly handle added/deleted files
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9315055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 2 Feb 2012 13:41:06 +0000 (13:41 +0000)]
ARM microoptimizations to megamorphic stub probing.
Review URL: https://chromiumcodereview.appspot.com/9323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 2 Feb 2012 13:26:52 +0000 (13:26 +0000)]
Using local file src/sconsbuild/Debug/test_shell_tests.
Leak of 16 bytes in 1 objects allocated from:
@ 8c06b85 v8::internal::NativeObjectsExplorer::FindOrAddGroupInfo
BUG=112315
TEST=heapcheck build
Review URL: https://chromiumcodereview.appspot.com/9307050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 2 Feb 2012 13:17:46 +0000 (13:17 +0000)]
Fix elements transition bug on x64 in generic KeyedStoreIC
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9307056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 2 Feb 2012 11:47:23 +0000 (11:47 +0000)]
Extend --trace-gc to output amount of memory reserved for V8 heap.
This allows one to spot fragmentation issues just by looking at --trace-gc output.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9316060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 2 Feb 2012 11:22:26 +0000 (11:22 +0000)]
Handle single element array growth + transition in generic KeyedStoreIC
BUG=none
TEST=3d-cube faster
Review URL: https://chromiumcodereview.appspot.com/9235007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 2 Feb 2012 09:35:12 +0000 (09:35 +0000)]
Do not ignore an empty context with extension when creating a scope object.
Runtime_DebugEvaluate creates an empty context which is not correctly handled in FullCodeGenerator::ContextSlotOperandCheckExtensions because the corresponding scope indicates that it has no context.
BUG=crbug.com/107996
TEST=test/mjsunit/regress/regress-crbug-107996.js
Review URL: https://chromiumcodereview.appspot.com/9310027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10582
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 1 Feb 2012 17:28:04 +0000 (17:28 +0000)]
Fix compile error on linux shared.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9307038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10581
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 1 Feb 2012 16:47:06 +0000 (16:47 +0000)]
Allow d8 to run a script multiple times, each time with a new context.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9310001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10580
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 1 Feb 2012 15:31:57 +0000 (15:31 +0000)]
Adding new marker for targets that rely on static library dependencies
traversing none type targets. In preparation for a gyp change to the default
behavior.
BUG=None
TEST=None
R=ager@chromium.org
Review URL: https://chromiumcodereview.appspot.com/7616013
Patch from Brad Nelson <bradnelson@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10579
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 1 Feb 2012 12:58:34 +0000 (12:58 +0000)]
Add a getter for value set with AllowCodeGenerationFromStrings
Review URL: https://chromiumcodereview.appspot.com/9223016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10578
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 1 Feb 2012 10:43:19 +0000 (10:43 +0000)]
Prepare push to trunk. Now working on version 3.9.1.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9315027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10575
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 1 Feb 2012 10:28:00 +0000 (10:28 +0000)]
MIPS: Fix for assertion failure on kraken on ARM (Issue 1923).
Port r10570 (
aa5a8c8e)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9318005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10574
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 1 Feb 2012 08:49:18 +0000 (08:49 +0000)]
Give uses within a loop a greater weight when doing representation inference.
Uses of a value are weighted by a factor of FLAG_loop_weight (default: 10) for
every loop they are in. This makes uses in inner loops "more important", which
should improve the result of the representation inference.
Review URL: https://chromiumcodereview.appspot.com/8277031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10573
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 31 Jan 2012 17:19:19 +0000 (17:19 +0000)]
Save zone memory in LEnvironment by using a bit vector.
We don't need to store the full representation for each value. Instead
a bit to indicate tagged/untagged is enough.
Review URL: http://codereview.chromium.org/9104042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10572
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 31 Jan 2012 15:00:13 +0000 (15:00 +0000)]
Remove a little more dead code from lithium-* files.
Review URL: http://codereview.chromium.org/9301040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10571
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jan 2012 13:55:46 +0000 (13:55 +0000)]
Fix for assertion failure on kraken on ARM (Issue 1923).
BUG=http://code.google.com/p/v8/issues/detail?id=1923
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9264039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10570
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jan 2012 13:33:44 +0000 (13:33 +0000)]
Revert memory saving change due to failures on multithreaded tests
on Windows.
Review URL: https://chromiumcodereview.appspot.com/9104039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 31 Jan 2012 12:45:27 +0000 (12:45 +0000)]
MIPS: Some assembler-level optimizations on ARM.
Port r10541 (
0aab14ba).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9296046
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jan 2012 12:33:46 +0000 (12:33 +0000)]
MIPS: Improve register allocation for Lithium representation changes on ARM
Port r10538 (21c5dc1).
MIPS-specific changes:
-moved MacroAssembler::SmiTagCheckOverflow definition to macro-assembler-mips.cc from the header
-added optimized 3-argument version of said function
-removed the related, completely unused TrySmiTag function
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9296045
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10567
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 31 Jan 2012 12:31:24 +0000 (12:31 +0000)]
Fix test case to correctly check expected result.
R=vegorov@chromium.org
TEST=mjsunit/regress/regress-1229
Review URL: https://chromiumcodereview.appspot.com/9303032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10566
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jan 2012 12:15:21 +0000 (12:15 +0000)]
More compile breakage.
Review URL: https://chromiumcodereview.appspot.com/9303030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 31 Jan 2012 12:08:33 +0000 (12:08 +0000)]
Add GC handling for new field in DeoptimizedFrameInfo.
Review URL: https://chromiumcodereview.appspot.com/9301030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jan 2012 12:06:00 +0000 (12:06 +0000)]
Fix compile error on Mac.
Review URL: https://chromiumcodereview.appspot.com/9293032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jan 2012 11:22:35 +0000 (11:22 +0000)]
Reduce memory use immediately after boot.
This is a recommit of https://chromiumcodereview.appspot.com/9289047
with changes noted in comments in the codereview tool.
Review URL: https://chromiumcodereview.appspot.com/9233050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jan 2012 11:17:17 +0000 (11:17 +0000)]
Add a script to automatically merge patches to a branch
Review URL: https://chromiumcodereview.appspot.com/9298012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jan 2012 08:41:16 +0000 (08:41 +0000)]
MIPS: Add signal context definitions for use with Android. (2nd try)
As with Arm, the kernel defines this stuff, but bionic lib does not.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9298016
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10556
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 30 Jan 2012 15:40:50 +0000 (15:40 +0000)]
Get rid of a useless helper method in the register allocator.
Reading the virtual register from a LOperand is only needed used for
unallocated LOperands (LUnallocated). There is no need for having a
method for that on LOperand.
Review URL: http://codereview.chromium.org/9293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10555
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jan 2012 15:24:35 +0000 (15:24 +0000)]
Fix dictionary size for type feedback oracle.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9293005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10554
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 30 Jan 2012 14:57:36 +0000 (14:57 +0000)]
Fix for an obscure ARM GCC bug
Removing 2 "static" modifiers which didn't really serve a purpose did
the trick...
Review URL: https://chromiumcodereview.appspot.com/9264033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10553
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 30 Jan 2012 14:23:35 +0000 (14:23 +0000)]
Handle CALLBACKS with map transitions when doing GC in the map tree.
This is yet anoter part of a long chain of CLs to achieve map sharing
when JavaScript accessors are used.
Review URL: https://chromiumcodereview.appspot.com/9225056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10552
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jan 2012 13:07:01 +0000 (13:07 +0000)]
Find correct source position in inlined functions on debug break.
BUG=110010
TEST=test-debug/DebugBreakInline
Review URL: https://chromiumcodereview.appspot.com/9295014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10551
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 30 Jan 2012 13:02:48 +0000 (13:02 +0000)]
Inline an inline function into the CHECK macro
CheckHelper was only used within the macro itself. Furthermore, GCC
with -Winline was not always happy with the inline function. Simple
solution: Inline the inline function into the macro itself. Inlining
squared!
Review URL: https://chromiumcodereview.appspot.com/9295048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10550
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jan 2012 12:25:29 +0000 (12:25 +0000)]
Removing some dead flags.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9121075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 30 Jan 2012 12:16:31 +0000 (12:16 +0000)]
Remove a dead method from lithium-* files.
Review URL: http://codereview.chromium.org/9297059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jan 2012 11:10:14 +0000 (11:10 +0000)]
MIPS: Fix and adapt debugger for new call target caches.
Port of r10540.
R=yangguo@chromium.org
TEST=mjsunit/debug-stepout-scope
Review URL: https://chromiumcodereview.appspot.com/9225055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jan 2012 10:58:22 +0000 (10:58 +0000)]
MIPS: Implement target cache for constructor calls.
Port r10531 (
d61db240).
Original commit message:
This caches call targets of constructor calls by associating one element
caches with call sites. The type feedback oracle can use the recorded
valued to gather type information for monomorphic constructor call sites.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9298014
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jan 2012 10:49:25 +0000 (10:49 +0000)]
Fix presubmit.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9297058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 30 Jan 2012 10:20:13 +0000 (10:20 +0000)]
Revert 10542 (boot time memory reduction) due to map alignment
issues on 64 bit.
Review URL: https://chromiumcodereview.appspot.com/9295047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jan 2012 10:13:21 +0000 (10:13 +0000)]
Include what you use for the files zone*
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9297052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 30 Jan 2012 09:15:34 +0000 (09:15 +0000)]
Reduce boot-up memory use of V8.
This is a recommit of http://codereview.chromium.org/9179012
after fixing what turned out to be unrelated out-of-memory
errors.
That was a rebase of http://codereview.chromium.org/9017009/
Review URL: https://chromiumcodereview.appspot.com/9289047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 27 Jan 2012 16:54:22 +0000 (16:54 +0000)]
Some assembler-level optimizations on ARM.
Review URL: https://chromiumcodereview.appspot.com/9223011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jan 2012 16:09:20 +0000 (16:09 +0000)]
Fix and adapt debugger for new call target caches.
R=yangguo@chromium.org
TEST=mjsunit/debug-stepout-scope
Review URL: https://chromiumcodereview.appspot.com/9297019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 27 Jan 2012 15:53:24 +0000 (15:53 +0000)]
Break a circular include dependency.
1. heap-inl.h has a function Heap::_inline_get_heap_ that calls
Isolate::Current() defined in isolate.h, so heap-inl.h requires
isolate.h.
2. Isolate has an embedded Heap member, so isolate.h requires heap.h.
3. heap.h has inline functions functions defined that call
Heap::_inline_get_heap_, so heap.h requires heap-inl.h (!).
The upshot is that all three need to be included wherever one is. A
simpler way is to break the cycle by moving the inlined functions in
heap.h to heap-inl.h.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9121033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 27 Jan 2012 14:55:20 +0000 (14:55 +0000)]
Improve register allocation for Lithium representation changes on ARM
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9207006
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 27 Jan 2012 14:40:42 +0000 (14:40 +0000)]
MIPS: Store transitioned JSArray maps in global context
Port r10523 (79463).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9298011
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jan 2012 13:20:01 +0000 (13:20 +0000)]
Fix build for ARM in release mode after r10531.
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9225022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10534
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 27 Jan 2012 13:09:15 +0000 (13:09 +0000)]
Another fix for Linux64 compilation.
BUG=none
TEST=none
TBR=mnaganov
Review URL: https://chromiumcodereview.appspot.com/9297015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10533
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 27 Jan 2012 13:07:39 +0000 (13:07 +0000)]
Do not turn on typeof null reform with --harmony switch.
R=yangguo@chromium.org
BUG=v8:1913
TEST=
Review URL: https://chromiumcodereview.appspot.com/9232047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10532
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jan 2012 13:03:19 +0000 (13:03 +0000)]
Implement target cache for constructor calls.
This caches call targets of constructor calls by associating one element
caches with call sites. The type feedback oracle can use the recorded
valued to gather type information for monomorphic constructor call sites.
R=kmillikin@chromium.org,vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/8932004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 27 Jan 2012 13:01:16 +0000 (13:01 +0000)]
Build fix for Linux64 after r10529.
BUG=none
TEST=none
TBR=mnaganov
Review URL: https://chromiumcodereview.appspot.com/9225021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10530
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 27 Jan 2012 12:36:13 +0000 (12:36 +0000)]
Build fix for Win64 bot after r10528.
BUG=none
TEST=none
TBR=mnaganov
Review URL: https://chromiumcodereview.appspot.com/9297014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Fri, 27 Jan 2012 12:02:57 +0000 (12:02 +0000)]
Detailed heap snapshot usability improvement.
The detailed heap snapshot has two groups of nodes. The first one
is the group for v8 heap nodes and the second one is the group for
native objects. At the moment we have two different sets of native
objects. There are 'Detached DOM trees' and 'Document DOM trees' type of objects.
I think it'd be nice to replace one group containing all native objects with
separate groups for different types of native objects.
BUG=none
TEST=HeapSnapshotRetainedObjectInfo
Review URL: https://chromiumcodereview.appspot.com/9223009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 27 Jan 2012 11:43:40 +0000 (11:43 +0000)]
Rollback 10525: MIPS: Add signal context definitions for use with Android.
TBR=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9232046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jan 2012 09:34:05 +0000 (09:34 +0000)]
By popular demand: Slightly more honest typing in ClearNonLiveMapTransitions
Review URL: https://chromiumcodereview.appspot.com/9290049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 27 Jan 2012 08:59:42 +0000 (08:59 +0000)]
MIPS: Add signal context definitions for use with Android.
As with Arm, the kernel defines this stuff, but bionic lib does not.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9298003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 26 Jan 2012 22:33:54 +0000 (22:33 +0000)]
Add undefined check for default Array map in ArrayCodeGenericCommon
TBR=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9290064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 26 Jan 2012 21:47:57 +0000 (21:47 +0000)]
Store transitioned JSArray maps in global context
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9073007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 26 Jan 2012 16:54:44 +0000 (16:54 +0000)]
MIPS: Added Android-specific version of cacheflush call.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9234059
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 26 Jan 2012 16:05:28 +0000 (16:05 +0000)]
Use cmp instead of tst to check for zero.
Review URL: https://chromiumcodereview.appspot.com/9169088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 26 Jan 2012 15:53:21 +0000 (15:53 +0000)]
MIPS: Reverted the number of deopt entries to 4096.
On MIPS we cannot double the number of deoptimization entries easily
because the generated code would contain long branches (>128K) and we use
BlockTrampolinePoolScope in the Deoptimizer::TableEntryGenerator::GeneratePrologue method.
Also, we cannot use the Jr instruction here because the Deoptimizer::CreateCode method asserts
that the generated code does not contain reloc information.
BUG=
TEST=
Patch from Daniel Kalmar.
Review URL: http://codereview.chromium.org/9169079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10514
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 26 Jan 2012 11:32:01 +0000 (11:32 +0000)]
Flush number string cache on GC (bug 1605). Also start with a small
number string cache and only grow it if needed, which will be useful
for saving boot time memory use.
This is a second try for https://chromiumcodereview.appspot.com/923502
after fixing an unrelated stack overflow issue.
Review URL: https://chromiumcodereview.appspot.com/9169080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 26 Jan 2012 11:26:45 +0000 (11:26 +0000)]
MIPS: Support inlining at call-sites with mismatched number of arguments.
Port r10483 (
8785a3ef)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9271068
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 26 Jan 2012 11:14:19 +0000 (11:14 +0000)]
Fix intermittent stack overflow in Hydrogen code generation in tests.
Review URL: https://chromiumcodereview.appspot.com/9290044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 26 Jan 2012 07:35:56 +0000 (07:35 +0000)]
Prepare push to trunk. Now working on version 3.9.0.
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9169076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 25 Jan 2012 16:31:25 +0000 (16:31 +0000)]
Include what you use for allocation, api, assembler, and ast.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9288011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 25 Jan 2012 15:17:26 +0000 (15:17 +0000)]
Revert 10502 (smaller number string cache) due to test failures.
Review URL: https://chromiumcodereview.appspot.com/9113060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 25 Jan 2012 15:11:59 +0000 (15:11 +0000)]
When preparing heap for breakpoints make sure not to flush away non-optimized code for inlined functions.
Debug::PrepareForBreakPoints was not fully populating active_functions list.
R=erik.corry@gmail.com
TEST=test/mjsunit/regress/regress-debug-code-recompilation.js
Review URL: https://chromiumcodereview.appspot.com/9290013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 25 Jan 2012 14:27:58 +0000 (14:27 +0000)]
Flush number string cache on GC (bug 1605). Also start with a small
number string cache and only grow it if needed, which will be useful
for saving boot time memory use.
Review URL: https://chromiumcodereview.appspot.com/9235029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 25 Jan 2012 14:22:59 +0000 (14:22 +0000)]
Refactoring only: Extracted 2 methods from ClearNonLiveTransitions
This simple refactoring makes it very clear that clearing non-live transitions
actually consists of 2 quite separate things. Things would even be nicer if the
prototype transitions were represented by a separate data structure instead of
reusing FixedArray in an interesting way once again.
As an additional bonus, this CL makes it possible to read each of the methods in
question on a 30" screen without scrolling!
Review URL: https://chromiumcodereview.appspot.com/9169045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 25 Jan 2012 13:46:42 +0000 (13:46 +0000)]
Fix responsiveness of high promotion mode heuristics.
This changes the heuristics for the high promotion mode to be checked
on all GCs (including scavenges), so that changes in the applications
behavior are recognized earlier. It also fixes miscalculations in the
survival counter and rate which caused heuristics to fail completely.
R=vegorov@chromium.org
BUG=v8:1899
Review URL: https://chromiumcodereview.appspot.com/9196003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 25 Jan 2012 12:45:54 +0000 (12:45 +0000)]
Provide access to function inferred name in v8 public API
Review URL: https://chromiumcodereview.appspot.com/9146039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jan 2012 12:43:32 +0000 (12:43 +0000)]
Fix disasm assertions for undefined instructions.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9228006
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jan 2012 12:37:59 +0000 (12:37 +0000)]
MIPS: added --mips-arch-variant option to test.py.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9270005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10497
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jan 2012 12:32:05 +0000 (12:32 +0000)]
Silence warning from presubmit lint script
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9234025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 25 Jan 2012 08:50:55 +0000 (08:50 +0000)]
Do not follow accessor map transitions when marking descriptor arrays.
Note that we currently have no such transitions, but we will in the future, and
we have to avoid keeping maps live too long.
Review URL: https://chromiumcodereview.appspot.com/9212045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 25 Jan 2012 07:26:07 +0000 (07:26 +0000)]
Handle map transitions in CALLBACKS when doing map tree traversal.
We will have such transitions in the future and this CL is necessary to keep
slack tracking working then.
Review URL: https://chromiumcodereview.appspot.com/9285008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 25 Jan 2012 00:16:07 +0000 (00:16 +0000)]
Include what you use in accessors.{h,cc}.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9113041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 24 Jan 2012 16:36:55 +0000 (16:36 +0000)]
Fix building with clang
BUG=v8:1912
Review URL: https://chromiumcodereview.appspot.com/9285013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10492
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 24 Jan 2012 16:00:19 +0000 (16:00 +0000)]
Initially unmap one of the semispaces to reduce memory use at boot time.
Review URL: https://chromiumcodereview.appspot.com/9117035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10491
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 24 Jan 2012 15:48:16 +0000 (15:48 +0000)]
Reduce the space used by the stack for the profiling thread.
Review URL: https://chromiumcodereview.appspot.com/9117032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 24 Jan 2012 14:29:02 +0000 (14:29 +0000)]
Fix JS2C, so that macros with multiple parameters actually WORK.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9146035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 24 Jan 2012 13:07:21 +0000 (13:07 +0000)]
Fix bug 542, misleading documentation of v8::Locker.
Review URL: https://chromiumcodereview.appspot.com/9160028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 24 Jan 2012 12:10:28 +0000 (12:10 +0000)]
Fix shared library build.
Review URL: https://chromiumcodereview.appspot.com/9117028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 24 Jan 2012 11:55:11 +0000 (11:55 +0000)]
Introduce readbinary function in d8 to read binary files.
Review URL: https://chromiumcodereview.appspot.com/9283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 24 Jan 2012 09:05:15 +0000 (09:05 +0000)]
Fix Win64 compilation failure introduced by r10483.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9284017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 24 Jan 2012 08:48:33 +0000 (08:48 +0000)]
Untabify test/mjsunit/debug-evaluate-locals-optimized-double.js.
TBR=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9284016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 24 Jan 2012 08:43:12 +0000 (08:43 +0000)]
Support inlining at call-sites with mismatched number of arguments.
Review URL: https://chromiumcodereview.appspot.com/9265004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 24 Jan 2012 02:13:28 +0000 (02:13 +0000)]
Remove unnecessary IGNORE policy from Lithium operands.
1. This policy was only used for unused spill operands. I'm assigning
an INVALID LOperand to those instead. As a result, we only need
3 bits to encode the policy and have one more available for virtual
registers.
2. Furthermore, corrected the calculation of the maximal number of virtual
registers and changed the upper limit for the size of the Hydrogen IR
accordingly.
3. Doubled the maximal number of deoptimization entries to 8K.
Review URL: http://codereview.chromium.org/9160018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 24 Jan 2012 01:46:26 +0000 (01:46 +0000)]
Put a slow assert under the enable_slow_asserts flag.
Otherwise really large functions take too long to compile
in debug mode.
Review URL: http://codereview.chromium.org/9212040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 23 Jan 2012 18:11:36 +0000 (18:11 +0000)]
Add range information to external array loads.
Review URL: http://codereview.chromium.org/9226014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 23 Jan 2012 16:18:10 +0000 (16:18 +0000)]
Further robustify the keyed lookup cache against unlucky hash
seeds. This change is performance neutral on most snapshot
VM builds, but provides a big improvement on string-fasta
on around 5% of builds.
Review URL: https://chromiumcodereview.appspot.com/9193015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jan 2012 14:34:49 +0000 (14:34 +0000)]
Prepare push to trunk. Now working on version 3.8.9.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9270044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 23 Jan 2012 12:01:47 +0000 (12:01 +0000)]
Replaced LookupResult::IsProperty by LookupResult::IsFound where possible.
Yak shaving for map sharing with accessor properties contd.: When CALLBACKS can
have map transitions, simply looking at the property type is not sufficient
anymore to decide if a property is there or not. One has to look at the actual
contents of the descriptor entry then, but this breaks down sometimes when the
lookup is being done with a NULL holder. Luckily enough, we can oftren replace
IsProperty by the simpler IsFound, because we inspect the type immediately
afterwards, anyway.
Review URL: https://chromiumcodereview.appspot.com/9280007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00