svenpanne@chromium.org
b34e202b20
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
2012-02-03 13:37:13 +00:00
erik.corry@gmail.com
039223af9a
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
2012-02-03 12:48:21 +00:00
fschneider@chromium.org
aa4b77d761
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
2012-02-03 12:43:33 +00:00
fschneider@chromium.org
0ec7773680
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
2012-02-03 12:05:08 +00:00
vegorov@chromium.org
a297d3f9af
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
2012-02-02 20:18:19 +00:00
jkummerow@chromium.org
f6b6cd4d2c
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
2012-02-02 16:18:52 +00:00
danno@chromium.org
4f56fb5a87
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
2012-02-02 13:51:05 +00:00
erik.corry@gmail.com
ea42869a44
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
2012-02-02 13:41:06 +00:00
loislo@chromium.org
0d8ec7cd43
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
2012-02-02 13:26:52 +00:00
danno@chromium.org
ee9c65e46d
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
2012-02-02 13:17:46 +00:00
vegorov@chromium.org
6f20db9767
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
2012-02-02 11:47:23 +00:00
danno@chromium.org
f39ae6d5e0
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
2012-02-02 11:22:26 +00:00
ulan@chromium.org
8093e397e4
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
2012-02-02 09:35:12 +00:00
ulan@chromium.org
0cae1aa7a3
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
2012-02-01 17:28:04 +00:00
ulan@chromium.org
56024c1511
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
2012-02-01 16:47:06 +00:00
jkummerow@chromium.org
e952765ea0
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
2012-02-01 15:31:57 +00:00
yurys@chromium.org
882ede3053
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
2012-02-01 12:58:34 +00:00
danno@chromium.org
f3f28b290d
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
2012-02-01 10:43:19 +00:00
danno@chromium.org
5a294e5342
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
2012-02-01 10:28:00 +00:00
svenpanne@chromium.org
82d1f51534
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
2012-02-01 08:49:18 +00:00
fschneider@chromium.org
b2ead52688
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
2012-01-31 17:19:19 +00:00
fschneider@chromium.org
86a0e828dc
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
2012-01-31 15:00:13 +00:00
danno@chromium.org
dab8048597
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
2012-01-31 13:55:46 +00:00
erik.corry@gmail.com
3cfac4da0a
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
2012-01-31 13:33:44 +00:00
yangguo@chromium.org
6ab232b1f7
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
2012-01-31 12:45:27 +00:00
danno@chromium.org
ab5d47ef21
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
2012-01-31 12:33:46 +00:00
mstarzinger@chromium.org
5dc4859fa4
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
2012-01-31 12:31:24 +00:00
erik.corry@gmail.com
8bd56abed0
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
2012-01-31 12:15:21 +00:00
yangguo@chromium.org
c1f95cca94
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
2012-01-31 12:08:33 +00:00
erik.corry@gmail.com
664669cf17
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
2012-01-31 12:06:00 +00:00
erik.corry@gmail.com
f5feac9e98
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
2012-01-31 11:22:35 +00:00
danno@chromium.org
a59b2a96fa
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
2012-01-31 11:17:17 +00:00
danno@chromium.org
14a3c4e6b3
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
2012-01-31 08:41:16 +00:00
fschneider@chromium.org
1604871e80
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
2012-01-30 15:40:50 +00:00
mstarzinger@chromium.org
ef45c3bfc9
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
2012-01-30 15:24:35 +00:00
svenpanne@chromium.org
96b590d95e
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
2012-01-30 14:57:36 +00:00
svenpanne@chromium.org
d466fbd312
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
2012-01-30 14:23:35 +00:00
yangguo@chromium.org
f7c09d99b7
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
2012-01-30 13:07:01 +00:00
svenpanne@chromium.org
375be4ae25
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
2012-01-30 13:02:48 +00:00
yangguo@chromium.org
f8115b345d
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
2012-01-30 12:25:29 +00:00
fschneider@chromium.org
c26695e75b
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
2012-01-30 12:16:31 +00:00
mstarzinger@chromium.org
f97cd1a0ef
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
2012-01-30 11:10:14 +00:00
mstarzinger@chromium.org
9ece818b56
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
2012-01-30 10:58:22 +00:00
yangguo@chromium.org
95c37ecbc9
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
2012-01-30 10:49:25 +00:00
erik.corry@gmail.com
a9428d2bcc
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
2012-01-30 10:20:13 +00:00
yangguo@chromium.org
97a0e497ca
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
2012-01-30 10:13:21 +00:00
erik.corry@gmail.com
419ea5fcc3
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
2012-01-30 09:15:34 +00:00
yangguo@chromium.org
f2eda210d0
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
2012-01-27 16:54:22 +00:00
mstarzinger@chromium.org
74feaa6c3d
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
2012-01-27 16:09:20 +00:00
kmillikin@chromium.org
87ccb1d740
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
2012-01-27 15:53:24 +00:00