mstarzinger@chromium.org
b6c9bdaa9e
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
2012-11-16 10:33:57 +00:00
rossberg@chromium.org
2e76922c79
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
2012-11-16 09:35:27 +00:00
rossberg@chromium.org
af824eab8f
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
2012-11-16 09:32:39 +00:00
jkummerow@chromium.org
778499e55f
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
2012-11-16 08:58:53 +00:00
jkummerow@chromium.org
d9ba8ed8a1
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
2012-11-16 08:54:01 +00:00
svenpanne@chromium.org
d5f589808d
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
2012-11-16 08:38:11 +00:00
mstarzinger@chromium.org
5dec1423a4
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
2012-11-15 17:57:40 +00:00
verwaest@chromium.org
4ce6de208d
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
2012-11-15 16:16:09 +00:00
mvstanton@chromium.org
1d966af2e9
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
2012-11-15 15:41:12 +00:00
verwaest@chromium.org
97c54506c5
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
2012-11-15 15:27:06 +00:00
verwaest@chromium.org
8535c6484d
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
2012-11-15 14:30:01 +00:00
verwaest@chromium.org
111630350c
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
2012-11-15 13:35:05 +00:00
yangguo@chromium.org
3699616609
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
2012-11-15 13:31:27 +00:00
ulan@chromium.org
5df210bd35
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
2012-11-15 12:41:35 +00:00
mstarzinger@chromium.org
db4375e338
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
2012-11-15 12:35:16 +00:00
verwaest@chromium.org
a08194c83a
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
2012-11-15 12:19:14 +00:00
mstarzinger@chromium.org
50e975574b
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
2012-11-15 11:41:27 +00:00
rossberg@chromium.org
4fb992a872
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
2012-11-15 11:31:40 +00:00
yangguo@chromium.org
7fc1751821
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
2012-11-15 10:29:11 +00:00
danno@chromium.org
4d23256cf9
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
2012-11-15 10:12:28 +00:00
mstarzinger@chromium.org
d6a31725b9
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
2012-11-15 09:25:40 +00:00
yangguo@chromium.org
2333f53128
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
2012-11-14 20:03:53 +00:00
rossberg@chromium.org
5e7b796479
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
2012-11-14 16:51:21 +00:00
jkummerow@chromium.org
1c086d1202
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
2012-11-14 15:59:45 +00:00
verwaest@chromium.org
deae08bd23
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
2012-11-14 12:10:51 +00:00
ulan@chromium.org
a590fff76b
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
2012-11-14 11:44:56 +00:00
ulan@chromium.org
74492ab2d4
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
2012-11-14 11:01:18 +00:00
yangguo@chromium.org
e49a910d99
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
2012-11-14 09:32:51 +00:00
yangguo@chromium.org
4783d3c31b
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
2012-11-14 09:14:47 +00:00
svenpanne@chromium.org
8a210a78c6
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
2012-11-14 07:33:16 +00:00
danno@chromium.org
06f0dc8bb6
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
2012-11-13 21:43:38 +00:00
danno@chromium.org
77c97eefbb
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
2012-11-13 21:38:00 +00:00
peter.rybin@gmail.com
bb53dc6890
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
2012-11-13 19:13:27 +00:00
rossberg@chromium.org
92db2105e4
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
2012-11-13 15:53:28 +00:00
rossberg@chromium.org
36c3d01589
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
2012-11-13 15:50:59 +00:00
rossberg@chromium.org
dcb6abd460
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
2012-11-13 15:47:46 +00:00
yangguo@chromium.org
45007d96f4
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
2012-11-13 13:54:49 +00:00
svenpanne@chromium.org
673924413f
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
2012-11-13 12:27:03 +00:00
mmassi@chromium.org
ce682a2489
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
2012-11-13 11:07:04 +00:00
mvstanton@chromium.org
50bd6e9092
Revert change r12912 ( http://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
2012-11-13 10:53:34 +00:00
yangguo@chromium.org
827f8919f4
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
2012-11-13 10:36:20 +00:00
yangguo@chromium.org
0a5008c153
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
2012-11-13 10:31:40 +00:00
yangguo@chromium.org
578a2c74bd
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
2012-11-13 09:01:43 +00:00
yangguo@chromium.org
c6b35d0310
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
2012-11-12 17:32:30 +00:00
ulan@chromium.org
acd3013d9d
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
2012-11-12 15:33:31 +00:00
yangguo@chromium.org
ce884e13e3
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
2012-11-12 14:57:59 +00:00
yangguo@chromium.org
693ee09cf3
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
2012-11-12 14:56:25 +00:00
yangguo@chromium.org
4c27298d27
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
2012-11-12 14:54:29 +00:00
mvstanton@chromium.org
69846ce69d
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
2012-11-12 14:43:21 +00:00
yangguo@chromium.org
e3e899fe53
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
2012-11-12 14:07:21 +00:00