ulan@chromium.org [Wed, 8 Aug 2012 07:37:07 +0000 (07:37 +0000)]
Add heap space sizes and external memory counter to V8 statistics extension.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10823202
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 7 Aug 2012 14:48:19 +0000 (14:48 +0000)]
Add checks for interceptors to negative lookup code in Crankshaft.
BUG=140473
Review URL: https://chromiumcodereview.appspot.com/
10837141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 7 Aug 2012 14:47:36 +0000 (14:47 +0000)]
Force eager compilation of parenthesized functions.
This makes the compiler use eager compilation for function literals that
are parenthesized. We consider this to be a hint that the function will
be called immediatly and hence try to avoid parsing it twice. The parser
already respects this heuristic.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 7 Aug 2012 14:17:35 +0000 (14:17 +0000)]
Add flag to trace the amount of external memory.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10824196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 7 Aug 2012 14:06:25 +0000 (14:06 +0000)]
Unify handling of bailout IDs for property loads.
Renamed Property::ReturnId to Property::LoadId, which describes its use more
accurately. Compound assignments and CountOperations now consistently use
Property::LoadId() instead of their own CompoundLoadId/CountId.
Review URL: https://chromiumcodereview.appspot.com/
10832157
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 7 Aug 2012 08:19:11 +0000 (08:19 +0000)]
Adjust GC tracing: add a flag to ignore scavenger traces and print total GC time in verbose mode.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10536147
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 6 Aug 2012 14:28:27 +0000 (14:28 +0000)]
Refactor Math.min/max to be a single HInstruction.
That allows us to dynamically compute representations and insert appropriate HChange instructions.
Review URL: https://chromiumcodereview.appspot.com/
10829169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 6 Aug 2012 14:25:19 +0000 (14:25 +0000)]
Improve load IC so it can call a native accessor even if the holder is
in dictionary mode. Add a flag to all maps to indicate whether they are
used for dictionary (normalized) objects or fast mode objects.
Review URL: https://chromiumcodereview.appspot.com/
10831153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 6 Aug 2012 14:13:09 +0000 (14:13 +0000)]
Introduced TypeFeedbackId and BailoutId types.
This is a refactoring-only CL which improves the typing of IDs associated with
AST nodes. The interesting parts are in utils.h and ast.h, the rest of the CL
basically follows mechanically.
Review URL: https://chromiumcodereview.appspot.com/
10831172
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 6 Aug 2012 13:49:13 +0000 (13:49 +0000)]
Make AdjustAmountOfExternalAllocatedMemory() more robust.
Do not crash if called from a thread without V8 isolate, reset the external
memory counters in case of overflow, bump the external allocation limit.
This will allow us to track typed array allocation and deallocation in WebKit.
BUG=v8:2022,122097,42342
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10837122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 13:23:52 +0000 (13:23 +0000)]
Fix integer division truncation error.
Review URL: https://chromiumcodereview.appspot.com/
10831148
Patch from Nico Weber <thakis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 11:04:40 +0000 (11:04 +0000)]
Factor out SimulateIncrementalMarking in test-heap.
R=ulan@chromium.org
TEST=cctest/test-heap
Review URL: https://chromiumcodereview.appspot.com/
10824178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 6 Aug 2012 10:35:48 +0000 (10:35 +0000)]
Make incremental marking clear ICs.
This extends the existing clearing of ICs during GC to incremental
marking in order to prevent cross-context retention that would last
until the next non-incremental GC.
R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClears[Mono,Poly]morhpicIC
Review URL: https://chromiumcodereview.appspot.com/
10831123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 6 Aug 2012 09:06:27 +0000 (09:06 +0000)]
Take advantage of batched results when matching global regexp.
BUG=
TEST=regexp-global.js
Review URL: https://chromiumcodereview.appspot.com/
10831126
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 6 Aug 2012 07:55:05 +0000 (07:55 +0000)]
Allow SetHiddenValue to accept empty value.
R=mstarzinger@chromium.org
BUG=v8:2274
Review URL: https://chromiumcodereview.appspot.com/
10825196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 3 Aug 2012 14:03:30 +0000 (14:03 +0000)]
Fix crash bug when calling getV8Statistics().
BUG=v8:2270
Review URL: https://chromiumcodereview.appspot.com/
10830160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 3 Aug 2012 09:45:08 +0000 (09:45 +0000)]
Fixed compound/count operations with getter-only accessor properties.
The underlying problem is that for compound/count operations we use the *load*
type feedback for storing, too. For normal properties this doesn't matter, but
for accessor properties we should better use the *store* type feedback, which
would be available, too. This consistent feedback usage could be guaranteed if
we removed the heavy copy-n-paste in the crankshaft code generation for
compound/count operations and assignments/property loads.
To be on the safe side, we postpone this refactoring and do a quick and easily
mergeable fix.
BUG=140083
TEST=mjsunit/regress/regress-crbug-140083.js
Review URL: https://chromiumcodereview.appspot.com/
10828146
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 2 Aug 2012 14:20:38 +0000 (14:20 +0000)]
Make test-heap resilient against --stress-compaction.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10843052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 2 Aug 2012 10:03:21 +0000 (10:03 +0000)]
android: refine custom ucontext_t definitions.
This is a forward-compatible change to avoid type/naming
conflicts when the Android platform/NDK will update its
<signal.h> header to properly define 'struct sigcontext',
'mcontext_t' and 'ucontext_t'.
In particular:
- Do not define 'struct sigcontext.h' to avoid
conflicts with the C library definition (which
is different, see below).
- Only provide custom ucontext_t declarations if
the Android <signal.h> doesn't provide it. This can
be tested with a macro check (__BIONIC_HAVE_UCONTEXT_T)
+ Use 'gettid()' on Android since it is available (at all
API levels).
See http://code.google.com/p/android/issues/detail?id=34784
Review URL: https://chromiumcodereview.appspot.com/
10829122
Patch from David Turner <digit@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 1 Aug 2012 13:06:08 +0000 (13:06 +0000)]
Android: increase default test timeout and skip time sensitive mjsunit/regress/regress-1969.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10836049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 1 Aug 2012 12:51:24 +0000 (12:51 +0000)]
When specifying a new create histogram callback, reset all histograms so they recreate themselves on next use.
We only do this for histograms, and not for counters, as counters might be used directly from generated code
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10828113
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 1 Aug 2012 12:35:33 +0000 (12:35 +0000)]
Fix the 137002 fix (Don't generate ICs for accessors on slow
case objects). We should be testing the holder for dictionary
mode, not the receiver.
Review URL: https://chromiumcodereview.appspot.com/
10827113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 1 Aug 2012 11:29:48 +0000 (11:29 +0000)]
Refactor marking to share embedded pointer visitor.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10826079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 1 Aug 2012 11:24:14 +0000 (11:24 +0000)]
Make incremental marking clear type feedback cells.
This extends the existing clearing of type feedback cells during GC to
incremental marking in order to prevent cross-context retention that
would last until the next non-incremental GC.
R=erik.corry@gmail.com
TEST=cctest/test-heap/IncrementalMarkingClearsTypeFeedbackCells
Review URL: https://chromiumcodereview.appspot.com/
10823082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 1 Aug 2012 11:10:32 +0000 (11:10 +0000)]
Prepare push to trunk. Now working on version 3.13.0.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10824125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 1 Aug 2012 10:50:26 +0000 (10:50 +0000)]
Don't leak inobject space when transforming to fast properties without descriptors.
Review URL: https://chromiumcodereview.appspot.com/
10828112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 1 Aug 2012 09:43:05 +0000 (09:43 +0000)]
Make test-serialize resilient against --gc-interval.
R=erik.corry@gmail.com
TEST=cctest/test-serialize (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/
10829097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jul 2012 14:59:32 +0000 (14:59 +0000)]
Fix full code generator to not use --debug-code if it is in
mksnapshot or a VM that is booted from a snapshot. --debug-code
can still have an effect on stub and optimized code and it still
works on the full code generator when running without snapshots.
The deoptimizer generates full-code-generator code and relies on it having
the same layout as last time. This means that the code the full code
generator makes for the snapshot should be the same as the code it makes
later. This change makes the full code generator create more consistent
code between mksnapshot time and run time.
This is a bug fix and a step towards making the snapshot code more robust.
Review URL: https://chromiumcodereview.appspot.com/
10834085
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jul 2012 14:31:19 +0000 (14:31 +0000)]
Fix write barrier for StoreKeyedFastElements on ARM
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10824107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jul 2012 13:36:24 +0000 (13:36 +0000)]
Speed up quicksort test to avoid timeouts on simulators.
Review URL: https://chromiumcodereview.appspot.com/
10830093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 31 Jul 2012 12:33:28 +0000 (12:33 +0000)]
Use architecture-specific alignment for hashing in Descriptor lookup cache.
Review URL: https://chromiumcodereview.appspot.com/
10825099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 31 Jul 2012 09:53:39 +0000 (09:53 +0000)]
Fix build for disassembler=on and objectprint=off.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10830088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jul 2012 09:47:43 +0000 (09:47 +0000)]
Fix bogus AbortIfNotZeroExtended on x64 for bounds checks
R=mmassi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10837019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 31 Jul 2012 09:25:23 +0000 (09:25 +0000)]
Fix deserializer to understand direct pointers from code to cell payloads.
The deoptimizer generates full-code-generator code and relies on it having
the same layout as last time. This means that the code the full code
generator makes for the snapshot should be the same as the code it makes
later. This change makes the full code generator create more consistent
code between mksnapshot time and run time.
This is a bug fix and a step towards making the snapshot code more robust.
Review URL: https://chromiumcodereview.appspot.com/
10824084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 31 Jul 2012 08:44:51 +0000 (08:44 +0000)]
Improve constant element index access code generation
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10831049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 13:48:52 +0000 (13:48 +0000)]
Fix regression test on x64.
R=verwaest@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10827084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 13:09:09 +0000 (13:09 +0000)]
Limit initial size of hidden properties and store identity hashes inline.
BUG=v8:2211
TEST=test-heap/Regress2211
Review URL: https://chromiumcodereview.appspot.com/
10827040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jul 2012 13:07:29 +0000 (13:07 +0000)]
Make AlwaysAllocateScope imply DisallowAllocationFailure.
R=erik.corry@gmail.com
TEST=cctest/test-api,cctest/test-heap (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/
10824082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 13:04:10 +0000 (13:04 +0000)]
R=yangguo@chromium.org,svenpanne@chromium.org
x64 BinaryOpStub::GenerateSmiCode use wrong registers in one code path.
e.g. d8 --trace_ic
var dd = new Float64Array(2);
dd[1] = 1;
(function fn() {
for (var i = 0; i < 1000; i++)
dd[0] = 2 / dd[1];
})();
It keeps falling into runtime call and patching.
No regression test, because I don't how to test it.
Review URL: https://chromiumcodereview.appspot.com/
10834064
Patch from Zheng Liu <shdwthr@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 30 Jul 2012 13:00:52 +0000 (13:00 +0000)]
Prepare push to trunk. Now working on version 3.12.19.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10825076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jul 2012 10:47:04 +0000 (10:47 +0000)]
Implement verification of context separation.
This adds the --verify-global-context-separation flag which can be used
to verify that no code object embeds pointers to more than one global
context after a full GC. It uses an object visitor that just performs
shallow traversal of the object graph spanned by one code object, and
breaks at points where application objects are encountered. So it will
not trip on cross-context leaks introduced by the application itself.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10830049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 30 Jul 2012 10:42:21 +0000 (10:42 +0000)]
Inline simple getter calls.
Currently only simple getter calls are handled (i.e. no calls in count
operations or compound assignments), and deoptimization in the getter is not
handled at all. Because of the latter, we temporarily hide this feature behind a
new flag --inline-accessors, which is false by default.
Review URL: https://chromiumcodereview.appspot.com/
10828066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 30 Jul 2012 10:32:54 +0000 (10:32 +0000)]
Implement TracePathToObjectFrom helper for debugging.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10823054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 09:55:26 +0000 (09:55 +0000)]
Actually fix build.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10825074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 09:36:03 +0000 (09:36 +0000)]
Fix build.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10829075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 09:28:20 +0000 (09:28 +0000)]
Force signed zero double.
R=svenpanne@chromium.org
BUG=v8:2239
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10821088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 30 Jul 2012 09:09:13 +0000 (09:09 +0000)]
Remove unused fields in test.py
Review URL: https://chromiumcodereview.appspot.com/
10833002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 08:54:51 +0000 (08:54 +0000)]
Fix build errors.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10832061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 30 Jul 2012 08:34:26 +0000 (08:34 +0000)]
Make sure double to int conversion is correct.
R=svenpanne@chromium.org
BUG=v8:2260
TEST=test-utils/Utils1
Review URL: https://chromiumcodereview.appspot.com/
10820047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jul 2012 17:03:12 +0000 (17:03 +0000)]
Removed recording of Target Slot in transition arrays since they only contain maps.
Review URL: https://chromiumcodereview.appspot.com/
10802048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jul 2012 15:33:06 +0000 (15:33 +0000)]
Fix minor handle unsafety in exception throwing code.
R=yangguo@chromium.org
TEST=mjsunit/harmony/proxies (--gc-interval=100)
Review URL: https://chromiumcodereview.appspot.com/
10827072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jul 2012 12:35:44 +0000 (12:35 +0000)]
Move some Pop/Drop calls directly to the places where they are needed.
This is a refactoring-only CL and the fourth one in a series for enabling
inlining of accessors. Later when we try to inline accessor calls, their
arguments must still be on the expression stack, so we must not remove them too
early.
Review URL: https://chromiumcodereview.appspot.com/
10828049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 27 Jul 2012 12:06:26 +0000 (12:06 +0000)]
Print type feedback info together with code objects.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10833049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 27 Jul 2012 11:14:44 +0000 (11:14 +0000)]
Rewrite Makefile rules for Android to allow parallel execution
BUG=v8:2257
Review URL: https://chromiumcodereview.appspot.com/
10824039
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 27 Jul 2012 09:54:56 +0000 (09:54 +0000)]
Avoid GC when printing shared function info.
R=mstarzinger@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10828048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jul 2012 09:43:06 +0000 (09:43 +0000)]
Move BuildCallGetter/BuildCallSetter up in the call chain.
This is a refactoring-only CL and the third one in a series for enabling
inlining of accessors. The goal of this CL is to move the builders for accessors
to the places where we might be able to inline them later, i.e. the VisitFoo and
HandleBar member functions of HGraphBuilder.
Extracted duplicate code into LookupAccessorPair.
Review URL: https://chromiumcodereview.appspot.com/
10831047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 27 Jul 2012 07:57:43 +0000 (07:57 +0000)]
Prepare push to trunk. Now working on version 3.12.18.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10829055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 27 Jul 2012 06:27:47 +0000 (06:27 +0000)]
Cleaned up BuildLoadNamed/BuildStoreNamed.
This is a refactoring-only CL and the second one in a series for enabling
inlining of accessors. It makes BuildLoadNamed and BuildStoreNamed a bit more
uniform and makes it clear that they both handle monomorphic accesses only.
Review URL: https://chromiumcodereview.appspot.com/
10820028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 26 Jul 2012 14:55:22 +0000 (14:55 +0000)]
Extending map verification to also verify LastAdded/DescriptorArray consistency.
Removed ASSERT now subsumed by extended map verification.
Review URL: https://chromiumcodereview.appspot.com/
10827037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Thu, 26 Jul 2012 14:21:40 +0000 (14:21 +0000)]
Re-enable array index dehoisting.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10826031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 26 Jul 2012 13:48:34 +0000 (13:48 +0000)]
Set LastAdded to kNoneAdded in RawCopy.
This ensures it is properly initialized if no descriptors are later set.
Review URL: https://chromiumcodereview.appspot.com/
10833033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 26 Jul 2012 12:49:08 +0000 (12:49 +0000)]
Always set the callee's context when calling a function from optimized code.
This is necessary even for recursive calls because we're sharing optimized code among closures, which could call each other and have distinct contexts.
BUG=138887
TEST=mjsunit/regress/regress-crbug-138887
Review URL: https://chromiumcodereview.appspot.com/
10834031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 26 Jul 2012 10:03:30 +0000 (10:03 +0000)]
Fix path to d8 and properly quote strings so it works with dash(1)
Patch by Sandro Santilli <strk@keybit.net>
Review URL: https://chromiumcodereview.appspot.com/
10825032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 26 Jul 2012 09:18:09 +0000 (09:18 +0000)]
Fix building with GCC 3.x
R=yangguo@chromium.org
BUG=v8:2016, v8:2017
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10823034
Patch from James Pike <g00gle@chilon.net>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 26 Jul 2012 08:55:22 +0000 (08:55 +0000)]
Cleaned up Hydrogen function signatures related to property access.
This is a refactoring-only CL and the first one in a series for enabling
inlining of accessors. The naming and argument order has been unified a bit, and
some tests have been pushed to the caller in order to get a simpler
signature. Note that the latter temporarily introduces some code redundancy, but
this will be cleaned up in one of the next CLs.
Review URL: https://chromiumcodereview.appspot.com/
10826028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 26 Jul 2012 08:42:42 +0000 (08:42 +0000)]
Fix cctests when VFP is disabled.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10820027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 26 Jul 2012 08:27:20 +0000 (08:27 +0000)]
Limited the size of transition arrays so they never end up in the large object space.
Also renamed SizeOf on DescriptorArray to LengthOf for consistency.
Review URL: https://chromiumcodereview.appspot.com/
10822011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 25 Jul 2012 16:33:32 +0000 (16:33 +0000)]
Improve API calls that return empty handles.
R=jkummerow@chromium.org
BUG=v8:2245
Review URL: https://chromiumcodereview.appspot.com/
10820014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 25 Jul 2012 15:26:16 +0000 (15:26 +0000)]
Relax requirement from VFP3 to VFP2 where possible.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10818026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 25 Jul 2012 15:23:07 +0000 (15:23 +0000)]
Refactor incremental marking to use static visitor.
This is a refactoring only change that switches incremental marking to
use a static object visitor. It also shares the common code between the
non-incremental and the incremental marker. Sharing that would require
semantical changes will be done later.
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10816007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jul 2012 14:58:20 +0000 (14:58 +0000)]
Prepare push to trunk. Now working on version 3.12.17.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10824015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jul 2012 14:38:32 +0000 (14:38 +0000)]
MIPS: Optimize Smi keys for KeyedLoads
Port r12156 (
e2874cdf)
Original commit message:
Allows KeyeLoad/KeyedStore operations where the key is a Smi to fold the untagging of the key into the element offset calculation.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10790143
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 Jul 2012 14:36:38 +0000 (14:36 +0000)]
MIPS: Implements a new API to set a function entry hook for profiling.
Port r12107 (
59ee5c88)
Original commit message:
Exposes a new API; V8::SetFunctionEntryHook.
If a non-NULL function entry hook is set, the code generator(s) will invoke on the entry hook at the very start of each generated function.
Committed: https://code.google.com/p/v8/source/detail?r=12069
Committed: https://code.google.com/p/v8/source/detail?r=12083
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10795021
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 25 Jul 2012 14:27:14 +0000 (14:27 +0000)]
Fix static initializer check.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10824013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 25 Jul 2012 13:51:29 +0000 (13:51 +0000)]
Classify small functions platform-dependently.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10829009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 25 Jul 2012 11:12:29 +0000 (11:12 +0000)]
In-place trimming of descriptor array when appending callbacks.
Review URL: https://chromiumcodereview.appspot.com/
10830005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 24 Jul 2012 14:13:02 +0000 (14:13 +0000)]
MIPS: Optimize functions on a second thread.
Port r12148 (
a553c67d)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10802079
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 24 Jul 2012 07:55:08 +0000 (07:55 +0000)]
Prepare push to trunk. Now working on version 3.12.16.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10790138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jul 2012 16:57:22 +0000 (16:57 +0000)]
Android test runner: Make android-sync.sh work on Mac
Review URL: https://chromiumcodereview.appspot.com/
10806063
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 23 Jul 2012 16:18:25 +0000 (16:18 +0000)]
Fix bootstrapping without snapshot and low GC interval.
R=yangguo@chromium.org
BUG=v8:2249
TEST=mjsunit/regress/regress-2249 (snapshot=off)
Review URL: https://chromiumcodereview.appspot.com/
10818005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 Jul 2012 15:01:25 +0000 (15:01 +0000)]
Reactivate packed array optimizations by default
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10796088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 23 Jul 2012 14:55:12 +0000 (14:55 +0000)]
Replace symbol containing "prototype" with heap->prototype_symbol.
Review URL: https://chromiumcodereview.appspot.com/
10817008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jul 2012 14:22:46 +0000 (14:22 +0000)]
Improve String::WriteAscii and add PRESERVE_ASCII_NULL option.
The PRESERVE_ASCII_NULL option prevents WriteAscii from converting
\0 to white space.
R=verwaest@chromium.org
BUG=v8:2252
TEST=test-api/StringWrite
Review URL: https://chromiumcodereview.appspot.com/
10810056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 Jul 2012 13:59:24 +0000 (13:59 +0000)]
Add dependency to HLoadKeyed* instructions to prevent invalid hoisting
BUG=chromium:137768
TEST=test/mjsunit/regress/regress-137768.js
Review URL: https://chromiumcodereview.appspot.com/
10802038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jul 2012 12:02:46 +0000 (12:02 +0000)]
Enable building V8 for Android on Mac
Review URL: https://chromiumcodereview.appspot.com/
10795045
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jul 2012 11:34:03 +0000 (11:34 +0000)]
Android test runner: Do not copy files in *.svn folder
Review URL: https://chromiumcodereview.appspot.com/
10815050
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jul 2012 11:24:48 +0000 (11:24 +0000)]
Update mozilla test expectations for outdated test.
R=jkummerow@chromium.org
BUG=v8:2240
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10816018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jul 2012 10:33:41 +0000 (10:33 +0000)]
Interpret negative hexadecimal literals as NaN.
R=rossberg@chromium.org
BUG=v8:2240
TEST=str-to-num.js
Review URL: https://chromiumcodereview.appspot.com/
10818003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 23 Jul 2012 09:59:17 +0000 (09:59 +0000)]
Set 'executable' bit on tools/android-build.sh
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jul 2012 08:41:53 +0000 (08:41 +0000)]
Fix corner case when transforming dictionary to fast elements.
R=verwaest@chromium.org
BUG=v8:2249
TEST=regress-2249.js
Review URL: https://chromiumcodereview.appspot.com/
10802051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 23 Jul 2012 08:38:53 +0000 (08:38 +0000)]
Add assertions to limit register count for VSTM and VLDM.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10807066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 20 Jul 2012 14:06:24 +0000 (14:06 +0000)]
Refine object stats for FixedArrays.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10797008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 20 Jul 2012 11:00:33 +0000 (11:00 +0000)]
Optimize Smi keys for KeyedLoads
Allows KeyeLoad/KeyedStore operations where the key is a Smi to fold the untagging of the key into the element offset calculation.
Review URL: https://chromiumcodereview.appspot.com/
10735020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 20 Jul 2012 10:03:39 +0000 (10:03 +0000)]
Android test runner: Update mjsunit status
Review URL: https://chromiumcodereview.appspot.com/
10810012
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 20 Jul 2012 10:00:31 +0000 (10:00 +0000)]
Android test runner: Update cctest status
Review URL: https://chromiumcodereview.appspot.com/
10802030
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 Jul 2012 09:39:27 +0000 (09:39 +0000)]
Cleaned up AST nodes a bit.
* Made AST IDs constant. Making this explicit helps understanding the code.
* Removed a few dead functions.
* Be honest by making node_type() pure virtual.
All these changes have been checked to be performance-neutral.
Review URL: https://chromiumcodereview.appspot.com/
10796058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sanjoy@chromium.org [Fri, 20 Jul 2012 08:56:20 +0000 (08:56 +0000)]
Track how much time the compiler thread spends doing useful work.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10804027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 20 Jul 2012 08:03:46 +0000 (08:03 +0000)]
Add test case for custom error's toString.
R=arv@chromium.org
BUG=
TEST=error-tostring.js
Review URL: https://chromiumcodereview.appspot.com/
10388208
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 20 Jul 2012 07:24:50 +0000 (07:24 +0000)]
Don't record elements transition slots since it will contain a map.
Additionally removed unused code.
Review URL: https://chromiumcodereview.appspot.com/
10802039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 Jul 2012 07:12:06 +0000 (07:12 +0000)]
Removed dead variable to make GCC 4.6 happy again.
TBR=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10802047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00