mstarzinger@chromium.org
66a94223db
MIPS: Implement inlining of constructor calls.
...
Port r10849 (b0fe79c).
Also included: Fixed a bug in GenerateRecordCallTarget.
This bug prevented certain functions from being registered as Monomorphic
and thus prevented them from being inlined using the new system (b0fe79c).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9511002
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-29 09:48:03 +00:00
ulan@chromium.org
20f2c9b645
Do not call memset() to initialize StubCache.
...
Review URL: https://chromiumcodereview.appspot.com/9464054
Patch from Iliyan Malchev <malchev@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 18:26:04 +00:00
svenpanne@chromium.org
f9cdb0e18c
Explicitly use a Zone when allocating Range.
...
This CL is a step towards removing ZoneObject's new operator without a Zone
parameter, which uses Isolate::Current. For e.g. the bulletben benchmark, this
CL reduces the number of calls to this new operator by roughly 120k, but we are
still left with 780k calls from other sites...
Review URL: https://chromiumcodereview.appspot.com/9487010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 15:32:58 +00:00
svenpanne@chromium.org
22e66d395e
Thread isolate through Property constructor, avoiding Isolate::Current.
...
This removes roughly 5k invocations of Isolate::Current from the string-tagcloud
benchmark.
Review URL: https://chromiumcodereview.appspot.com/9490009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 15:32:06 +00:00
yangguo@chromium.org
59a7bdd6e2
Add code kind check before preparing for OSR.
...
BUG=v8:1900, 115073
Review URL: https://chromiumcodereview.appspot.com/9495005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 12:59:00 +00:00
fschneider@chromium.org
15542081e9
Pass zone explicitly to zone-allocation on x64 and ARM.
...
This is a very mechanical change to reduce the number of calls to
Isolate::Current that come with every plain new-allocation.
BUG=v8:1802
Review URL: https://chromiumcodereview.appspot.com/9491004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 10:53:13 +00:00
svenpanne@chromium.org
3df99e7eb7
Thread the current isolate through a few places, avoiding Isolate::Current().
...
This removes approx. 12k calls of Isolate::Current() in string-tagcloud.
Review URL: https://chromiumcodereview.appspot.com/9490004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 10:32:02 +00:00
mstarzinger@chromium.org
564a6f035a
Port string construct stub to x64.
...
R=yangguo@chromium.org
BUG=v8:849
Review URL: https://chromiumcodereview.appspot.com/9491005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 10:20:57 +00:00
rossberg@chromium.org
d809d17f5d
Further refactoring of declarations in the AST:
...
Define modules as module declarations.
Separate function declarations from var declarations.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9460064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 10:12:39 +00:00
ulan@chromium.org
ddaf909f82
Prepare push to trunk. Now working on version 3.9.13.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9495004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 09:45:17 +00:00
mstarzinger@chromium.org
170511e52a
Fix presubmit errors in previous revision.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9495003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 09:38:16 +00:00
mstarzinger@chromium.org
fb8eb04bfd
Implement inlining of constructor calls.
...
R=vegorov@chromium.org ,kmillikin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9304001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 09:05:55 +00:00
erik.corry@gmail.com
a81b05af93
Fix the negative lookup stub to handle deleted entries in a
...
dictionary. This fixes http://code.google.com/p/v8/issues/detail?id=1964
"Closure-uri benchmark is sensitive to hash seed".
Review URL: https://chromiumcodereview.appspot.com/9463012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 08:32:44 +00:00
svenpanne@chromium.org
18ba22168e
Handle CALLBACKS correctly in IsProperty functions.
...
With transitions in AccessorPairs, it is not enough to look at the PropertyType
alone to decide whether we look at a property or not: For objects with
JavaScript accessors, we have to look into the AccessorPair itself and see if
one of its 2 parts is actually a JavaScript accessor. Therefore, a predicate
with a PropertyType argument alone doesn't make sense anymore, we might need the
associated value, too.
Things are complicated by the fact that the holder in a LookupResult can be
NULL, so we must be careful to retrieve its value only when it is really
needed. To achieve the needed call-by-name semantics, a new Entry is introduced,
which is basically a closure over a DescriptorArray and an index into this array
(C++0x to the rescue!). GCC is clever enough to inline this class, so we pay no
runtime penalty for this abstraction.
It's all a bit ugly, but this is caused by the current structure of Descriptor,
DescriptorArray and LookupResult: Things would be much easier if DescriptorArray
were, well, an array of Descriptors, and LookupResult were a 'Maybe Descriptor'
(in Haskell-terms).
Review URL: https://chromiumcodereview.appspot.com/9466047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-28 07:16:50 +00:00
mikhail.naganov@gmail.com
2350d11dac
Remove now unused CalculateExactRetainedSize function & co.
...
This patch changes the signature of the v8::HeapGraphNode::GetRetainedSize method, but it's not used in Chromium, and it should be easy for other clients (if any) to adjust to this change.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9466014
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 15:42:36 +00:00
vegorov@chromium.org
c112fdc398
Adds a new API where the host can supply a callback function. The callback function can resolve the location of a return address on stack to the location where a return-address rewriting profiler stashed the original return address.
...
Review URL: https://chromiumcodereview.appspot.com/9401019
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 15:15:53 +00:00
vegorov@chromium.org
9b55ebaa3a
When compiling for-in pass correct context value to the increment instruction.
...
Additionally force increment instruction to use int32 representation.
R=fschneider@google.com
BUG=http://crbug.com/115646
TEST=test/mjsunit/compiler/optimized-for-in.js
Review URL: https://chromiumcodereview.appspot.com/9463052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 14:37:27 +00:00
jkummerow@chromium.org
d5e252b157
MIPS: Profiler experiments: Fix debugger in the presence of self-optimization headers
...
Port r10834 (0ce8cc524).
Note: this commit is a simple fix-up for FullCodeGenerator::self_optimization_header_size().
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9466050
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 14:24:08 +00:00
yangguo@chromium.org
32e2b0319e
Update break points set with partial file name after compile.
...
BUG=v8:1853
Review URL: https://chromiumcodereview.appspot.com/9460059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 11:52:08 +00:00
yangguo@chromium.org
8adb1c4a2f
Prepare push to trunk. Now working on version 3.9.12.
...
R=ulan@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9455087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 11:44:53 +00:00
vegorov@chromium.org
53622335e3
Disable for-in support in Crankshaft while crashes and regressions are being investigated.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9463049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 10:43:57 +00:00
jkummerow@chromium.org
64920e9ba6
Profiler experiments: fix snapshotting with count-based interrupts
...
Review URL: https://chromiumcodereview.appspot.com/9447098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 08:45:39 +00:00
jkummerow@chromium.org
610d179b08
Profiler experiments: Don't add self-optimization headers to functions that can't be optimized anyway
...
Review URL: https://chromiumcodereview.appspot.com/9460058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 08:11:04 +00:00
jkummerow@chromium.org
2c29f4d575
Profiler experiments: be more careful when accessing TypeFeedbackInfo
...
Review URL: https://chromiumcodereview.appspot.com/9471008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 08:08:14 +00:00
jkummerow@chromium.org
a19c50afb4
Profiler experiments: Fix debugger in the presence of self-optimization headers
...
Review URL: https://chromiumcodereview.appspot.com/9466012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-27 07:49:14 +00:00
rossberg@chromium.org
becd8dd11c
Make 'module' a context-sensitive keyword.
...
Baseline: http://codereview.chromium.org/9401008/
R=lrn@chromium.org ,mstarzinger@chromium.org
BUG=v8:1957
TEST=mjsunit/harmony/module-parsing
Review URL: https://chromiumcodereview.appspot.com/9422001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 15:53:09 +00:00
mikhail.naganov@gmail.com
2fe4af7135
Tune snapshot taking progress indicator.
...
As of dominators and retained sizes calculation take quite small time now
comparing to the main passes, it is worth to exclude these from progress
indicator. Now the indicator smoothly runs to 100%, while previously
it ran to 50% and then instantly jumped to 100%.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9465010
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 15:46:45 +00:00
yangguo@chromium.org
289b44f740
Prepare push to trunk. Now working on version 3.9.11.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9455059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 14:39:17 +00:00
mstarzinger@chromium.org
36a91e30f7
Fix redefining of attributes on aliased arguments.
...
This allows elements of the non-strict arguments object to be redefined
with custom attributes and still maintain an alias into the context.
Such a slow alias is maintained by placing a special marker into the
dictionary backing store of the arguments object.
R=rossberg@chromium.org
BUG=v8:1772
TEST=test262,mjsunit/object-define-property
Review URL: https://chromiumcodereview.appspot.com/9460004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 14:34:01 +00:00
yangguo@chromium.org
4a28808934
Fix strict mode in d8.js.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9463010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 14:01:34 +00:00
mikhail.naganov@gmail.com
9408c5c8bf
Revert "Tune snapshot taking progress indicator."
...
This reverts commit 630437a0239ce4de029ea367083cb12a8099506c.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 13:32:58 +00:00
svenpanne@chromium.org
482325ec2f
Simplified return values a bit when defining accessors.
...
Review URL: https://chromiumcodereview.appspot.com/9467005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 13:04:16 +00:00
mikhail.naganov@gmail.com
c95aecb935
Tune snapshot taking progress indicator.
...
As of dominators and retained sizes calculation take quite small time now
comparing to the main passes, it is worth to exclude these from progress
indicator. Now the indicator smoothly runs to 100%, while previously
it ran to 50% and then instantly jumped to 100%.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9463008
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 12:52:35 +00:00
mstarzinger@chromium.org
9f83b4ee36
Fix Object.getOwnPropertyDescriptor in string elements.
...
This fixes Object.getOwnPropertyDescriptor to report string character
elements as enumerable in accordance with the spec.
BUG=v8:862
TEST=mjsunit/get-own-property-descriptor
Review URL: https://chromiumcodereview.appspot.com/9447053
Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 11:58:09 +00:00
mikhail.naganov@gmail.com
e5281f98a7
Some more speedup to the dominators tree building in heap profiler.
...
Replace timestamps with affected bool vector. Timestamps could cause
some entries marked as affected on iteration i, to be recalculated
twice on iterations i and i+1. Which is redundant.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9467002
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 11:16:12 +00:00
yangguo@chromium.org
baabb87dae
Fix HConstant's hash function for smis on x64.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9466003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 10:59:12 +00:00
fschneider@chromium.org
a6083af4fa
Fix a performance bug in the register contraints for polymorphic loads.
...
The context is only needed in the esi register if there is a call to
the generic stub.
Review URL: https://chromiumcodereview.appspot.com/9467001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 10:31:16 +00:00
mstarzinger@chromium.org
70804bacf5
Fix compilation issue on Win64.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9465003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 09:45:27 +00:00
yangguo@chromium.org
7a98cb62c3
Speed up removing phi nodes.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9452022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-24 08:46:10 +00:00
yangguo@chromium.org
0a6f18294f
Fix bug in r10812.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9455016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 15:37:27 +00:00
mstarzinger@chromium.org
30dcdb6a36
Revert r10811 because of test flakiness.
...
TBR=vegorov@chromium.org
BUG=v8:1322
Review URL: https://chromiumcodereview.appspot.com/9453012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 14:12:44 +00:00
yangguo@chromium.org
671084074d
Lazy removal of dead HValues in GVN from use lists.
...
BUG=v8:1969
TEST=regress/regress-1969
Review URL: https://chromiumcodereview.appspot.com/9455011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 13:59:35 +00:00
mstarzinger@chromium.org
c1b97fe842
Allow inlining of functions containing function literals.
...
R=fschneider@chromium.org ,vegorov@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://chromiumcodereview.appspot.com/9453007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 12:24:03 +00:00
svenpanne@chromium.org
a1f3c9407f
When redefining accessor properties, defensively copy AccessorPairs.
...
The previous code relied on the tricky global invariant that there is no map
sharing when accessor properties are involved (or in other words: that
TransformToFastProperties is dumb enough :-). Although this is not a real
problem with the current code, this assumption breaks when map sharing in fast
mode is enabled, so we defensively copy an AccessorPair.
Review URL: https://chromiumcodereview.appspot.com/9430048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 12:12:28 +00:00
vegorov@chromium.org
fbc230e42b
Ensure that executable pages are properly guarded.
...
Split executable memory chunks into two pieces: header with all metadata (protection: RW) and body (protection: RWX). Separate header from metadata with a guard page and add a guard page after the page body.
R=erik.corry@gmail.com
BUG=http://crbug.com/115151
Review URL: https://chromiumcodereview.appspot.com/9452002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 12:11:24 +00:00
mstarzinger@chromium.org
1a356cff3e
Fix redefinition of aliased elements in arguments.
...
This refactors the way we (re)define elements to perform normalization
and attribute updating at a much deeper level, thereby removing some
bogus special cases in upper runtime layers.
Most element setters take an indicator flag that distinguishes between
setting and defining. Setting of an element causes attributes to remain
unchanged, writability to be checked and callbacks to be called.
Defining of an element causes attributes to be updated and callbacks to
be overridden. The same approach could be taken for properties.
R=svenpanne@chromium.org
BUG=v8:1772
TEST=test262,test262/15.2.3.6-4-333-11
Review URL: https://chromiumcodereview.appspot.com/9443014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 11:43:07 +00:00
fschneider@chromium.org
67c6e9260b
Fix Windows compilation.
...
TBR=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9456006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 10:12:50 +00:00
fschneider@chromium.org
d1172448ad
Make HashMap a template class to specify the allocation policy.
...
The old HashMap class had an explicit member to determine the allocation
policy. The template version matches the approach used already for
lists.
Cleanup some include dependencies and unnecessary forward declarations.
Cleanup some dead code from isolate.h and replace some HEAP macros
with GetHeap().
Review URL: https://chromiumcodereview.appspot.com/9372106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 09:12:57 +00:00
kmillikin@chromium.org
7d4b78acb1
Prepare push to trunk. Now working on version 3.9.10.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9454009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 08:23:04 +00:00
lrn@chromium.org
5468fbb19e
Allow the ZWJ and ZWNJ characters in IdentifierPart as per ES5.
...
Patch from Mathias Bynens <mathias@qiwi.be>
BUG=1958
TEST=Try `var a\u200c\u200d;` and confirm it doesn't throw an error.
Review URL: https://chromiumcodereview.appspot.com/9433031
Patch from Mathias Bynens <mathias@qiwi.be>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-23 08:15:45 +00:00
mikhail.naganov@gmail.com
c6d9454dff
Speedup dominators construction in heap snapshot.
...
It is achieved by:
1. skipping entries those dominators have already reached root.
2. processing only entries those retainers have changed their
dominators and skipping other entries.
3. removing extra memory indirection by making the dominators array
contain entry indices instead of entries themselves.
The dominators building time has dropped from ~4000 ms to ~200 ms
on gmail.com heap snapshot.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9372105
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 23:06:11 +00:00
vegorov@chromium.org
4c92b67374
RandomizedVirtualAlloc should check for isolate presence instead of using Isolate::Current()
...
CpuFeatures::Probe request executable memory before any isolate is initialized and entered.
TBR=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9433051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 19:47:57 +00:00
vegorov@chromium.org
283098fdcb
Randomize allocation addresses on windows.
...
BUG=115151
Review URL: https://chromiumcodereview.appspot.com/9372083
Patch from Cris Neckar <cdn@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 17:21:55 +00:00
vegorov@chromium.org
5bb6a8399d
Support OSR in for-in loops.
...
Modify PreProcessOsrEntry to work with OSR entries that have non-empty expression stack.
Modify graph builder to take for-in state from environment instead of directly referencing emitted instructions.
Extend %OptimizeFunctionOnNextCall with an argument to force OSR to make writing OSR tests easier: %OptimizeFunctionOnNextCall(f, "osr").
R=fschneider@chromium.org
TEST=test/mjsunit/compiler/optimized-for-in.js
Review URL: https://chromiumcodereview.appspot.com/9431030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 16:45:35 +00:00
jkummerow@chromium.org
75bf5e44d2
Profiler experiments: interrupt check at function exit
...
Review URL: https://chromiumcodereview.appspot.com/9432026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 15:18:29 +00:00
vegorov@chromium.org
6703dddac4
Support fast case for-in in Crankshaft.
...
Only JSObject enumerables with enum cache (fast case properties, no interceptors, no enumerable properties on the prototype) are supported.
HLoadKeyedGeneric with keys produced by for-in enumeration are recognized and rewritten into direct property load by index. For this enum-cache was extended to store property indices in a separate array (see handles.cc).
New hydrogen instructions:
- HForInPrepareMap: checks for-in fast case preconditions and returns map that contains enum-cache;
- HForInCacheArray: extracts enum-cache array from the map;
- HCheckMapValue: map check with HValue map instead of immediate;
- HLoadFieldByIndex: load fast property by it's index, positive indexes denote in-object properties, negative - out of object properties;
Changed hydrogen instructions:
- HLoadKeyedFastElement: added hole check suppression for loads from internal FixedArrays that are knows to have no holes inside.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9425045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 12:47:42 +00:00
yangguo@chromium.org
0f348c9208
Fix compilation with MinGW-w64.
...
BUG=v8:1943
TEST=
Review URL: https://chromiumcodereview.appspot.com/9428027
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 12:26:36 +00:00
yangguo@chromium.org
5632b6d005
Remove unused class AssertNoZoneAllocation.
...
BUG=v8:1962
TEST=
Review URL: https://chromiumcodereview.appspot.com/9430044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 12:21:18 +00:00
fschneider@chromium.org
7de6be06cf
Eliminate use of ZONE macro in BitVector class and pass a zone explicitly.
...
Review URL: https://chromiumcodereview.appspot.com/9416092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 11:40:28 +00:00
svenpanne@chromium.org
333d5c789e
Cleaned up setting of accessors.
...
This CL is an intermediate step only, in the end we need to have a single
DefineOrRedefineAccessorProperty call for a single Object.defineProperty
call. Currently we can end up making two such calls, making the necessary access
checks extremely ugly and hard (impossible?) to get right for complete spec
conformance.
The bulk of the change is quite mechanical:
* Prepare an AccessorPair *before* we add it to our data structures,
eliminating the previous voodoo-like threading of a placeholder.
* The previous item makes it possible to activate our check that we do not
share AccessorPairs by accident.
* Split a monster method into 2 quite unrelated methods.
* Use templated To method in a few places.
Review URL: https://chromiumcodereview.appspot.com/9428026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 10:52:57 +00:00
jkummerow@chromium.org
4e0091bebb
Profiler experiments: self-optimization for functions containing calls
...
Review URL: https://chromiumcodereview.appspot.com/9430042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-22 10:48:58 +00:00
fschneider@chromium.org
c3297c8d2e
Use placement-new operator in the register allocator.
...
Pass the zone explicitly to avoid calling Isolate::Current()->zone().
Review URL: https://chromiumcodereview.appspot.com/9430002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 16:47:02 +00:00
mikhail.naganov@gmail.com
4b54dc52ba
Speedup the snapshot serialization.
...
Replaced multiple calls to AddNumber with a single AddString.
AddNumber may now print the value directly into the output buffer.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9395087
Patch from Alexei Filippov <alexeif@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 14:56:24 +00:00
rossberg@chromium.org
e414be5fc6
After assignment return right hand side value instead of undefined
...
when Object.isExtensible(o) === false
Added corresponding tests
ES5 description: http://es5.github.com/#x11.13.1
Related issue: http://code.google.com/p/v8/issues/detail?id=1901
Contributed by ioseb.dzmanashvili@gmail.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9429002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 14:09:45 +00:00
ulan@chromium.org
809ce0c822
Remove redundant statements in NewFunctionFromSharedFunctionInfo.
...
R=rossberg@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9428001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 13:08:50 +00:00
svenpanne@chromium.org
76a201df2f
Removed Runtime_DefineAccessor.
...
Runtime_DefineOrRedfineAccessorProperty basically does the same, so we have 1
code path less to worry about.
Review URL: https://chromiumcodereview.appspot.com/9424033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 12:47:27 +00:00
vegorov@chromium.org
f5c8ac9839
On ia32 LFunctionLiteral instruction should get context from esi register instead of stack slot.
...
This makes LFunctionLiteral safe even when it is used from inside inlined function.
All other architectures were implementing LFunctionLiteral correctly.
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-inlining-function-literal-context.js
Review URL: https://chromiumcodereview.appspot.com/9425061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 12:10:04 +00:00
jkummerow@chromium.org
54bd4e9a76
Prepare push to trunk. Now working on version 3.9.9.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9425059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 10:01:54 +00:00
erik.corry@gmail.com
81916b1763
Make sure that top bits are zero when storing untagged 32 bit values
...
in 64 bit spill slots.
Review URL: https://chromiumcodereview.appspot.com/9378006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 09:11:35 +00:00
fschneider@chromium.org
93802f79e5
MIPS: Enable optimization of top-level code and generate deoptimization support lazily.
...
Port r10700 (c976fbd5).
Original commit message:
This change enables optimization of top-level and eval-code. For this to work, it adds
support for declaring global variables in optimized code.
At the same time it disables the eager generation of deoptimization support data
in the full code generator (originally introduced in
r10040). This speeds up initial compilation and saves
memory for functions that won't be optimized. It requires
recompiling the function with deoptimization
support when we decide to optimize it.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9418006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 08:36:16 +00:00
svenpanne@chromium.org
9631dea19a
Cleaned up runtime macros a bit.
...
The bulk of this CL is purely mechanical: Make the CONVERT_FOO macros more
uniform by always using an index instead of an object. Apart from this, it
includes a few minor changes like using CONVERT_SMI_ARG_CHECKED a bit more or
introducing a new macro for PropertyDetails. Nothing spectacular, just something
sitting on my disk for quite some time now...
Review URL: https://chromiumcodereview.appspot.com/9395075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-21 07:35:33 +00:00
mstarzinger@chromium.org
417a01accf
Fix RegExp white-space character class to match BOMs.
...
R=rossberg@chromium.org
TEST=test262/S15.10.2.12_A?_T1,mjsunit/regexp
Review URL: https://chromiumcodereview.appspot.com/9426032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 17:50:53 +00:00
fschneider@chromium.org
b90a8ec851
Enable test-api/TurnOnAccessCheckAndRecompile and change it so it can't cause a GC.
...
A GC in the access check callbacks NamedSecurityCallback and IndexedSecurityCallback
violates the contract about these callbacks.
Added a EXTERNAL VMState scope around the call to FailedAccessCheckCallback to be
consistent with the other callback invocations.
BUG=v8:1952
TEST=cctest/test-api/TurnOnAccessCheckAndRecompile
Review URL: https://chromiumcodereview.appspot.com/9425048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 15:34:08 +00:00
rossberg@chromium.org
d180039f9c
Remove strict mode from message.js, seems to break Error conformance.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9426034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 15:02:23 +00:00
rossberg@chromium.org
958b3bf470
Parsing of basic module declarations (no imports/exports yet).
...
Module definitions are not compiled or otherwise executed yet.
Toplevel module identifiers are bound but never initialized.
R=kmillikin@chromium.org ,mstarzinger@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9401008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 14:02:59 +00:00
rossberg@chromium.org
1336b913d0
Make built-ins strict mode conforming, and support a --use-strict flag.
...
* Turned all uses of 'const' into 'var'.
* Turned all uses of local 'function' into 'var'.
* Added a couple of missing toplevel 'var' declarations.
One consequence is that the properties on the builtin object are no longer
non-writable, and I had to adapt one test. Is that a problem?
Unfortunately, we cannot actually switch the library scripts to strict mode
by default, because that makes observable things like poisoned .caller properties
for library functions.
Also removed dead flag code in Compiler::Compile.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9415010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:48:24 +00:00
yangguo@chromium.org
8ebbd863a5
Port r10490 and r10615 to cygwin.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9423041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:42:24 +00:00
ulan@chromium.org
fc36795ea8
Fix presubmit.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9427011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:22:02 +00:00
yangguo@chromium.org
30bcc481e1
Enable inlining for Math.min/max in more cases.
...
Review URL: https://chromiumcodereview.appspot.com/9372021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 13:21:15 +00:00
jkummerow@chromium.org
0177aa62da
Count ICs that have type information.
...
Hidden behind --type-info-threshold=X flag, usage dependent on experimental profiler.
Review URL: https://chromiumcodereview.appspot.com/9403009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 12:57:23 +00:00
ulan@chromium.org
2740d30687
Fix compile error on windows.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9424032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 12:36:35 +00:00
jkummerow@chromium.org
852b4f9854
Fix memory leak and missing #include in StartupDataDecompressor
...
BUG=v8:1960
TEST=compile with GYPFLAGS=-Dv8_compress_snapshot_data=bz2, then run d8 with valgrind
Review URL: https://chromiumcodereview.appspot.com/9395073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 11:01:17 +00:00
fschneider@chromium.org
3f8ed7c30d
Add a missing check for a failure result.
...
Function calls that may return a failure must use the result. Enforce
this by adding missing MUST_USE_RESULT to their declarations.
Review URL: https://chromiumcodereview.appspot.com/9421032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 10:17:25 +00:00
svenpanne@chromium.org
77079b6fd3
Avoid sharing AccessorPairs during Genesis.
...
To test the upcoming changes for map sharing in the presence of accessors, it is
essential that we keep a few global invariants: The map tree should always stay
a tree and AccessorPairs should not be shared between different DescriptorArrays
and/or StringDictionaries. This CL adds a test method for the latter invariant
and makes some changes to the bootstrapping process to avoid such sharing.
Note that we can't enable the new test method permanently yet, because we
currently go back and forth between fast mode and slow mode when adding an
accessor and break this invariant temporarily. This will be handled in a
separate CL.
Review URL: https://chromiumcodereview.appspot.com/9417043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 08:42:18 +00:00
mstarzinger@chromium.org
e2ec183926
Fix String.prototype.split for undefined separator.
...
R=rossberg@chromium.org
TEST=test262/S15.5.4.14_A?_T?
Review URL: https://chromiumcodereview.appspot.com/9355005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-20 08:41:13 +00:00
fschneider@chromium.org
ca1610e302
Add missing checks for failure after AddElementsTransition.
...
Review URL: https://chromiumcodereview.appspot.com/9416058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 16:02:20 +00:00
svenpanne@chromium.org
f06b182f8e
Moved access checks out of Dictionary class.
...
The checks were at the wrong abstraction level, JSObject is the right place for
this check. Note that other uses of ValueAtPut either don't need a check at all
(like the one used for copying boilerplate) or do the check for themselves.
Review URL: https://chromiumcodereview.appspot.com/9417044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 13:48:43 +00:00
ulan@chromium.org
fd2d480fb0
Rename static methods to avoid shadowing virtual methods
...
and fix Clang C++11 compile error.
Review URL: https://chromiumcodereview.appspot.com/9420049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 12:59:58 +00:00
mstarzinger@chromium.org
e423637898
Fix sequence of element access in array builtins.
...
R=rossberg@chromium.org
BUG=v8:1790
TEST=mjsunit/regress/regress-1790,test262/15.4.4.22-9-9
Review URL: https://chromiumcodereview.appspot.com/9419044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-17 10:06:26 +00:00
mstarzinger@chromium.org
1dd2b094a5
Implement fast literal support in Crankshaft.
...
This extends the current support for nested object literals we already
have in Crankshaft, to also support nested array literals and mixed
nested literals containing arrays and objects. All three types are
generated by the unified HFastLiteral instruction.
All previous upper bounds on nested literal graphs remain unchanged,
keeping the size of generated code in check.
The main intention is to boost performance of two-dimensional array
literals containing constant elements (aka. matrices).
R=danno@chromium.org
TEST=mjsunit/compiler/literals-optimized
Review URL: https://chromiumcodereview.appspot.com/9403018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 17:32:30 +00:00
mstarzinger@chromium.org
15c368ce4c
Revert r10721 because of test flakiness.
...
TBR=fschneider@chromium.org
BUG=v8:1322
Review URL: https://chromiumcodereview.appspot.com/9417013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 17:13:37 +00:00
danno@chromium.org
6f7d9d2312
Enable smi_only_arrays by default.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9414007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:47:36 +00:00
danno@chromium.org
a07e129e9a
Relax TransitionElementsKind DependsOn/Changes dependencies.
...
Ensure that GVN eliminates all transitions that are dominated by an equivalent transition, even if there is a DependsOn-changing instruction in between.
R=fschneider@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9365057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:37:52 +00:00
yangguo@chromium.org
0ee19e40b1
Prepare push to trunk. Now working on version 3.9.8.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9416016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 15:30:43 +00:00
vegorov@chromium.org
b6551b83a5
Increase ARM/MIPS simulators stack safety margin to 1024 bytes
...
Based on r9686 (10e1ea5).
BUG=
TEST=mozilla regress-355497.js
Review URL: https://chromiumcodereview.appspot.com/9309030
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 14:16:12 +00:00
mstarzinger@chromium.org
acb83c06f4
Allow inlining of functions containing function literals.
...
R=fschneider@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://chromiumcodereview.appspot.com/9419005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 14:01:41 +00:00
jkummerow@chromium.org
0199492d57
MIPS: Initial support for count-based profiling
...
Port r10699 (18a0fc0).
Original commit message:
(behind FLAG_count_based_interrupts; only on ia32)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9420005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 13:33:37 +00:00
yangguo@chromium.org
cc2780403a
Ensure using byte registers for byte instructions on ia32 and x64.
...
BUG=v8:1945
TEST=regress-1945.js
Review URL: https://chromiumcodereview.appspot.com/9418005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 12:48:02 +00:00
danno@chromium.org
dd95fee084
Cast NaN to float in ExternalFloatArray::SetValue.
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9419003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 09:36:11 +00:00
fschneider@chromium.org
596a0fa73c
MIPS: Re-worked the deopt entry table.
...
This method works around the Branch offset and relocinfo issues by emulating a pc-relative jump.
This allows us to generate larger entry tables. The theoretical limit is 2^16 (number of entries)
but even that can be extended by allowing a larger instruction count.
Also reverted the mips-specific constant (kNumberOfEntries) in deoptimizer.h
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9347016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 08:38:25 +00:00
jkummerow@chromium.org
1cd5f2c7ba
Fix GCC-4.7 warnings
...
which were introduced in r10700.
Review URL: https://chromiumcodereview.appspot.com/9401005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 08:38:11 +00:00
danno@chromium.org
bd79e299e5
Uniformly handle 'undefined' store to Float64Array and Float32Array.
...
Previous behavior diverged in ICs and Crankshaft. When storing to a Float32Array or Float64Array, the ICs treated undefined as zero while Crankshaft treated it as NaN. Now both ICs and Crankshaft treat it as NaN, which is consistent with the WebGL & ECMAScript spec.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9402008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-16 07:58:07 +00:00
yangguo@chromium.org
01e46b955f
Initialize internal arrays with the correct map.
...
BUG=v8:1878
TEST=regress-1878.js
Review URL: https://chromiumcodereview.appspot.com/9402009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-15 13:45:42 +00:00
yangguo@chromium.org
b21ada9a98
Remove unnecessary elements type check when allocating array in runtime.
...
BUG=
TEST=--smi-only-arrays should be perf-neutral to allocating big arrays in a tight loop.
Review URL: https://chromiumcodereview.appspot.com/9356002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-15 12:13:55 +00:00
rossberg@chromium.org
f2715fe710
MIPS: Split AST Declaration class, in preparation for new module declaration forms.
...
Port r10662 (c8054f6
).
Original commit message:
Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 16:07:47 +00:00
jkummerow@chromium.org
8ac0c1cdf2
Properly disable count-based profiler on non-ia32
...
TEST=buildbot redness gone
Review URL: https://chromiumcodereview.appspot.com/9360043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 16:05:40 +00:00
danno@chromium.org
b098a2bdf6
MIPS: Implement KeyedStoreICs to grow arrays on out-of-bound stores.
...
Port r10673 (18d3af5).
Original commit message:
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9378005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 15:49:10 +00:00
danno@chromium.org
71cd77e22c
Fix crashing bugs in store-and-grow IC for double values.
...
R=jkummerow@chromium.org
BUG=chromium:113924
TEST=test/mjsunit/regress/regress-113924.js
Review URL: https://chromiumcodereview.appspot.com/9365055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 15:09:49 +00:00
jkummerow@chromium.org
82a1adcb69
Reapply r10690 ("Temporarily disable inlining of Math.floor called as a function")
...
This reverts r10692.
Review URL: https://chromiumcodereview.appspot.com/9359035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:40:58 +00:00
jkummerow@chromium.org
866e0eeeb7
Small update to experimental profiler flags
...
Review URL: https://chromiumcodereview.appspot.com/9360041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:28:37 +00:00
fschneider@chromium.org
0be449d684
Enable optimization of top-level code and generate deoptimization support lazily.
...
This change enables optimization of top-level and eval-code. For this to work, it adds
support for declaring global variables in optimized code.
At the same time it disables the eager generation of deoptimization support data
in the full code generator (originally introduced in
r10040). This speeds up initial compilation and saves
memory for functions that won't be optimized. It requires
recompiling the function with deoptimization
support when we decide to optimize it.
Review URL: https://chromiumcodereview.appspot.com/9187005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:14:51 +00:00
jkummerow@chromium.org
4233bf8348
Initial support for count-based profiling
...
(behind FLAG_count_based_interrupts; only on ia32)
Review URL: https://chromiumcodereview.appspot.com/9373028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 14:00:31 +00:00
rossberg@chromium.org
559f5eecad
Don't treat function parameters as let-bound variables in Harmony mode.
...
R=ulan@chromium.org
BUG=v8:1942
TEST=
Review URL: https://chromiumcodereview.appspot.com/9365054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 13:47:54 +00:00
ulan@chromium.org
9da06ece99
Prepare push to trunk. Now working on version 3.9.7.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 11:44:01 +00:00
fschneider@chromium.org
d462550446
Revert r10690. Enable inlining of Math.floor again.
...
The test failures reported in issue v8:1947 are unrelated to this change since it is not reproducible anymore.
BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9365048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 10:43:40 +00:00
danno@chromium.org
7a79e3547c
objects: fix template-related linker error
...
R=erik.corry@gmail.com
BUG=1936
TEST=
Review URL: https://chromiumcodereview.appspot.com/9382033
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 09:42:38 +00:00
fschneider@chromium.org
fd4ceab217
Temporarily disable inlining of Math.floor called as a function because of test failures.
...
BUG=v8:1947
Review URL: https://chromiumcodereview.appspot.com/9359032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 09:42:31 +00:00
mstarzinger@chromium.org
0db91d40e9
Allow inlining of functions containing object literals.
...
R=fschneider@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://chromiumcodereview.appspot.com/9388007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:57:10 +00:00
yangguo@chromium.org
ed54dd2042
Port r10674 to MIPS.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9395003
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:45:32 +00:00
yangguo@chromium.org
36141ddfa3
Fix crash when using --smi-only-arrays and --trace-elements-transitions
...
BUG=
TEST=3d-cube on debug mode with --smi-only-arrays and --trace-elements-transitions
Review URL: https://chromiumcodereview.appspot.com/9361054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-14 08:38:03 +00:00
svenpanne@chromium.org
0a9e97e9c4
Clear map transitions in CALLBACKS when normalizing properties.
...
As a bonus, simplify the surrounding code a bit by using the templatized To method.
Review URL: https://chromiumcodereview.appspot.com/9392002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 14:41:46 +00:00
svenpanne@chromium.org
2a57257940
DescriptorArray::CopyFrom should always drop transitions for CALLBACKS.
...
Review URL: https://chromiumcodereview.appspot.com/9389005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 14:15:43 +00:00
danno@chromium.org
da2e84fcb2
Fix crash in CALLBACK KeyedIC stub.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9390005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 13:39:31 +00:00
danno@chromium.org
ad41b9ebc4
Optimize call sites that only ever see a single elements transition
...
R=jkummerow@chromium.org
TEST=imaging-gaussian-blur performance improves
Review URL: https://chromiumcodereview.appspot.com/9389001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 11:37:39 +00:00
yangguo@chromium.org
0801e4c3e0
Port r10674 to x64 and arm.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9384005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 08:21:01 +00:00
yangguo@chromium.org
b06c041448
MIPS: Fixed several bugs in SubStringStub::Generate.
...
A combination of bugs caused this function to almost always jump to runtime
which is why most tests passed.
BUG=
TEST=sputnik/S15.5.4.13_A2_T6
Review URL: https://chromiumcodereview.appspot.com/9382005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-13 08:17:32 +00:00
jkummerow@chromium.org
7c695dcfa9
MIPS: Count-based profiling for primitive functions (hidden behind a flag)
...
Port r10657 (92073cf).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9383003
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 16:26:55 +00:00
loislo@chromium.org
384cc7fce2
Heap Snapshot maximum size limit is too low for really big apps.
...
At the moment the limit is 256MB.
BUG=113015
TEST=none
Review URL: https://chromiumcodereview.appspot.com/9375047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 14:00:16 +00:00
yurys@chromium.org
97cbb319bd
Provide user-friendly access to natively bound function parameters
...
For a closure created using native Function.prototype.bind() the most important information for the heap profiler user is bound function, receiver and arguments. This change adds shortcuts for those fields.
Review URL: https://chromiumcodereview.appspot.com/9382002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 13:54:20 +00:00
danno@chromium.org
eb71dfee89
Implement elements transitions in ia32 Array constructor with n args.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9369044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:41:48 +00:00
danno@chromium.org
f0c4b87f34
Implement KeyedStoreICs to grow arrays on out-of-bound stores.
...
Supports growing non-COW JSArray by a single element if the backing store has room, and initial allocation of a backing store for the store to index zero of an empty array to kPreallocatedArrayElements elements (e.g. the [] array literal).
Review URL: https://chromiumcodereview.appspot.com/9310117
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:36:05 +00:00
yangguo@chromium.org
e74b57317b
Fix crashes on x64 with smi-only arrays active.
...
Review URL: https://chromiumcodereview.appspot.com/9384002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 12:28:25 +00:00
kmillikin@chromium.org
581b7e6eb2
Streamline throwing in the C entry stub.
...
Remove a gratuitous level of indirection in favor of direct calls to the
macro assembler, and eliminate some duplicated code for the uncatchable
case.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9373022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 08:47:35 +00:00
kmillikin@chromium.org
f8421446e2
Small cleanup of ast.h.
...
Somehow the definition of DECLARE_NODE_TYPE was duplicated and never undef'd.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-10 08:35:57 +00:00
rossberg@chromium.org
0fa948d19e
Make constructors explicit.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9368026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:54:45 +00:00
yangguo@chromium.org
eae54f2a54
Prepare push to trunk. Now working on version 3.9.6.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9374017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:49:30 +00:00
rossberg@chromium.org
5498a6345a
Extend AST with basic module constructs (yet unused).
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9373023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:40:41 +00:00
rossberg@chromium.org
751508d6aa
Split AST Declaration class, in preparation for new module declaration forms.
...
Turns Declaration into an abstract class, and introduces VariableDeclaration as a concrete subclass.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9348057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:39:26 +00:00
yangguo@chromium.org
d7934bd44c
MIPS: Convert fast smi-only to fast object in generated code for array push.
...
Port r10648 (818a1aa).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372022
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:32:11 +00:00
jkummerow@chromium.org
de510c3a58
Split experimental profiler flags
...
Review URL: https://chromiumcodereview.appspot.com/9374015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:30:01 +00:00
danno@chromium.org
1588f7224e
Revert 9111036: Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
...
It tanked Kraken.
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9368024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 13:07:46 +00:00
svenpanne@chromium.org
96cad0d9f0
Handlify GetSourceCode-related functions.
...
Review URL: https://chromiumcodereview.appspot.com/9374013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 10:46:50 +00:00
jkummerow@chromium.org
aa2e842134
Count-based profiling for primitive functions (hidden behind a flag)
...
Review URL: https://chromiumcodereview.appspot.com/9361026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 10:19:46 +00:00
svenpanne@chromium.org
fdf31d1bff
Cleaned up DescriptorArray::CopyInsert a bit.
...
The point of this refactoring is to remove some copy 'n' paste from the code,
preparing some upcoming changes related to CopyFrom and CALLBACKS with
transitions. The index fiddling is tricky enough to warrant a separate
refacoring-only CL...
Review URL: https://chromiumcodereview.appspot.com/9371013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:55:14 +00:00
kmillikin@chromium.org
831ada2f0d
Simplify handler pushing.
...
Instead of using two separate bits to encode three possible values, use
three values to encode the three possible values.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9372016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:43:37 +00:00
mstarzinger@chromium.org
34f220001d
Simplify stackframe of construct stub on ARM and MIPS.
...
This unifies the stackframe layout of the generic constructor stub to be
in sync with ia32 and x64. There was an unecessary copy of the construct
function saved on the stack which wasn't used at all.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9348058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:13:31 +00:00
danno@chromium.org
d89c0b9500
Promote double arrays to FAST_ELEMENT that use generic KeyedLoadIC
...
Review URL: https://chromiumcodereview.appspot.com/9111036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 09:11:04 +00:00
danno@chromium.org
d949c64688
Improve GVN handling of ElementTransitions.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9141016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-09 08:58:19 +00:00
yangguo@chromium.org
d714d8511b
Convert fast smi-only to fast object in generated code for array push.
...
Review URL: https://chromiumcodereview.appspot.com/9365020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 17:05:59 +00:00
vegorov@chromium.org
96baf602df
Ensure that regexp code flushing correctly updates slots buffer.
...
Enable code compaction again.
R=erik.corry@gmail.com
Review URL: https://chromiumcodereview.appspot.com/9365019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 15:44:07 +00:00
erik.corry@gmail.com
53c6838cce
Remove 5 unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9362014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 15:39:41 +00:00
danno@chromium.org
7639836eca
MIPS: Handle single element array growth + transition in generic KeyedStoreIC
...
Port r10583 (505679e).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9316061
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 14:43:36 +00:00
danno@chromium.org
3c6459285c
MIPS: Don't allow large immediates for certain instructions.
...
Some instructions can use >16 bit immediates if they represent a <=16 bit signed value.
However some logical instructions (andi, xori, ori, lui) should always treat the immediate value as unsigned.
This patch adds an ASSERT to these places and a minor change to MacroAssembler::li to satisfy this.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9309077
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 14:41:10 +00:00
kmillikin@chromium.org
e505a085e3
Remove the JSON AST printing support.
...
We are not currently maintaining or testing this.
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9363019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 13:53:24 +00:00
fschneider@chromium.org
3f50663371
Remove remaining occurrences of the unused --opt-eagerly flag.
...
Fix a lint error.
Review URL: https://chromiumcodereview.appspot.com/9365015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 12:49:04 +00:00
fschneider@chromium.org
b8b50400d2
Inline builtin Math functions functions in more cases.
...
Until now we only could inline as specialized HIR instructions when called
as a method (e.g. Math.abs)
It is very common practice to abbreviate calls to those functions by defining
a global or local variable like:
var a = Math.abs;
var x = a(123);
This change allows inlining them when called as a function (global or local).
Review URL: https://chromiumcodereview.appspot.com/9365013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 12:08:46 +00:00
rossberg@chromium.org
a0b287a3b1
Extend scanner with new Harmony module keywords (under flag).
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9352013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:53:58 +00:00
fschneider@chromium.org
3ed0ab7a73
MIPS: Fix compilation error after removing an unused flag.
...
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9348049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:33:30 +00:00
fschneider@chromium.org
5bc8a69055
Remove another two unused flags.
...
Review URL: https://chromiumcodereview.appspot.com/9358019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:26:17 +00:00
svenpanne@chromium.org
6f573edc11
Prepare push to trunk. Now working on version 3.9.5.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9358021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 10:23:10 +00:00
jkummerow@chromium.org
d795b7c620
Collect AstNode type information
...
Review URL: https://chromiumcodereview.appspot.com/9221011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:56:33 +00:00
kmillikin@chromium.org
9463c00d64
Remove unused --peephole-optimization flag.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9361022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:55:25 +00:00
yangguo@chromium.org
3e58827710
Fix elements transition bug related to array.concat.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9358018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 09:50:13 +00:00
lrn@chromium.org
f0a87d7c34
Fix handling of 'c: if (0) break c; else ()' where a parser optimization
...
leaves a trailing ";" after removing the break.
Review URL: https://chromiumcodereview.appspot.com/9159043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-02-08 08:40:11 +00:00
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
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
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
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
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
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
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
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
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
danno@chromium.org
900a0012ce
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
2012-01-27 14:55:20 +00:00
danno@chromium.org
1c254fb59c
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
2012-01-27 14:40:42 +00:00
mstarzinger@chromium.org
7bc6526e64
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
2012-01-27 13:20:01 +00:00
loislo@chromium.org
e3f2cc292e
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
2012-01-27 13:09:15 +00:00
rossberg@chromium.org
b05d7619c8
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
2012-01-27 13:07:39 +00:00
mstarzinger@chromium.org
8c12b6b743
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
2012-01-27 13:03:19 +00:00
loislo@chromium.org
449d7e7def
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
2012-01-27 13:01:16 +00:00
loislo@chromium.org
b60805627f
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
2012-01-27 12:36:13 +00:00
loislo@chromium.org
07d720ec41
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
2012-01-27 12:02:57 +00:00
danno@chromium.org
a890d245b4
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
2012-01-27 11:43:40 +00:00
svenpanne@chromium.org
a538072a08
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
2012-01-27 09:34:05 +00:00
danno@chromium.org
14d23b710b
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
2012-01-27 08:59:42 +00:00
danno@chromium.org
39cab48faf
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
2012-01-26 22:33:54 +00:00
danno@chromium.org
57525ef893
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
2012-01-26 21:47:57 +00:00
danno@chromium.org
18f28fb2c0
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
2012-01-26 16:54:44 +00:00
yangguo@chromium.org
ea041a187c
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
2012-01-26 16:05:28 +00:00
fschneider@chromium.org
0d4fc913d0
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
2012-01-26 15:53:21 +00:00
erik.corry@gmail.com
448b6bbc41
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
2012-01-26 11:32:01 +00:00
vegorov@chromium.org
c712ecfdb0
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
2012-01-26 11:26:45 +00:00
erik.corry@gmail.com
d6f476dd41
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
2012-01-26 11:14:19 +00:00
yangguo@chromium.org
8e7c28c5b2
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
2012-01-26 07:35:56 +00:00
kmillikin@chromium.org
cb876c25a4
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
2012-01-25 16:31:25 +00:00
erik.corry@gmail.com
248adeb110
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
2012-01-25 15:17:26 +00:00
vegorov@chromium.org
67d72eab45
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
2012-01-25 15:11:59 +00:00
erik.corry@gmail.com
a49c8a19ee
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
2012-01-25 14:27:58 +00:00
svenpanne@chromium.org
7719981078
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
2012-01-25 14:22:59 +00:00
mstarzinger@chromium.org
4b913965a9
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
2012-01-25 13:46:42 +00:00
yurys@chromium.org
09ff5c4c44
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
2012-01-25 12:45:54 +00:00
danno@chromium.org
557e2cd90e
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
2012-01-25 12:43:32 +00:00
danno@chromium.org
adc196d86e
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
2012-01-25 12:32:05 +00:00
svenpanne@chromium.org
6859247172
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
2012-01-25 08:50:55 +00:00
svenpanne@chromium.org
891f0efa3f
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
2012-01-25 07:26:07 +00:00
kmillikin@chromium.org
12f982cf6a
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
2012-01-25 00:16:07 +00:00
jkummerow@chromium.org
6c85119c6a
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
2012-01-24 16:36:55 +00:00
erik.corry@gmail.com
be288cf2b4
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
2012-01-24 16:00:19 +00:00
erik.corry@gmail.com
ee1d0fc5c6
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
2012-01-24 15:48:16 +00:00
yangguo@chromium.org
22f97d99be
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
2012-01-24 12:10:28 +00:00
yangguo@chromium.org
4aa558f22d
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
2012-01-24 11:55:11 +00:00
vegorov@chromium.org
d16c6a9874
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
2012-01-24 09:05:15 +00:00
vegorov@chromium.org
04289e8d17
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
2012-01-24 08:43:12 +00:00
fschneider@chromium.org
0b3ce1dd9e
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
2012-01-24 02:13:28 +00:00
fschneider@chromium.org
c6e1d11885
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
2012-01-24 01:46:26 +00:00
fschneider@chromium.org
2284996cc1
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
2012-01-23 18:11:36 +00:00
erik.corry@gmail.com
83b439a0f9
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
2012-01-23 16:18:10 +00:00
jkummerow@chromium.org
5da21118e8
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
2012-01-23 14:34:49 +00:00
svenpanne@chromium.org
fd2731a7e6
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
2012-01-23 12:01:47 +00:00
svenpanne@chromium.org
e2af8fd68a
Refactored iterative map traversal.
...
The main goal is to cleanly separate between the several parts involved in the traversal:
* iterating over all transitions in a descriptor array
* iterating over all prototype transitions
* storing the parent and the current local traversal position in a map
* the iterative traversal algorithm itself
The previous algorithm for iterating over prototype transitions did a little bit too much here, iterating over the whole array instead only the filled part. This has been fixed on the way, too.
With this CL, it will be much easier to make the necessary changes to the descriptor array iterator to correctly handle map transitions for accessor properties. Furthermore, perhaps we represent transitions a bit different in the future, making finding them a bit easier. This would make some code in this CL (and elsewhere) quite a bit shorter and more efficient.
Review URL: https://chromiumcodereview.appspot.com/9252007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 10:50:14 +00:00
yangguo@chromium.org
504fff1118
Cleaning up after r10471.
...
Review URL: https://chromiumcodereview.appspot.com/9193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 08:39:49 +00:00
yangguo@chromium.org
bc091f31c8
Removing experimental i18n code from v8 repository. Internationalization support is hosted under code.google.com/p/v8-i18n for couple months now.
...
TEST=Chromium/WebKit builds should pass.
Review URL: https://chromiumcodereview.appspot.com/9016034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-23 08:09:22 +00:00
vegorov@chromium.org
8c776261c2
Limit number of loop iterations in Heap::ReserveSpace.
...
This allows to avoid infinite loops in pathalogical cases e.g. when OS refuses to give new pages to V8.
R=erik.corry@gmail.com
BUG=99027
Review URL: https://chromiumcodereview.appspot.com/8286020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 17:21:26 +00:00
yangguo@chromium.org
11e779185b
Parallelize cpplint in presubmit and fix usage of DISALLOW_* macros.
...
BUG=v8:1653
Review URL: https://chromiumcodereview.appspot.com/9192010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 16:17:08 +00:00
danno@chromium.org
e9139ffa71
Remove stray GVN flag in TransitionElementsKind
...
TBR=mstarzinger@chromium.org
BUG=none
TEST=build turns green
Review URL: https://chromiumcodereview.appspot.com/9270010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:55:06 +00:00
yangguo@chromium.org
89591097aa
Fix solaris build (VirtualMemory).
...
BUG=v8:1761
TEST=
Review URL: https://chromiumcodereview.appspot.com/9233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:43:38 +00:00
svenpanne@chromium.org
ed4343d982
Removed IsPropertyOrTransition method.
...
It had only 2 uses: One use could be rewritten in a simpler way, and the other
is actually more readable after inlining and fixing the comments.
Review URL: https://chromiumcodereview.appspot.com/9233006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 15:10:35 +00:00
danno@chromium.org
960923078b
MIPS: Make sure transitioned arrays efficiently call builtin Array functions
...
Port r10356 (69da81).
Original commit message:
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9265007
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 14:17:26 +00:00
danno@chromium.org
8d741a9add
Split GVN flags from flags in Hydrogen instructions.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9233005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 14:08:20 +00:00
rossberg@chromium.org
c61665604b
Fix handling of function proxies in higher-order array and string methods,
...
which use yet another way to determine strict vs non-strict function receivers.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9270004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 13:59:37 +00:00
erik.corry@gmail.com
9672a04de2
Fix keyed lookup cache to have 2 entried per bucket instead
...
of one in order to reduce collisions.
Review URL: https://chromiumcodereview.appspot.com/9269004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 13:43:21 +00:00
vegorov@chromium.org
1f4ec772f7
MIPS: Change inlined cache of intanceof stub to use indirection through cell.
...
Port r10380 (46f646).
Original commit message:
The stub was directly patching caller's code without issuing write barrier which violated incremental marking invariants.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9159008
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 12:50:39 +00:00
vegorov@chromium.org
4de11a7bee
MIPS: Allow call-known-global and call-constant-function to be used
...
for call-sites with mismatched number of arguments.
Port r10424 (92a05c9c).
Original commit message:
Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9150026
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 12:49:43 +00:00
yangguo@chromium.org
af98ee9492
Enable asynchronous remote debugging with d8.
...
BUG=v8:1691
TEST=
Review URL: https://chromiumcodereview.appspot.com/9138015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-20 11:59:00 +00:00
mstarzinger@chromium.org
dffb78e312
Fix missing write-barrier for prototype transitions.
...
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9150041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 18:50:01 +00:00
yangguo@chromium.org
8e7194e62e
Fix shared library build.
...
Review URL: https://chromiumcodereview.appspot.com/9265010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 17:04:34 +00:00
yangguo@chromium.org
41b7c56031
Fix remote debugger crash.
...
Review URL: https://chromiumcodereview.appspot.com/9200006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 16:52:16 +00:00
ulan@chromium.org
4f882a86a4
Prepare push to trunk. Now working on version 3.8.8.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9264011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 15:28:48 +00:00
jkummerow@chromium.org
606c996a67
Revert "Immediately use the generic stub when storing into COW arrays"
...
Due to unexpected performance implications.
This reverts r10429.
Review URL: https://chromiumcodereview.appspot.com/9150032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:58:54 +00:00
erik.corry@gmail.com
d4cf1699ec
Add missing SmiUntag for string hash calculation in
...
in-snapshot code on IA32.
Review URL: https://chromiumcodereview.appspot.com/9254027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:43:25 +00:00
erik.corry@gmail.com
ae698e73f4
MIPS: Use shift and add instead of mul on ARM for integer hash. This is a commit of http://codereview.chromium.org/9192011/ for Daniel Kalmar
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 14:08:48 +00:00
erik.corry@gmail.com
60f1618970
Add an assert to the serializer.
...
Review URL: https://chromiumcodereview.appspot.com/9159010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:51:45 +00:00
kmillikin@chromium.org
b571bd2ce9
MIPS: Fix for an ARM register allocation bug.
...
Port r10374 (03bbe39).
Note: the MIPS version was not affected by the bug. This is merely a style cleanup.
Original commit message:
An off-by-one in the register allocator could lead to allocating (and
clobbering) the reserved 0.0 double register. This required a function with
14 or more live double values.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9150025
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:41:11 +00:00
mstarzinger@chromium.org
77f6a6fc31
Fix prototype transition clearing during full GC.
...
R=vegorov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9195008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:38:37 +00:00
erik.corry@gmail.com
504ef4f243
Robustify the clearing of the cache of map-related ICs on the map.
...
Review URL: https://chromiumcodereview.appspot.com/9159009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:22:16 +00:00
fschneider@chromium.org
48a24b9224
MIPS: Tiny improvement of register constraints in LClassOfTest instructions.
...
Port r10379 (3399d6).
Original commit message:
The input register does not need to be made writable. We already
allocate enough temp registers and the input register will always
be preserved.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9254025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 13:07:46 +00:00
yangguo@chromium.org
5b81bd0f0c
MIPS: Inlining Math.min and Math.max in crankshaft.
...
Port r10391 (7900f3c).
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9195009
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 12:42:20 +00:00
fschneider@chromium.org
ed5f9a4c77
Generate faster compares for === and !== with boolean constants.
...
Review URL: http://codereview.chromium.org/9195005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 12:14:11 +00:00
vegorov@chromium.org
704c92ce95
Ensure that LRandom restores rsi after call to the C function on x64.
...
R=ulan@chromium.org
BUG=http://crbug.com/110509
TEST=test/mjsunit/regress/regress-110509.js
Review URL: https://chromiumcodereview.appspot.com/9265003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-19 08:43:34 +00:00
rossberg@chromium.org
1a52ae7c1e
Fix typos in JSObject::GetHeaderSize, which just worked by accident.
...
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9231025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 17:01:57 +00:00
jkummerow@chromium.org
3a4bed8a7e
Only clear monomorphic ICs on GC after Context exit
...
Review URL: https://chromiumcodereview.appspot.com/9255014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 16:16:11 +00:00
fschneider@chromium.org
98013d9824
Eliminate a superfluous map check when building generic array element access.
...
In the case where we generate a generic load or store, we don't need to emit a non-smi-check and a map-check before it.
Review URL: http://codereview.chromium.org/9252008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 14:05:11 +00:00
jkummerow@chromium.org
99718b95a8
Immediately use the generic stub when storing into COW arrays
...
Review URL: https://chromiumcodereview.appspot.com/9254005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 13:15:22 +00:00
vegorov@chromium.org
3fd6ba109e
When adjusting page's live bytes counter from the mutator adjust owners unswept free bytes counter.
...
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9178021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-18 09:21:07 +00:00
fschneider@chromium.org
01979c70a8
Fix handling of named interceptors in optimized code.
...
When calling a constant function property from optimized code,
we need to check that there is no interceptor on the receiver map.
TEST=cctest/InterceptorCallICConstantFunctionNotNeededWrapped
Review URL: http://codereview.chromium.org/9240006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 16:06:03 +00:00
vegorov@chromium.org
fb24808c70
Allow call-known-global and call-constant-function to be used for call-sites with mismatched number of arguments.
...
Adjust InvokeFunction to avoid generating dead code when number when arity mismatch is detected in compile time.
R=fschneider@google.com
Review URL: https://chromiumcodereview.appspot.com/9178017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 15:53:58 +00:00
yangguo@chromium.org
6d0d6a5695
Recursion limit for one-char string replace and retire String::kMinNonFlatLength.
...
TEST=mjsunit/string-replace-one-char.js
Review URL: https://chromiumcodereview.appspot.com/9231017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 14:29:17 +00:00
mstarzinger@chromium.org
f3045d3802
Fix corner-case in heap size estimation.
...
Empty but unswept pages could cause the unswept_free_bytes counter to
to be off in case heap gets shrunk and page gets released before it was
swept properly.
R=vegorov@chromium.org
BUG=v8:1893
Review URL: https://chromiumcodereview.appspot.com/9241010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 14:09:12 +00:00
yangguo@chromium.org
73ac99286d
Remove limit for d8 shell input length.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/9232009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 13:37:09 +00:00
erik.corry@gmail.com
a02dbe4258
Revert 10413-10416 initial memory use reduction due to
...
test failures.
Review URL: http://codereview.chromium.org/9178014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 13:13:55 +00:00
erik.corry@gmail.com
07b46f47d2
Make fussy Windows compiler happy.
...
Review URL: http://codereview.chromium.org/9178012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 12:49:15 +00:00
erik.corry@gmail.com
fdc163bbbb
Make from-space initially uncommitted for another 1Mbyte
...
improvement in boot time memory usage.
Review URL: http://codereview.chromium.org/9242008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 12:09:11 +00:00
erik.corry@gmail.com
516f08afca
Unbreak the 64 bit build.
...
Review URL: http://codereview.chromium.org/9178011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 11:49:01 +00:00
erik.corry@gmail.com
3403e76682
Reduce boot-up memory use of V8.
...
Reduce signal sender thread stack size to 32k.
Commit partial old-space pages to reduce minimum memory use.
This is a rebase of http://codereview.chromium.org/9017009/
Review URL: http://codereview.chromium.org/9179012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-17 11:38:25 +00:00
yangguo@chromium.org
a97cebe292
Fast path for string.replace that replaces a single character by a string.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/9213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 15:21:38 +00:00
vegorov@chromium.org
7370cf6f9d
Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
...
R=fschneider@chromium.org
BUG=v8:1903
Review URL: http://codereview.chromium.org/9179010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 15:11:56 +00:00
jkummerow@chromium.org
2dc816bb2d
Add Android cross-compilation support to top-level Makefile
...
TEST=make android
Review URL: http://codereview.chromium.org/9179009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 13:29:12 +00:00
erik.corry@gmail.com
70da367f6b
More spelling changes.
...
Review URL: http://codereview.chromium.org/9231009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 12:38:59 +00:00
erik.corry@gmail.com
c5e547fd05
Prepare push to trunk. Now working on version 3.8.7.
...
Review URL: http://codereview.chromium.org/9233001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 10:28:34 +00:00
erik.corry@gmail.com
48f239e087
Spellling mistakes.
...
Review URL: http://codereview.chromium.org/9123031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 09:46:21 +00:00
erik.corry@gmail.com
40a433c9e0
Split NumberDictionary into a randomly seeded and an unseeded
...
version. We don't want to randomize the stub cache.
Review URL: http://codereview.chromium.org/9174023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-16 09:44:35 +00:00
yurys@chromium.org
ebb75c23a1
Provide a way for iterating through all external strings referenced from the JS heap
...
Review URL: http://codereview.chromium.org/9139018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 15:14:45 +00:00
erik.corry@gmail.com
b3e0761e38
Cosmetic changes ("set up" is a verb, "setup" is a noun).
...
Review URL: http://codereview.chromium.org/9139051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 13:09:52 +00:00
erik.corry@gmail.com
5e1c9e29a9
Small fixes to hash seeding code, discovered during
...
review of back port.
Review URL: http://codereview.chromium.org/9187006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 09:38:20 +00:00
yangguo@chromium.org
ddc0144490
Fixing issue 1898 (using HChange outside the insert-representation-changes phase).
...
BUG=v8:1898
TEST=mjsunit/regress/regress-1898.js
Review URL: http://codereview.chromium.org/9190047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-13 07:48:44 +00:00
svenpanne@chromium.org
a19e87b9a0
Improved output for bailouts on huge functions
...
Review URL: http://codereview.chromium.org/9190008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-12 07:17:46 +00:00
yangguo@chromium.org
339c9c12e7
Inlining Math.min and Math.max in crankshaft.
...
BUG=v8:1325
TEST=
Review URL: http://codereview.chromium.org/9147034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 15:43:33 +00:00
danno@chromium.org
a42da8e38d
Correct nits in d8 ArrayBuffer() implementation
...
TBR=jkummerow@chromium.org
BUG=none
TEST=external-array.js
Review URL: http://codereview.chromium.org/9185006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 15:10:56 +00:00
danno@chromium.org
6ce13906dc
Add primitive WebGL ArrayBuffer() support to d8
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9114050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 14:42:58 +00:00
ager@chromium.org
430c64d182
Port Math.random change to MIPS.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/9107006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 12:19:11 +00:00
ager@chromium.org
d59749f8b4
Support inlining and crankshaft optimization of Math.random.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9167011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 10:35:37 +00:00
mstarzinger@chromium.org
83d912f0e4
Make heap size estimation more accurate.
...
This improves the heap size estimation by not counting lazy swept pages
as completely allocated but use their live bytes counter instead.
R=vegorov@chromium.org
BUG=v8:1893
TEST=cctest/test-heap/TestSizeOfObjects
Review URL: http://codereview.chromium.org/9173001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 10:33:34 +00:00
fschneider@chromium.org
befd149ef8
Optimize simple constant cases for bitwise &, | and ^.
...
For integer bitwise operations we can replace
x & -1 with x, x | 0 with x and x ^ 0 with x.
Review URL: http://codereview.chromium.org/9177001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 10:01:59 +00:00
vegorov@chromium.org
74ef753067
Change inlined cache of intanceof stub to use indirection through cell.
...
The stub was directly patching caller's code without issuing write barrier which violated incremental marking invariants.
R=mstarzinger@chromium.org
BUG=http://crbug.com/109448
TEST=cctest/test-heap/InstanceOfStubWriteBarrier
Review URL: http://codereview.chromium.org/9158015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 09:39:37 +00:00
fschneider@chromium.org
62168ff831
Tiny improvement of register constraints in LClassOfTest instructions.
...
The input register does not need to be made writable. We already
allocate enough temp registers and the input register will always
be preserved.
Review URL: http://codereview.chromium.org/9166007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-11 08:29:42 +00:00
kmillikin@chromium.org
32d7dd0409
Fix for an ARM register allocation bug.
...
An off-by-one in the register allocator could lead to allocating (and
clobbering) the reserved 0.0 double register. This required a function with
14 or more live double values.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9114038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:59:55 +00:00
svenpanne@chromium.org
d90860b42f
Changes after code review#
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:12:24 +00:00
svenpanne@chromium.org
6997dbe13e
Fixed AccessorPair handling
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:12:16 +00:00
svenpanne@chromium.org
73f2f5db68
Use a separate new type AccessorPair for JavaScript callbacks instead of a FixedArray of length 2
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:11:33 +00:00
fschneider@chromium.org
9e0be36948
Avoid recording unnecessary deoptimization environments in a couple of places.
...
This reduces the number of uses and potentially shortens live ranges.
Review URL: http://codereview.chromium.org/8983018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 16:06:32 +00:00
jkummerow@chromium.org
7cfb086b34
Inline fast case of CodeGenerationFromStringsAllowed
...
Review URL: http://codereview.chromium.org/9155011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 14:52:41 +00:00
erik.corry@gmail.com
6a5afd9403
MIPS: Check that address given to __RecordWrite is correct.
...
ARM: Clean up equivalent functionality on ARM.
This subsumes http://codereview.chromium.org/8561001/
Review URL: http://codereview.chromium.org/9168006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 13:43:44 +00:00
erik.corry@gmail.com
dc9910f4a4
Minor cleanups of numeric seeded hashing patch.
...
Review URL: http://codereview.chromium.org/9155010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 13:24:18 +00:00
erik.corry@gmail.com
6178a8d42c
Add seed to hash of numeric keyed properties. This is a commit of http://codereview.chromium.org/9148006/ for Fedor Indutny.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 12:58:41 +00:00
erik.corry@gmail.com
0aff6c26d3
Fix zero hash handling on ARM.
...
Some cleanup.
Review URL: http://codereview.chromium.org/9169010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 12:01:04 +00:00
danno@chromium.org
df8b359f41
Fix handling of -0.0 in IsInt32/IsUInt32
...
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9169009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 10:05:45 +00:00
yangguo@chromium.org
842d8b9108
Fixing windows builds.
...
Review URL: http://codereview.chromium.org/9169007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 08:37:45 +00:00
yangguo@chromium.org
e6be821ca4
Fixing minGW build.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/9149001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-10 08:17:08 +00:00
danno@chromium.org
03c737625a
Make sure transitioned arrays efficiently call builtin Array functions
...
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=none
TEST=none
Committed: http://code.google.com/p/v8/source/detail?r=10331
Review URL: http://codereview.chromium.org/9015020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-09 16:37:47 +00:00
erik.corry@gmail.com
0264008354
Use shift and add instead of mul on ARM for integer hash.
...
Review URL: http://codereview.chromium.org/9153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-09 13:33:59 +00:00
erik.corry@gmail.com
4bea3b5c54
Fix test-hashing after recent changes to string hashing.
...
Acriave test-hashing in SCons and buildbot runs.
Small cleanups in root register handling on ARM and MIPS.
Review URL: http://codereview.chromium.org/9110029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-06 11:33:20 +00:00
vegorov@chromium.org
c4d3a110a2
Adjust position recorded for call expressions.
...
For calls of the form ident(...) record position of the identifier as the position of the call. For other calls record positions of the opening parenthesis.
This guarantees that for expressions of the form function(){}() call position will not intersect with positions recorded for function literal which is used by the debugger for scope chain resolution.
R=kmillikin@chromium.org
BUG=http://crbug.com/109195
TEST=test/mjsunit/regress/regress-109195.js
Review URL: http://codereview.chromium.org/9125001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-06 10:26:17 +00:00
ulan@chromium.org
746ef93362
Move handlified functions from handles.cc to objects.cc
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/9008012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 17:16:19 +00:00
rossberg@chromium.org
c427c35c87
Prepare push to trunk. Now working on version 3.8.6.
...
R=yangguo@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9114009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 14:56:44 +00:00
mstarzinger@chromium.org
e79274abe6
Fix handling of bogus receivers for Harmony collections.
...
R=rossberg@chromium.org
BUG=v8:1884
TEST=mjsunit/harmony/collections
Review URL: http://codereview.chromium.org/9074003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 12:55:06 +00:00
yangguo@chromium.org
5253363cc2
Add netbsd support to gyp build.
...
Review URL: http://codereview.chromium.org/9071004
Patch from Matthew Sporleder <msporleder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 12:17:08 +00:00
erik.corry@gmail.com
ea3a515d9d
Fix the logic that should ensure that a string cannot have
...
a hash key of zero.
Review URL: http://codereview.chromium.org/9113006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 10:18:28 +00:00
erik.corry@gmail.com
1327cb0acd
Determine page size at runtime on posix platforms. Landing for kalmard. http://codereview.chromium.org/9023007/
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 10:07:33 +00:00
vegorov@chromium.org
22bc8f6ac5
Alter the second hash used in StoreBuffer::Compact.
...
hash2 >> (kHashMapLengthLog2 * 2) was always zero because hash2 was masked with (kHashMapLength - 1).
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/9085021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 09:57:10 +00:00
vegorov@chromium.org
50f235fe49
MIPS: Avoid embedding new space objects into code objects in the lithium gap resolver.
...
Port r10301 (c91aeb4c).
BUG=
TEST=
Review URL: http://codereview.chromium.org/9032005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 09:26:15 +00:00
vegorov@chromium.org
07eb3ada9d
Ensure that store buffer filtering hash sets are cleared after StoreBuffer::Filter.
...
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8964025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-05 07:53:28 +00:00
vegorov@chromium.org
e726c00ea6
When shrinking semispace don't relink pages if semispace is not committed
...
R=mstarzinger@chromium.org
Review URL: http://codereview.chromium.org/9086005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 19:59:01 +00:00
danno@chromium.org
2335545108
Rollback 10331: Make sure transitioned arrays efficiently call builtin Array functions
...
Due to perf regressions
TBR=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8983027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 17:29:01 +00:00
danno@chromium.org
69366adfb6
Make sure transitioned arrays efficiently call builtin Array functions
...
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9015020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 17:16:04 +00:00
erik.corry@gmail.com
81a0271004
Randomize the seed used for string hashing. This helps guard against
...
CPU-eating DOS attacks against node.js servers. Based on code from
Bert Belder. This version only solves the issue for those that compile
V8 themselves or those that do not use snapshots. A snapshot-based
precompiled V8 will still have predictable string hash codes.
Review URL: http://codereview.chromium.org/9086006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 15:12:15 +00:00
kmillikin@chromium.org
4a4ccbf434
Fix a few preprocessor macros that could capture an 'else'.
...
Namely they are SLOW_ASSERT, RETURN_IF_SCHEDULED_EXCEPTION, and
RETURN_IF_EMTPY_HANDLE_VALUE.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8983016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 14:45:29 +00:00
danno@chromium.org
0f8be1f92f
MIPS: Undo allocation of half-formed array during elements transition
...
Port r10320 (bb429e82)
BUG=
TEST=
Review URL: http://codereview.chromium.org/9082001
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 09:40:47 +00:00
danno@chromium.org
b6e11b5bcc
MIPS: Add InternalArrayCodeGeneric
...
Port r10308 (4e74cc88)
BUG=
TEST=
Review URL: http://codereview.chromium.org/9078002
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 09:39:35 +00:00
danno@chromium.org
2063b374d6
MIPS: Ensure that InternalArrays remain InternalArrays regardless of how they are constructed.
...
Port r10306 (9141da8e)
BUG=
TEST=
Review URL: http://codereview.chromium.org/9080001
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 09:38:08 +00:00
yangguo@chromium.org
d9f7cf819c
Implement callback when script finishes running in V8 API.
...
TEST=test-api/LeaveScriptCallback
Review URL: http://codereview.chromium.org/8937003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 08:48:35 +00:00
yangguo@chromium.org
fa2688a101
Improve performance of Math.min and Math.max for the case of two arguments.
...
BUG=v8:1325
TEST=
Review URL: http://codereview.chromium.org/9065008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-03 10:45:28 +00:00
danno@chromium.org
79f18cae93
Undo allocation of half-formed array during elements transition
...
R=vegorov@chromium.org
BUG=none
TEST=no asserts in debug tests with smi-only-array on
Review URL: http://codereview.chromium.org/9015023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-03 09:39:34 +00:00
kmillikin@chromium.org
b75beff3fc
Make Runtime_Apply safer.
...
There is a call to Object::GetElement that could conceivably cause a GC.
Handlify all raw pointer local variables.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8952028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-02 15:22:21 +00:00
svenpanne@chromium.org
747f779974
Prepare push to trunk. Now working on version 3.8.5.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8952023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-02 09:20:45 +00:00
vegorov@chromium.org
4907f424ad
Filter transitions while searching for CONSTANT_FUNCTION property in Call::ComputeTarget.
...
Otherwise transition will hide CONSTANT_FUNCTION property with the same name residing on the prototype.
R=danno@chromium.org
BUG=v8:1883
Review URL: http://codereview.chromium.org/9064003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-02 08:54:01 +00:00
danno@chromium.org
f648626eb9
Reland 10309: Ensure large Smi-only arrays don't transition to FAST_DOUBLE_ARRAY
...
TBR=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9051014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-30 14:28:14 +00:00
danno@chromium.org
5d85a04472
Rollback 10309
...
TBR=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8968042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-30 13:42:21 +00:00
danno@chromium.org
dff0e36d2d
Ensure large Smi-only arrays don't transition to FAST_DOUBLE_ARRAY
...
BUG=v8:1849
TEST=test/mjsunit/regress/regress-1849.js
Review URL: http://codereview.chromium.org/8968028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-30 12:54:23 +00:00
danno@chromium.org
cab07f5523
Add InternalArrayCodeGeneric
...
R=whesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9006051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-29 12:19:34 +00:00
danno@chromium.org
5bc7e823cf
Remove unused runtime function
...
R=whesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9008042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-28 15:14:33 +00:00
danno@chromium.org
aa38094bf0
Ensure that InternalArrays remain InternalArrays regardless of how they are constructed.
...
R=whesse@chromium.org
BUG=v8:1878
TEST=test/mjsunit/regress/regress-1878.js
Review URL: http://codereview.chromium.org/9016041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-27 15:12:12 +00:00
danno@chromium.org
523db68c4e
Prepare push to trunk. Now working on version 3.8.4.
...
TBR=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9041003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-27 10:03:28 +00:00
danno@chromium.org
2961627f11
MIPS: fix bug in KeyedStoreIC::GenerateNonStrictArguments()
...
r8425 (1081f75) had fixed this originally, but those changes were
accidentally reverted when the experimental/gc branch was merged
at r9600.
BUG=
TEST=debug mozilla regress-137181
Review URL: http://codereview.chromium.org/9026006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-27 08:41:30 +00:00
vegorov@chromium.org
3947056c03
Avoid embedding new space objects into code objects in the lithium gap resolver.
...
R=danno@chromium.org
BUG=http://crbug.com/108296
TEST=test/mjsunit/regress/regress-108296.js
Review URL: http://codereview.chromium.org/8960004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-23 10:39:01 +00:00
fschneider@chromium.org
70056762f1
Remove unnecessary environment from LStoreKeyedFastElements.
...
This was a left-over from a time when bounds-check was performed
as part of this instruction.
I also refactored and improved the code for smi-only arrays.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/9023006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-22 16:23:47 +00:00
vegorov@chromium.org
068128dadd
Fix GCC 4.7 warnings:
...
* src/debug.cc (Debug::SetBreakPoint): Compare value not pointer.
Review URL: http://codereview.chromium.org/8971002
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 21:50:24 +00:00
vegorov@chromium.org
e624162c45
Fix GCC 4.7 warnings.
...
* src/string-search.h (StringSearch): Avoid -Werror=strict-overflow
warning.
Review URL: http://codereview.chromium.org/8947022
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 21:28:41 +00:00
ulan@chromium.org
d61278da6d
Do not reassign debug-only flag in release mode.
...
BUG=1871
TEST=
Review URL: http://codereview.chromium.org/9021011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 16:19:55 +00:00
mstarzinger@chromium.org
aae7033ba1
Fix JavaScript accessors on objects with interceptors.
...
This fixes how Object.defineProperty() defines JavaScript accessors on
objects with installed API interceptors. The definition itself does not
cause any interceptors to be called, whereas any subsequent accesses on
said object will still fire the interceptor. This behavior is in sync
with API accessors.
R=rossberg@chromium.org
BUG=v8:1651,chromium:94666
TEST=cctest/test-api
Review URL: http://codereview.chromium.org/9021019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 16:14:38 +00:00
ulan@chromium.org
c2109cdd1e
Uncommit free pages in all spaces on low memory notification.
...
BUG=v8:1669
TEST=
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8969017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 08:51:59 +00:00
danno@chromium.org
d1b35de563
Prepare push to trunk. Now working on version 3.8.3.
...
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9019007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-21 07:50:24 +00:00
danno@chromium.org
59db8059a3
MIPS: Support Smi->Double->HeapObject transitions in constructed Arrays.
...
Port r10218 (1f42dff).
Original commit message:
Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8894030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-20 12:59:23 +00:00
kmillikin@chromium.org
76cc6878fc
MIPS: Clean up handling of global cell stores in the optimizing compiler.
...
Port r10280 (5f6aec5).
Original commit message:
Tell the register allocator the value is not overwritten. Never use
temporary registers on ia32, avoid them on x64 and ARM. Restore the
original copyright date on assembler.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9004017
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-20 12:36:36 +00:00
kmillikin@chromium.org
d8acc2dfbe
Clean up handling of global cell stores in the optimizing compiler.
...
Tell the register allocator the value is not overwritten. Never use
temporary registers on ia32, avoid them on x64 and ARM. Restore the
original copyright date on assembler.cc.
R=fschneider@chromium.org
BUG=v8:1870
TEST=
Review URL: http://codereview.chromium.org/8965038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-12-20 10:57:12 +00:00