danno@chromium.org
ffd0c712e8
Implement many KeyedStoreStubs using Crankshaft
...
- Addition of a compiled hydrogen stub for KeyedStores.
- Inlining of "grow" stubs into OPTIMIZED_FUNCTIONs
- Addition of new "ignore OOB" ic stub that silently swallows out-of-bounds stores to external typed arrays.
- Addition of new "copy-on-write" ic stub that inlines allocation and copying operations for cow array
- New stub are generated with Crankshaft, so they are automatically inlined into OPTIMIZED_FUNCTIONs
Review URL: https://codereview.chromium.org/12221064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:37:13 +00:00
yangguo@chromium.org
9673d7944c
Fix tests that fail on GC stress tests.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12681006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:33:26 +00:00
verwaest@chromium.org
91d8d9dbab
Update instance types in grokdump.
...
Review URL: https://chromiumcodereview.appspot.com/12720008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:22:49 +00:00
mstarzinger@chromium.org
d269364fd6
Fix handling of context creation failure since r13978.
...
R=jkummerow@chromium.org
TEST=fast/js/concat-large-strings-crash.html
Review URL: https://codereview.chromium.org/12702008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:13:29 +00:00
yurys@chromium.org
d447716029
Isolatify HeapProfiler
...
Added instance method on v8::Isolate for retrieving instance of v8::HeapProfiler for that isolate. All static methods of v8::HeapProfiler are deprecated, corresponding instance methods are added to v8::HeapProfiler.
All static methods on v8::internal::HeapProfiler were converted into instance ones.
BUG=None
Review URL: https://codereview.chromium.org/12907006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 08:38:17 +00:00
jkummerow@chromium.org
902d3e3e7d
Prepare push to trunk. Now working on version 3.17.14.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/12704007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 17:50:03 +00:00
mstarzinger@chromium.org
c5c5d35967
Add more instrumentation for Code::CopyFrom crasher.
...
R=jkummerow@chromium.org
BUG=chromium:196330
Review URL: https://codereview.chromium.org/12937004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 16:48:45 +00:00
yurys@chromium.org
31e51f98fa
Sort forward declarations in v8.h in alphabetical order
...
BUG=None
Review URL: https://codereview.chromium.org/12554013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 15:17:22 +00:00
mstarzinger@chromium.org
cc38e56fdf
Disable grokdumps module decoding temporarily.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12755031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 14:57:42 +00:00
verwaest@chromium.org
002ba9c76d
Turn Flags into a uint32_t typedef.
...
We cannot rely on C++ compilers inferring the int-type from the enum
value range. Whereas Linux/OSX find uint32_t as type for [0,MaxUInt32],
Windows insists it's int.
Update the test to execute its original intent on all platforms: 1 value
larger than max arguments, 1 smaller than max arguments (on all
platforms). This makes the test run a lot faster.
BUG=chromium:194749
Review URL: https://chromiumcodereview.appspot.com/12507010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 13:11:49 +00:00
yurys@chromium.org
a8e9bebabd
Isolatify CPU profiler
...
BUG=None
Review URL: https://codereview.chromium.org/12706020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 12:44:10 +00:00
dcarney@chromium.org
996f5aef8b
Reduce storage size of weak callbacks
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12588012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 10:06:20 +00:00
mvstanton@chromium.org
6fa9a2976f
MIPS: HInnerAllocatedObject instruction allows hydrogen code to carve up allocated regions into sub objects.
...
Port r13928 (ff66bd4bcdb580438d96c610bcbe8852bb127908)
BUG=
Review URL: https://codereview.chromium.org/12784003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 08:41:37 +00:00
yurys@chromium.org
a5be5da2e8
Allow recording individual samples in addition to the aggregated CPU profiles
...
CPU profiler API is extended with methods that allow to retrieve individual samples from profile. Each sample is presented as a pointer to a node in the top-down profile tree. The samples will let us tie JS performance to time.
BUG=None
Review URL: https://codereview.chromium.org/12919002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 08:11:56 +00:00
palfia@homejinni.com
87ab8ab1ea
MIPS: Allow direct allocation in old pointer space.
...
Port r13940 (a39765e7)
BUG=
Review URL: https://codereview.chromium.org/12413026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 17:56:35 +00:00
mstarzinger@chromium.org
859a7154bc
Move context global handle creation out of Genesis.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12919009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 17:36:47 +00:00
mmassi@chromium.org
2416d69183
Fix induction variable detection.
...
Review URL: https://codereview.chromium.org/12919005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 17:36:24 +00:00
mstarzinger@chromium.org
e5db8a93df
Remove obsolete "previous" field from Genesis.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12620019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 16:27:58 +00:00
rossberg@chromium.org
93bba581da
Fix misplaced #endif
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12886013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 16:18:05 +00:00
rossberg@chromium.org
e36da6d219
Unbreak shared lib build.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12779019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 16:04:27 +00:00
verwaest@chromium.org
010f36f94b
Raise the limit since it is 2**16 (65536) on x64.
...
Review URL: https://chromiumcodereview.appspot.com/12700012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 15:49:33 +00:00
palfia@homejinni.com
311ad5de54
MIPS: Load/Store stub compilation refactoring.
...
Port r13954 (2ee39c27)
BUG=
Review URL: https://codereview.chromium.org/12829008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 14:42:46 +00:00
svenpanne@chromium.org
458b8ddd0a
Prepare push to trunk. Now working on version 3.17.13.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12779018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 14:41:55 +00:00
mstarzinger@chromium.org
291450547e
Add instrumentation to track down Code::CopyFrom crasher.
...
R=jkummerow@chromium.org
BUG=chromium:196330
Review URL: https://codereview.chromium.org/12916005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 14:31:21 +00:00
verwaest@chromium.org
ab782e585f
Since v8:13964, flags is uint32, so always use cmp on ARM.
...
Review URL: https://chromiumcodereview.appspot.com/12693020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 14:31:08 +00:00
rossberg@chromium.org
295e74275e
More useful result pretty printing for d8
...
For example:
d8> ["hi", 5, [2,3],Object.prototype.toString, {get a() { return a}, b: 9, set a(x) {this.b=x}}, null, undefined]
["hi", 5, [2, 3], function toString() { [native code] }, {get a() { return a}, set a(x) {this.b=x}, b: 9}, null, undefined]
Deactivated in test mode.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 14:03:15 +00:00
svenpanne@chromium.org
e4e4447305
Pass Isolates explicitly in Deoptimizer-related code.
...
Removed a few ancient useless ASSERTs on the way. Reduced the number of train wrecks.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12917002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 13:57:49 +00:00
verwaest@chromium.org
37a2e32496
Unify kMaxArguments with number of bits used to encode it.
...
Increase the number of bits by 1 by making Flags unsigned.
BUG=chromium:211741
Review URL: https://chromiumcodereview.appspot.com/12886008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 13:35:17 +00:00
jkummerow@chromium.org
e2cd7aa423
Fix detection of |handle_smi| case in HOptimizedGraphBuilder::HandlePolymorphicCallNamed
...
BUG=chromium:196583
Review URL: https://codereview.chromium.org/12620014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 12:41:52 +00:00
yangguo@chromium.org
ebcecd49af
Parallel recompilation: fix off-by-one in deferred handle scope iteration.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12650005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 11:26:09 +00:00
mmassi@chromium.org
73e83b0b0f
Handling expression decomposition and array bounds check hoisting: working code with lots of debugging PrintFs, postdominance check still missing.
...
Review URL: https://codereview.chromium.org/12377072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-18 08:06:00 +00:00
vegorov@chromium.org
ae064fca48
When spilling live range with not register uses inside the loop try to move spilling out of the loop.
...
This allows to minimize amount of memory moves on the back edge.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11437015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 13:25:54 +00:00
alph@chromium.org
9f7300043b
Remove kContext node type introduced in r13936
...
It has been decided not to pollute node types with extra values.
Review URL: https://codereview.chromium.org//12833005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 13:07:39 +00:00
yurys@chromium.org
b3ee84d361
Remove bottom-up CPU profile
...
Bottom-up view of CPU profile can be restored based on top-down profile data. So there is no need to spend resources on creating both of them inside V8.
BUG=None
Review URL: https://codereview.chromium.org/12825003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:46:45 +00:00
svenpanne@chromium.org
3daff287fc
Prepare push to trunk. Now working on version 3.17.12.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12831009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:38:26 +00:00
verwaest@chromium.org
88b8715f95
Load/Store stub compilation refactoring.
...
Review URL: https://chromiumcodereview.appspot.com/12426008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:07:35 +00:00
svenpanne@chromium.org
53310ac152
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.
...
I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12716010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:06:53 +00:00
svenpanne@chromium.org
308e665982
Pass Isolate through CompilingCallsToThisStubIsGCSafe calls
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12732010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 11:52:58 +00:00
yangguo@chromium.org
44c059f1c1
Parallel recompilation: fix concurrency issues.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/12831003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 16:35:32 +00:00
ulan@chromium.org
80f490085f
ARM: Tweak ECMAToInt32VFP to address regression on Nexus 4
...
After r13912, we saw a small regression in Kraken crypto-aes and
crypto-ccm on Nexus 4. This patch, proposed by Rodolph Perfetta,
addresses that without regressing other platforms.
Instead of looking at the exponent of double_input and trying to figure
out if the conversion will overflow, eagerly do the VCVT and return
early unless it saturated.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12544025
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 15:28:15 +00:00
mstarzinger@chromium.org
6e86d34ba9
Allow inlining of functions containing array literals.
...
R=jkummerow@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://codereview.chromium.org/12642011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 15:15:37 +00:00
svenpanne@chromium.org
aaf6340eb3
Fixed two register allocator bugs (off-by-one error/failure propagation).
...
Minor cleanups on the way, e.g. making sure that we never use something after an allocation failed. Style question: Should we switch to some kind of MUST_USE_RESULT-style to ensure that we handle failures consistently? Not sure...
BUG=v8:2576
Review URL: https://codereview.chromium.org/12867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 14:42:00 +00:00
mstarzinger@chromium.org
9aa25ad1a0
Allow inlining of functions containing function literals.
...
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://codereview.chromium.org/10702036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 14:29:10 +00:00
palfia@homejinni.com
3d2dc89796
MIPS: Fix test262 regression.
...
This regression was introduced by r13705 (fd03c7d6)
BUG=test262/data/test/suite/ch11/11.13/11.13.2
Review URL: https://codereview.chromium.org/12844005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 11:08:05 +00:00
palfia@homejinni.com
b71352b0a0
MIPS: Fix AssertName() in MacroAssembler.
...
This commit fixes several debug mode test failures.
BUG=mjsunit/keyed-call-generic,mjsunit/keyed-call-ic
Review URL: https://codereview.chromium.org/12693012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 10:59:58 +00:00
palfia@homejinni.com
04d8eb8244
MIPS: Refactoring Store ICs. A first step towards polymorphic store ICs.
...
Port r13934 (656ce093)
BUG=
Review URL: https://codereview.chromium.org/12603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 10:58:21 +00:00
hpayer@chromium.org
5d159d50e2
Execute a memory barrier when adding a new page to a space to synchronize access with concurrent sweepers.
...
BUG=
Review URL: https://codereview.chromium.org/12342017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 09:15:39 +00:00
hpayer@chromium.org
05a71fc9e4
Allow direct allocation in old pointer space.
...
BUG=
Review URL: https://codereview.chromium.org/12314155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-14 08:32:52 +00:00
dcarney@chromium.org
fbe34d4ba5
remove latin-1 flag
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12700008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 20:04:50 +00:00
dcarney@chromium.org
5e1d926053
Some Utf8Length microoptimizations
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-13 19:43:45 +00:00