svenpanne@chromium.org
557fc46b62
Fixed assertions when accessing the hidden properties dictionary.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9360012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 07:23:14 +00:00
vegorov@chromium.org
cc3c37ef61
Disable code compaction again.
...
Check failures are gone but now layout tests are failing.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9351019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 16:34:26 +00:00
vegorov@chromium.org
99fa8059c3
Try enabling (non-incremental) code compaction again.
...
This time include slot-recording fixes in code flushing that were accidentally omitted from the previous commit.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 14:43:51 +00:00
danno@chromium.org
889966a456
Properly initialize element-transitioning array literals on ARM.
...
R=erikcorry@gmail.com
BUG=v8:1930
TEST=unit tests with enable_vfp3=true
Review URL: https://chromiumcodereview.appspot.com/9316131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 14:03:13 +00:00
yangguo@chromium.org
ea949e84cd
Add filename completion to d8's bash completion.
...
Review URL: https://chromiumcodereview.appspot.com/9346017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 12:40:48 +00:00
jkummerow@chromium.org
730c134bd0
Prepare push to trunk. Now working on version 3.9.4.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 12:04:36 +00:00
vegorov@chromium.org
9920e441fa
Disable code compaction again while we investigate buildbot check failures.
...
Review URL: https://chromiumcodereview.appspot.com/9351013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 10:03:08 +00:00
yangguo@chromium.org
988d1269de
When rethrowing an exception, print the stack trace of its original site instead of rethrow site.
...
BUG=60240
Review URL: https://chromiumcodereview.appspot.com/9310122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 09:31:06 +00:00
svenpanne@chromium.org
2a02f4838b
DescriptorArray::IsProperty-related cleanup.
...
More minor changes related to property predicates:
* Slightly simplify logic when handling hidden properties.
* Make IsProperty usage more consistent in RemoveTransitions.
Review URL: https://chromiumcodereview.appspot.com/9352012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:59:03 +00:00
vegorov@chromium.org
029aa9ef92
Enable non-incremental code compaction.
...
It is intended to bring memory usage down on idle notifications.
R=erik.corry@gmail.com
BUG=v8:1726
Review URL: https://chromiumcodereview.appspot.com/9323079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:51:47 +00:00
erik.corry@gmail.com
79112684b5
Increase size of small stacks from 32k to 64k to avoid hitting
...
limits in Chromium.
http://code.google.com/p/chromium/issues/detail?id=112843
Review URL: https://chromiumcodereview.appspot.com/9353006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 08:00:36 +00:00
loislo@chromium.org
dc3f16a321
I will apply it to the nodes that can't be mapped to Heap object or Native object.
...
As example there are 'Detached DOM Tree' nodes in WebKit. It is very useful to be able to see all such
nodes grouped together. It can be done with help of some post processing but I did this explicitly
on v8 side because it is much faster. At the moment this kind of nodes has kNative type.
I'd like to hide these nodes from the Retainment View but I can filter them only by name.
BUG=none
TEST=HeapSnapshotRetainedObjectInfo
Review URL: https://chromiumcodereview.appspot.com/9323064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-07 05:21:00 +00:00
fschneider@chromium.org
08bed81f83
Grow lists by a factor of 2 instead of 1.5 on a resize.
...
For zone lists this avoids resizing and reduces overall allocation
in most cases (especially for small lists).
Review URL: https://chromiumcodereview.appspot.com/9323078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 16:23:40 +00:00
jkummerow@chromium.org
c142bc4c1c
Bash completion for d8 flags
...
Review URL: https://chromiumcodereview.appspot.com/9307122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 15:06:24 +00:00
svenpanne@chromium.org
49bcf5c396
Consolidated property counting methods a bit.
...
Review URL: https://chromiumcodereview.appspot.com/9317119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 13:54:46 +00:00
svenpanne@chromium.org
ba6825012c
Removed PropertyDetails::IsProperty.
...
This is just an intermediate step to remove IsRealProperty.
Review URL: https://chromiumcodereview.appspot.com/9325060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 12:11:40 +00:00
fschneider@chromium.org
cb5164c0b0
Speed up two unit tests to avoid timeouts and make tests finish faster.
...
Review URL: https://chromiumcodereview.appspot.com/9309118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 11:40:24 +00:00
fschneider@chromium.org
25c71e6f39
X64: Fix bug in minus-zero check after int32 multiplication.
...
In optimized x64 code, the check for minus zero after multiplication
used the wrong size bit-or instruction (64-bit instead of 32-bit).
TEST=mjsunit/numops-fuzz.js
Review URL: https://chromiumcodereview.appspot.com/9316127
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 10:08:57 +00:00
rossberg@chromium.org
d6a368dda0
Prepare push to trunk. Now working on version 3.9.3.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9317116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 10:03:35 +00:00
yangguo@chromium.org
364e864ad2
Add timestamp to --trace-gc output.
...
BUG=v8:1932
TEST=
Review URL: https://chromiumcodereview.appspot.com/9307116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-06 08:59:43 +00:00
yurys@chromium.org
a13ad53191
Heap profiler should report implicit references.
...
Implicit references reported to V8 with V8::AddImplicitReferences calls are now reported by heap profiler as 'native' references with type kInternal.
Original WebKit bug report: https://bugs.webkit.org/show_bug.cgi?id=77414
Review URL: https://chromiumcodereview.appspot.com/9316092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-03 14:51:53 +00:00
vegorov@chromium.org
405b875fec
Fix compilation failure introduced by r10601.
...
Cast intptr_t to int in PrintFs.
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9325028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-03 14:30:48 +00:00
vegorov@chromium.org
a7b0481b6d
Tweak compaction candidate selection to avoid keeping page with low occupancy around.
...
Increase slots buffer chain length to 15 to make compaction more aggressive and usefull.
Pass gc and collector selection reasons to GCTracer to allow more meaningull --gc-trace.
Print fragmentation of spaces that we do not compact.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9323007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-03 14:16:40 +00:00
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