Commit Graph

10017 Commits

Author SHA1 Message Date
danno@chromium.org
66f6a8182c Revert 13117: "Enable stub generation using Hydrogen/Lithium (again)"
TBR=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/11415261

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 17:16:51 +00:00
yangguo@chromium.org
702cc25def Optimize non-ASCII string splitting with single-character search pattern
Review URL: https://chromiumcodereview.appspot.com/11299163
Patch from Ben Noordhuis <ben@c9.io>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 16:48:17 +00:00
yangguo@chromium.org
00bde58530 Fix JSON stringify.
R=verwaest@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11421200

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 16:23:30 +00:00
danno@chromium.org
78b09625d5 Enable stub generation using Hydrogen/Lithium (again)
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.

Committed: https://code.google.com/p/v8/source/detail?r=13105

Review URL: https://codereview.chromium.org/10701054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 15:51:05 +00:00
ulan@chromium.org
8a1a926e07 Correctly handle AdjustAmountOfExternalAllocatedMemory(0).
R=yangguo@chromium.org
BUG=v8:2440

Review URL: https://chromiumcodereview.appspot.com/11412299

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 14:31:11 +00:00
ulan@chromium.org
45fc19124f ARM: make MacroAssembler::LoadRoot emit exactly one instruction when in predictable code size scope.
BUG=v8:2439
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11280276

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 13:40:37 +00:00
mstarzinger@chromium.org
06038fb6a5 Activate incremental code flushing by default.
R=danno@chromium.org

Review URL: https://codereview.chromium.org/11418288

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 13:39:21 +00:00
mstarzinger@chromium.org
66a8fff304 Adapt code flushing tests to new code aging.
R=danno@chromium.org
TEST=cctest/test-heap/TestCodeFlushing

Review URL: https://codereview.chromium.org/11434082

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 13:38:39 +00:00
rossberg@chromium.org
45f42b04c1 When notifying observers of a truncated array, don't call getters on deleted element indices
BUG=v8:2409

Review URL: https://codereview.chromium.org/11414177

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 13:34:08 +00:00
danno@chromium.org
ecdbe77686 ARM: fix a bug with saving lr register in GenerateSmiToDouble.
BUG=163197
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11419255
Patch from Ulan Degenbaev <ulan@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 20:58:51 +00:00
danno@chromium.org
0a3bcc8c05 Revert 13105: "Enable stub generation using Hydrogen/Lithium."
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/11414262

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:45:45 +00:00
danno@chromium.org
c115ff4e33 Enable stub generation using Hydrogen/Lithium.
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.

Review URL: https://codereview.chromium.org/10701054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:31:30 +00:00
jkummerow@chromium.org
bd69d3d5c3 Revert "Perform CPU sampling by CPU sampling thread only iff processing thread is not running."
This reverts r12985.

Review URL: https://codereview.chromium.org/11428103

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 10:26:21 +00:00
jkummerow@chromium.org
c9ed3d9cc4 Turn off optimization for Mac Debug builds
Review URL: https://codereview.chromium.org/11414237
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 10:14:21 +00:00
svenpanne@chromium.org
781f5aa029 Prepare push to trunk. Now working on version 3.15.8.
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/11280252

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 10:11:44 +00:00
mstarzinger@chromium.org
ff5e63761e Revert "Allow incremental marking when expose_gc is turned on."
This reverts r13072 from bleeding edge.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/11316268

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 09:42:20 +00:00
verwaest@chromium.org
cfd4a240ef Pass FixedArrayBase in elements.cc.
This avoids casting problems in case of empty_fixed_array as
FixedDoubleArray with size 0. This avoids prematurely shortcutting in
case of 0 all over the place, which in turn leads to errors.

Review URL: https://chromiumcodereview.appspot.com/11299226

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 15:58:16 +00:00
verwaest@chromium.org
349afd692d Use generic array functions to setup the boilerplate to avoid logic duplication.
Review URL: https://chromiumcodereview.appspot.com/11361281

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 15:55:27 +00:00
danno@chromium.org
5a40f006f9 Remove unused private member variables found by clang -Wunused-private-field
Review URL: https://codereview.chromium.org/11414207
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 15:13:49 +00:00
jkummerow@chromium.org
7cc61deafa Fix typo in FunctionTemplate::ReadOnlyPrototype.
Contributed by Peter Varga <pvarga@inf.u-szeged.hu>

BUG=
TEST=

Review URL: https://codereview.chromium.org/11434031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 14:53:44 +00:00
svenpanne@chromium.org
499ad291be Activate code aging by default.
Review URL: https://codereview.chromium.org/11411257

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 14:31:38 +00:00
yangguo@chromium.org
6951a5faef MIPS: Also time external callbacks from generated code.
Port r13078 (73f25483)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11316236
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 14:04:27 +00:00
jkummerow@chromium.org
b43ec5112f MIPS: Faster implementation of Math.exp()
Port r13054 (636985d7)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11415192
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 09:22:08 +00:00
jkummerow@chromium.org
bea4580fa8 MIPS: Fix register confusion in non-VFP3 BinaryOpStubs on ARM
Port r12980 (13380d3b)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11308158
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 09:14:52 +00:00
jkummerow@chromium.org
d2fbb819a1 MIPS: DoNumberTagD performance improvement
Port r12711 (a8d45ac2)

Original commit message:
Allocate heap entry untagged and tag at end to avoid having to subtract off
the tag offset before storing the value.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11280106
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 09:12:31 +00:00
jkummerow@chromium.org
273b97f9b4 MIPS: ARM: Fast path for integer inputs to EmitVFPTruncate
Port r12676 (7d5e7e81)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11308134
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 09:09:39 +00:00
verwaest@chromium.org
a74d30f0df MIPS: Only fill in holes if storing the number to the double array has succeeded.
Port r13067 (c822cffa)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11428068
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 08:40:39 +00:00
verwaest@chromium.org
d84ebd3940 MIPS: Ensure we do not clobber the register holding the elements backing store.
Port r13061 (83bb6fcc)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11316235
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 08:39:44 +00:00
verwaest@chromium.org
7ceeb471f7 MIPS: Ensure double arrays are filled with holes when extended from variations of empty arrays.
Port r13056 (9b2c1725)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11411253
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 08:37:41 +00:00
verwaest@chromium.org
7553f0d68e CopyPackedSmiToDoubleElements should fill the FixedDoubleArray with holes
BUG=v8:2433

Review URL: https://chromiumcodereview.appspot.com/11280223
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 08:34:19 +00:00
svenpanne@chromium.org
5a4e0f1c79 Simplify and fix code aging.
Making the code size predictable is hard, and to make things even more
complicated, the start of a function can contain various stuff like calls to a
profiling hook, receiver adjustment or dynamic frame alignment. Instead of
tackling all these problems separately, we now simply record the offset where
patching should happen later in the Code object itself.

Review URL: https://codereview.chromium.org/11316218

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-29 07:38:00 +00:00
mstarzinger@chromium.org
50dcf96e63 Remove bogus assertion from idle notification.
Callbacks that run after garbage collection might fire a context dispose
notification and hence increse the counter before we actually reach this
position.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/11280214

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 17:56:17 +00:00
mstarzinger@chromium.org
32cf38b81c Improve debug printing of non-strict arguments object.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/11316219

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 15:11:38 +00:00
yangguo@chromium.org
432be2c8fd Also time external callbacks from generated code.
R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11411224

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 15:11:21 +00:00
vegorov@chromium.org
18d987e505 Relax restrictions on CONSTANT_FUNCTION descriptors in TransformPropertiesToFastFor.
Since r10174 they are not required to be in new space.

R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11418181

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 14:02:30 +00:00
yangguo@chromium.org
028f85a244 Include more information in --prof log.
Main changes:
- include timestamps in profile ticks
- include code kind in code create events
- time execution in external code
- changed plot-timer-events.js to show the code kind being executed

R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11428025

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 11:01:10 +00:00
hpayer@chromium.org
5a6c1e5109 Fixed pointer arithmetic in write barrier for large objects when marking progress bar is used.
BUG=

Review URL: https://codereview.chromium.org/11421123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 10:53:39 +00:00
hpayer@chromium.org
c772d649cf Allow incremental marking when expose_gc is turned on.
BUG=

Review URL: https://codereview.chromium.org/11299154

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 08:43:10 +00:00
verwaest@chromium.org
09b1574baa Make ElementsAccessors more tolerant of varying backing store types
This avoids bogus calls to Fixed*Array::cast() when FastElements-backed objects are empty (and thus backed by empty_fixed_array).

Review URL: https://chromiumcodereview.appspot.com/11299190
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 08:41:45 +00:00
verwaest@chromium.org
e4be39edef Properly handle-ify method calls to map() and GetLocalElementAccessorPair()
These are likely causing some of the flaky crashes in Object.observe code. I've reorganized some of the code to minimize the number of necessary calls to map() (by saving the result of map()->is_observed() in a local bool).

Also move down an unnecessarily early call to Uint32ToString when sending an element deletion notification.

Review URL: https://chromiumcodereview.appspot.com/11316202

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 08:35:46 +00:00
mstarzinger@chromium.org
d8922dd6f4 Move assertion about stopped marking up (again).
Weak persistent handle callbacks might trigger nested GCs that in turn
can cause marking to be restarted. The assertion needs to hold before
firing callbacks only.

R=ulan@chromium.org
TEST=cctest/test-api --stress-compaction

Review URL: https://codereview.chromium.org/11413188

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 17:03:12 +00:00
mstarzinger@chromium.org
b2a7b26e82 Disable stress for some unit test.
Some unit tests specifically test scavenges and forcing them to do
global GCs instead makes no sense. The GC stress builder triggers this.

R=yangguo@chromium.org
TEST=cctest/test-api --stress-compaction

Review URL: https://codereview.chromium.org/11421098

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 15:30:12 +00:00
verwaest@chromium.org
5ef423b6d7 Only fill in holes if storing the number to the double array has succeeded.
Review URL: https://chromiumcodereview.appspot.com/11299200

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 13:27:15 +00:00
mstarzinger@chromium.org
3b291a0f48 Fix incremental marking to be off during heap snapshots.
The heap snapshot generator uses the UnreachableObjectsFilter which in
turn messes with marking bits. This requires incremental marking to be
turned off while the snapshot is being generated.

R=verwaest@chromium.org
TEST=cctest/test-heap-profiler --stress-compaction

Review URL: https://codereview.chromium.org/11413183

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 13:18:55 +00:00
mstarzinger@chromium.org
77dcc8dac5 Make unit tests that fill new-space work under stress.
This makes sure that unit tests that try to fill up the new-space work
on the GC stress buildbots as well.

R=yangguo@chromium.org
TEST=cctest/test-heap --gc-interval=500 --stress-compaction

Review URL: https://codereview.chromium.org/11416200

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 12:52:51 +00:00
verwaest@chromium.org
1b0e373f09 Avoid double initialization of arrays.
Review URL: https://chromiumcodereview.appspot.com/11413179

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-27 12:01:14 +00:00
hpayer@chromium.org
865828f37e Forward white to grey transition only if slot is before the progress bar of a given object.
BUG=

Review URL: https://codereview.chromium.org/11415070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 16:16:49 +00:00
mvstanton@chromium.org
ec49191302 MIPS: Fix MIPS port of r13032 (25d0edd7).
This commit fixes a small typo in r13032 (25d0edd7).

BUG=
TEST=

Review URL: https://codereview.chromium.org/11348205

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 16:14:49 +00:00
verwaest@chromium.org
beeb751278 Ensure we do not clobber the register holding the elements backing store.
Review URL: https://chromiumcodereview.appspot.com/11316168

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 15:58:27 +00:00
hpayer@chromium.org
395db15950 Remove eager sweeping for lazy swept spaces. Try to find in SlowAllocateRaw a bounded number of times a big enough memory slot.
BUG=v8:2194

Review URL: https://codereview.chromium.org/11420036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-26 14:50:20 +00:00