jkummerow@chromium.org [Tue, 20 Nov 2012 14:11:53 +0000 (14:11 +0000)]
MIPS: Lattice-based representation inference, powered by left/right specific type feedback for BinaryOps and comparisons
Port r12961 (
96c0e493)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11280080
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 20 Nov 2012 12:59:36 +0000 (12:59 +0000)]
Fix typo in condition when to log code objects during deserialization.
Review URL: https://codereview.chromium.org/
11416068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 20 Nov 2012 12:32:29 +0000 (12:32 +0000)]
Fix and clean up treatment of hidden prototypes.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11413068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 20 Nov 2012 12:31:41 +0000 (12:31 +0000)]
Relax test expectations for known failing test.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11299100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 20 Nov 2012 10:47:31 +0000 (10:47 +0000)]
Make test-dictionary work for GC stress builder.
R=yangguo@chromium.org
TEST=cctest/test-dictionary
Review URL: https://codereview.chromium.org/
11299098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 20 Nov 2012 10:38:14 +0000 (10:38 +0000)]
Object.observe/unobserve now return object
BUG=v8:2418
Review URL: https://codereview.chromium.org/
11419078
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 19 Nov 2012 17:59:11 +0000 (17:59 +0000)]
Re-adjust access failure log messages for %GetOwnProperty.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11418062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Nov 2012 17:23:58 +0000 (17:23 +0000)]
Enable marking progress bar for large objects by default.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
11416072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 19 Nov 2012 16:20:22 +0000 (16:20 +0000)]
Forward transition objects to grey if they are referenced by a large object
BUG=
Review URL: https://codereview.chromium.org/
11418032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 19 Nov 2012 15:31:38 +0000 (15:31 +0000)]
Always check copy_size before getting accessor and trying to copy.
Review URL: https://chromiumcodereview.appspot.com/
11348071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 19 Nov 2012 15:00:34 +0000 (15:00 +0000)]
Ensure CopyElementsImpl is always executed so it fills in holes even if from_size is 0. Allow FixedDoubleArray::cast to also support FixedArray with size 0.
Review URL: https://chromiumcodereview.appspot.com/
11280054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 19 Nov 2012 14:46:19 +0000 (14:46 +0000)]
Revert "Drastically reduce the number of created strings in d8."
This reverts commit
2fc4424b00296cc06d6f7eb4bf31ec9c3d6be68a.
Even symbols shouldn't be shared across Isolates. The CL has to be reworked to
use a (Isolate,C-string)->v8-symbol mapping. Slowly approaching Chrome... :-/
Review URL: https://codereview.chromium.org/
11419067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 19 Nov 2012 14:20:57 +0000 (14:20 +0000)]
Fix --hydrogen-stats.
Timing happens in a scope. Since crankshaft has been chopped up into three methods, this approach is wrong.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11411065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 19 Nov 2012 09:46:58 +0000 (09:46 +0000)]
Fix clang build: remove unused static function
The last call to GetOwnPropertyImplementation() was removed in r12990.
Review URL: https://codereview.chromium.org/
11411038
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 19 Nov 2012 09:43:56 +0000 (09:43 +0000)]
Fix sequence point bug.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11308090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Nov 2012 14:41:06 +0000 (14:41 +0000)]
Prepare push to trunk. Now working on version 3.15.5.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11316047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Nov 2012 14:24:19 +0000 (14:24 +0000)]
Fix test failures.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11414030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 16 Nov 2012 13:30:43 +0000 (13:30 +0000)]
Drastically reduce the number of created strings in d8.
This also reduces the number of TLS accesses, so it is a double-win. We have
230k less TLS accesses while running Octane now, so we are down to 23% now
compared to the start of these TLS-related CLs.
Introduced a tiny helper function for throwing on the way.
Review URL: https://codereview.chromium.org/
11417029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 16 Nov 2012 13:28:34 +0000 (13:28 +0000)]
Clean-up refactoring to eliminate GetLocalElementKind.
Eliminates substantial amounts of fragile code duplication and special casing.
Also fixes "a".propertyIsEnumerable(0) to correctly return true.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11420011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Nov 2012 12:45:23 +0000 (12:45 +0000)]
Fix Array.prototype.join evaluation order.
R=yangguo@chromium.org
BUG=v8:2263
TEST=mjsunit/regress/regress-2263
Review URL: https://codereview.chromium.org/
11280025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Nov 2012 11:58:21 +0000 (11:58 +0000)]
Fix test failures.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11299033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Nov 2012 11:39:32 +0000 (11:39 +0000)]
Make PrototypeTransitionClearing work with GC interval.
R=verwaest@chromium.org
TEST=cctest/test-heap/PrototypeTransitionClearing
Review URL: https://codereview.chromium.org/
11411031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Nov 2012 10:57:50 +0000 (10:57 +0000)]
Introduce helper functions to test parallel recompilation.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11419012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 16 Nov 2012 10:38:10 +0000 (10:38 +0000)]
Perform CPU sampling by CPU sampling thread only iff processing thread is not running.
- perform CPU profiler sampling in the sampler thread as we used to;
- skip sampling in the sampling thread if processing thread is running;
- only install SIGPROF handler when CPU profiling is enabled.
BUG=v8:2364
Review URL: https://codereview.chromium.org/
11231002
Patch from Sergey Rogulenko <rogulenko@google.com> and Andrey Kosyakov <caseq@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Nov 2012 10:33:57 +0000 (10:33 +0000)]
Disable InstanceOfStubWriteBarrier in some cases.
This disables the above regression test when run with forced marking
deque overflows (which is implicitly enabled by --stress-compaction).
R=verwaest@chromium.org
TEST=cctest/test-heap/InstanceOfStubWriteBarrier
Review URL: https://codereview.chromium.org/
11417026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 16 Nov 2012 09:35:27 +0000 (09:35 +0000)]
Object.observe: Use [[DefineOwnProperty]] to create properties of changeRecord.
Note: The test here requires https://codereview.chromium.org/
11364237/ to land in order to pass because Object.freeze calls Object.getOwnPropertyNames().
BUG=v8:2411
Review URL: https://codereview.chromium.org/
11377171
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 16 Nov 2012 09:32:39 +0000 (09:32 +0000)]
When using an Object as a set in Object.getOwnPropertyNames, null out the proto
Also apply the same fix elsewhere in v8natives.js
BUG=v8:2410
Review URL: https://codereview.chromium.org/
11364237
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 16 Nov 2012 08:58:53 +0000 (08:58 +0000)]
Disable EXTRA_CHECKS in Release
This patch causes V8 to disable EXTRA_CHECKS when building in release. You can
still enable the checks in release using a GYP flag.
This patch speeds up Dromeo's dom-traverse by around 4%.
Review URL: https://codereview.chromium.org/
11275324
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 16 Nov 2012 08:54:01 +0000 (08:54 +0000)]
Fix register confusion in non-VFP3 BinaryOpStubs on ARM
Review URL: https://codereview.chromium.org/
11413014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 16 Nov 2012 08:38:11 +0000 (08:38 +0000)]
Removed a bunch of GetExistingThreadLocal calls by threading the Isolate.
For Octane, the number of calls go down from 7341629 to 1947880, i.e. they are
reduced by more than 73%. TLS access is not especially cheap, so this exercise
seems worthwhile.
Review URL: https://codereview.chromium.org/
11412007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Nov 2012 17:57:40 +0000 (17:57 +0000)]
Implement progress bar for large objects.
This implements incremental scanning of large objects using a progress
bar in the page header of such objects. Note that this requires forward
white to gray transitions in the write barrier and hence is disabled by
default for now.
R=ulan@chromium.org,hpayer@chromium.org
Review URL: https://codereview.chromium.org/
11362246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 15 Nov 2012 16:16:09 +0000 (16:16 +0000)]
Return the length as smi.
Review URL: https://chromiumcodereview.appspot.com/
11419011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 15 Nov 2012 15:41:12 +0000 (15:41 +0000)]
Fix assert failure in array slice
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11412005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 15 Nov 2012 15:27:06 +0000 (15:27 +0000)]
Fix shifting from holey arrays.
Review URL: https://chromiumcodereview.appspot.com/
11417007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 15 Nov 2012 14:30:01 +0000 (14:30 +0000)]
Set length only after retrieving the element succeeded
Review URL: https://chromiumcodereview.appspot.com/
11417006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 15 Nov 2012 13:35:05 +0000 (13:35 +0000)]
Heap explorer: Show representation of strings.
* src/profile-generator.cc (V8HeapExplorer::GetSystemEntryName): For
maps of strings, return a name that encodes the representation
strategy used for the strings.
(V8HeapExplorer::ExtractReferences): For strings, visit the maps as
well, so that the user can see what representation is used for their
strings.
See http://wingolog.org/pub/string-representations.png for an example of what it looks like.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11344021
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Nov 2012 13:31:27 +0000 (13:31 +0000)]
Rename SeqAsciiString
This is a straight rename:
NewRawAsciiString -> NewRawOneByteString
SeqAscii -> SeqOneByte
SeqOneByteString cannot yet take non-ascii data.
R=yangguo@chromium.org,
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11411005
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 15 Nov 2012 12:41:35 +0000 (12:41 +0000)]
MIPS: Add rotate-right instruction to hydrogen and use it instead of bitwise operations of the form ((x >>> i) | (x << (32 - i))).
Port r12855 (
be965042)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11293140
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Nov 2012 12:35:16 +0000 (12:35 +0000)]
Unbreak waterfall after r12968.
R=jkummerow@chromium.org
TEST=test262
Review URL: https://codereview.chromium.org/
11416008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 15 Nov 2012 12:19:14 +0000 (12:19 +0000)]
Support all fast elements kinds in the major array operations.
Currently missing support for unshift.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11377132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Nov 2012 11:41:27 +0000 (11:41 +0000)]
Update Test262 harness to recent version.
R=rossberg@chromium.org
TEST=test262
Review URL: https://codereview.chromium.org/
11308033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 15 Nov 2012 11:31:40 +0000 (11:31 +0000)]
Object.observe: Handle oldValue for elements with accessors properly.
Extended ElementAccessor interface to allow querying PropertyType and
AccessorPair. Also added respective functionality to JSObject.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11358234
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Nov 2012 10:29:11 +0000 (10:29 +0000)]
Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11360251
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 15 Nov 2012 10:12:28 +0000 (10:12 +0000)]
MIPS: Add code again to allow reclaiming old unexecuted functions.
Port r12898 (
69ff6e50)
Original commit message:
When code objects in the heap for FUNCTIONs and OPTIMIZED_FUNCTIONs are marked by the GC, their prologue is patched with a call to a stub that removes the patch. This allows the collector to quickly identify code objects that haven't been executed since the last full collection (they are the ones that sill contain the patch). The functionality is currently disabled, but can be activated by specifying the "--age-code".
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11358252
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 15 Nov 2012 09:25:40 +0000 (09:25 +0000)]
Add missing initialization for low survival rate period.
R=verwaest@chromium.org
BUG=v8:2403
Review URL: https://codereview.chromium.org/
11419002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Nov 2012 20:03:53 +0000 (20:03 +0000)]
Fix clang build after r12956
That change added a test which called the handlified version of JSObject::SetElement and didn't check the return value, but that method has a MUST_USE_RESULT annotation. This change removes the annotation for consistency with other handlified static methods (like SetProperty).
Review URL: https://chromiumcodereview.appspot.com/
11359212
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 14 Nov 2012 16:51:21 +0000 (16:51 +0000)]
Object.observe: Move notification of JSArray length changes to JSArray::SetElementsLength
The previous implementation in Accessors::ArraySetLength failed when array length was set through StoreIC_ArrayLength. But that stub and the accessor both delegate to JSArray::SetElementsLength, so moving the code there allows notifications to be sent in both cases.
Review URL: https://codereview.chromium.org/
11275292
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 14 Nov 2012 15:59:45 +0000 (15:59 +0000)]
Lattice-based representation inference, powered by left/right specific type feedback for BinaryOps and comparisons
Review URL: https://chromiumcodereview.appspot.com/
10837165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 14 Nov 2012 12:10:51 +0000 (12:10 +0000)]
Consolidate polymorphic calls due to elements transitions.
Review URL: https://chromiumcodereview.appspot.com/
11359104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12960
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 14 Nov 2012 11:44:56 +0000 (11:44 +0000)]
Output max incremental step delay in trace_gc_nvp.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11377134
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 14 Nov 2012 11:01:18 +0000 (11:01 +0000)]
Emit VMLA for multiply-add on ARM
Review URL: https://chromiumcodereview.appspot.com/
11293061
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12958
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Nov 2012 09:32:51 +0000 (09:32 +0000)]
Fix build errors.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11364231
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12957
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Nov 2012 09:14:47 +0000 (09:14 +0000)]
Remove 'type' and 'arguments' properties from Error object.
R=svenpanne@chromium.org
BUG=v8:2397
Review URL: https://chromiumcodereview.appspot.com/
11358214
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 14 Nov 2012 07:33:16 +0000 (07:33 +0000)]
Unbreak MIPS part a bit.
Review URL: https://codereview.chromium.org/
11293250
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 13 Nov 2012 21:43:38 +0000 (21:43 +0000)]
git should ignore .d8_history (d8 readline history)
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11365168
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 13 Nov 2012 21:38:00 +0000 (21:38 +0000)]
Add atomics implementation for ThreadSanitizer v2 (https://sites.google.com/a/chromium.org/dev/developers/testing/threadsanitizer-tsan-v2)
BUG=128314
Review URL: https://chromiumcodereview.appspot.com/
10965035
Patch from Alexander Potapenko <glider@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 13 Nov 2012 19:13:27 +0000 (19:13 +0000)]
Issue 2368: LiveEdit crashes when new object/array literal is added
Review URL: https://codereview.chromium.org/
11191039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Nov 2012 15:53:28 +0000 (15:53 +0000)]
Object.deliverChangeRecords should remove the observer from activeObservers
To preserve ordering guarantees during end-of-turn delivery, Object.deliverChangeRecords needs to remove the delivered-to observer from the list of active observers.
The added test demonstrates this behavior.
Review URL: https://codereview.chromium.org/
11410046
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Nov 2012 15:50:59 +0000 (15:50 +0000)]
Object.unobserve(obj, callback) now throws a TypeError when callback is not a function.
Review URL: https://codereview.chromium.org/
11293248
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 13 Nov 2012 15:47:46 +0000 (15:47 +0000)]
Restructure JSObject::SetElement for performance.
Wins back ~1500 points on Octane/Gameboy that we lost with
https://codereview.chromium.org/
11365111 (CL 12900), presumably
by lowering register pressure and/or handlification overhead.
Hopefully benefits other regressions as well.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11275283
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Nov 2012 13:54:49 +0000 (13:54 +0000)]
Prepare push to trunk. Now working on version 3.15.4.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11369213
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 13 Nov 2012 12:27:03 +0000 (12:27 +0000)]
Re-land rev. 12849 and 12868 (Heavy cleanup of the external pointer API + related fix).
Review URL: https://codereview.chromium.org/
11365224
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 13 Nov 2012 11:07:04 +0000 (11:07 +0000)]
Allow property indexes to refer to slots inside the object header.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11365221
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 13 Nov 2012 10:53:34 +0000 (10:53 +0000)]
Revert change r12912 (code.google.com/p/v8/source/detail?r=12912) due to x64 perf issue
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11312206
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Nov 2012 10:36:20 +0000 (10:36 +0000)]
Reverting r12937.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11293246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Nov 2012 10:31:40 +0000 (10:31 +0000)]
Send non-JS output (e.g. errors) to stderr, instead of stdout.
The Chromium build uses this executable and needs to be able to
separate errors from JS output.
Review URL: https://chromiumcodereview.appspot.com/
11365202
Patch from Patrick Dubroy <dubroy@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Nov 2012 09:01:43 +0000 (09:01 +0000)]
Fix details in message formatting.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11360220
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 17:32:30 +0000 (17:32 +0000)]
Correctly handle uncaught exception objects.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11365200
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 12 Nov 2012 15:33:31 +0000 (15:33 +0000)]
Speed up native error check.
BUG=148757
TEST=largeObj test from the bug is 2x faster.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11377100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 14:57:59 +0000 (14:57 +0000)]
Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11361171
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 14:56:25 +0000 (14:56 +0000)]
Correctly check for stack overflow even when interrupt is pending.
BUG=v8:214
Review URL: https://chromiumcodereview.appspot.com/
11362007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 14:54:29 +0000 (14:54 +0000)]
Collect stack trace on stack overflow.
BUG=v8:2394
Review URL: https://chromiumcodereview.appspot.com/
11275186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 12 Nov 2012 14:43:21 +0000 (14:43 +0000)]
Prepare push to trunk. Now working on version 3.15.3.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11366195
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 14:07:21 +0000 (14:07 +0000)]
Correctly fix test expectations.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11369183
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 12 Nov 2012 13:27:36 +0000 (13:27 +0000)]
Fixed Code::FindCodeAgeSequence logic, removing a dead method on the way.
Review URL: https://codereview.chromium.org/
11364177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 12 Nov 2012 12:34:18 +0000 (12:34 +0000)]
Function::GetScriptOrigin should supply sourceURL when script name is not available.
GetScriptOrigin is used for DevTools instrumentation.
If inspected call-site is inside "eval" then returned script name is "undefined". To fix this problem we can use the "nameOrSourceURL" method of script-wrapper.
This is a re-upload of https://codereview.appspot.com/6811090/ for the purpose of landing.
BUG=159413
Review URL: https://codereview.chromium.org/
11312185
Patch from Eugene Klyuchnikov <eustas@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 12:29:15 +0000 (12:29 +0000)]
Fix test expectations.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11361217
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12928
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 12 Nov 2012 11:08:34 +0000 (11:08 +0000)]
Minor cleanup and optimisation of element methods.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11365175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 10:33:20 +0000 (10:33 +0000)]
Make formatting error message side-effect-free.
BUG=v8:2398
Review URL: https://chromiumcodereview.appspot.com/
11359130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12926
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Nov 2012 10:20:07 +0000 (10:20 +0000)]
Fix length check in JSON.stringify.
R=verwaest@chromium.org
BUG=160010
Review URL: https://chromiumcodereview.appspot.com/
11410031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12925
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 12 Nov 2012 10:12:35 +0000 (10:12 +0000)]
Refactoring incremental marking
BUG=
Review URL: https://codereview.chromium.org/
11358177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12924
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Nov 2012 16:14:42 +0000 (16:14 +0000)]
Implement Object.getNotifier() and remove Object.notify()
Updated all tests to use getNotifier or actual object mutation instead of notify, and added tests for new behavior of getNotifier.
Review URL: https://codereview.chromium.org/
11369154
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12923
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Nov 2012 13:43:48 +0000 (13:43 +0000)]
Refactoring: Make emit_debug_code flag handling architecture-independent.
Review URL: https://codereview.chromium.org/
11312165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12921
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Nov 2012 13:10:10 +0000 (13:10 +0000)]
Refactoring: Make predictable code flag handling architecture-independent.
Review URL: https://codereview.chromium.org/
11359127
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Nov 2012 13:04:51 +0000 (13:04 +0000)]
Disable code aging due to bugs.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
11361182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Nov 2012 12:28:22 +0000 (12:28 +0000)]
Minimal implementation and tests of observable array methods
Bail out of any special-casing in array methods.
Further optimization is possible, but can be left for later.
Review URL: https://codereview.chromium.org/
11369151
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Nov 2012 11:30:05 +0000 (11:30 +0000)]
Keep the number of descriptors below DescriptorArray::kMaxNumberOfDescriptors even for accessors
Review URL: https://codereview.chromium.org/
11362182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Nov 2012 11:00:13 +0000 (11:00 +0000)]
Add more test coverage for setting Array.length
Covers truncation of holey arrays and defineProperty('length').
Review URL: https://codereview.chromium.org/
11369150
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Nov 2012 10:57:54 +0000 (10:57 +0000)]
Object.observe: notify when element addition causes array growth
Review URL: https://codereview.chromium.org/
11369135
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 9 Nov 2012 10:51:35 +0000 (10:51 +0000)]
Fix InternalObjectHashTable to properly update table ref in observationState
The previous fix wasn't broad enough: it only fixed the reference for a single Context.
Review URL: https://codereview.chromium.org/
11361172
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 9 Nov 2012 10:21:07 +0000 (10:21 +0000)]
Some improvements in register usage in lithium compilation of LoadKeyed/StoreKeyed operations.
BUG=
Review URL: https://codereview.chromium.org/
11365084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Nov 2012 10:07:54 +0000 (10:07 +0000)]
Rollback of r12868, r12849 on bleeding_edge.
Fixed visibility attribute for GetPointerFromInternalField
Heavy cleanup of the external pointer API.
Review URL: https://codereview.chromium.org/
11359125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 9 Nov 2012 09:37:58 +0000 (09:37 +0000)]
git shoult ignore gtags and htags (GNU Global) output.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11369148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 9 Nov 2012 09:01:29 +0000 (09:01 +0000)]
ES6: Add support for Set and Map clear method
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts, section
15.14.5.3 and 15.14.5.2
BUG=v8:2400
Review URL: https://codereview.chromium.org/
11409002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Nov 2012 08:22:02 +0000 (08:22 +0000)]
Turn message property of the error object into a data property.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11368142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 9 Nov 2012 07:26:05 +0000 (07:26 +0000)]
Fixed assertion.
The name in question is not necessarily a symbol, so we have to use Equals instead of ==.
BUG=http://www.playescapegoat.com/
Review URL: https://codereview.chromium.org/
11368141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 8 Nov 2012 17:31:45 +0000 (17:31 +0000)]
Active code aging by default.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
11293178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 8 Nov 2012 16:12:12 +0000 (16:12 +0000)]
Handle Object.observe notifications for setting Array.length
Also handles notification of deleted properties when an array
is truncated by setting length.
Review URL: https://codereview.chromium.org/
11338048
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12905
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 8 Nov 2012 15:01:26 +0000 (15:01 +0000)]
Implement MarkIndependent(Isolate*) and MarkPartiallyDependent(Isolate*)
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Review URL: https://codereview.chromium.org/
11369131
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12904
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 8 Nov 2012 14:40:55 +0000 (14:40 +0000)]
Reshuffle an if() condition to not depend on an uninitialized value.
Node::class_id_ contains garbage for newly allocated (FREE) nodes. This patch
changes the code to first test the node state_, then (for non-FREE nodes),
class_id_, and not the other way around.
This does not affect the branch taken (i.e. the current code is correct),
but makes Valgrind and MSan happy.
Review URL: https://codereview.chromium.org/
11362158
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00