mvstanton@chromium.org [Mon, 26 Nov 2012 16:14:49 +0000 (16:14 +0000)]
MIPS: Fix MIPS port of r13032 (
25d0edd7).
This commit fixes a small typo in r13032 (
25d0edd7).
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11348205
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 26 Nov 2012 15:58:27 +0000 (15:58 +0000)]
Ensure we do not clobber the register holding the elements backing store.
Review URL: https://chromiumcodereview.appspot.com/
11316168
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 26 Nov 2012 14:50:20 +0000 (14:50 +0000)]
Remove eager sweeping for lazy swept spaces. Try to find in SlowAllocateRaw a bounded number of times a big enough memory slot.
BUG=v8:2194
Review URL: https://codereview.chromium.org/
11420036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 26 Nov 2012 14:49:57 +0000 (14:49 +0000)]
Prepare push to trunk. Now working on version 3.15.7.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11316166
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 26 Nov 2012 14:29:21 +0000 (14:29 +0000)]
Ensure double arrays are filled with holes when extended from variations of empty arrays.
BUG=162085
Review URL: https://chromiumcodereview.appspot.com/
11414155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 Nov 2012 13:40:00 +0000 (13:40 +0000)]
Fix test262 expectations for fast implementation of Math.exp()
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
11418153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 26 Nov 2012 13:12:35 +0000 (13:12 +0000)]
Faster implementation of Math.exp()
Review URL: https://codereview.chromium.org/
11418149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 26 Nov 2012 12:55:47 +0000 (12:55 +0000)]
Make indexed intercepted methods enumerable by default.
R=ulan@chromium.org
BUG=162606
Review URL: https://codereview.chromium.org/
11348222
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 26 Nov 2012 10:23:16 +0000 (10:23 +0000)]
Remove unused heap debug utils code.
This functionality is already implemented by PathTracer.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11412162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 Nov 2012 08:56:59 +0000 (08:56 +0000)]
Also time other API functions calling into javascript.
And prevent crash when starting chromium without --single-process.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11411144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 26 Nov 2012 08:47:48 +0000 (08:47 +0000)]
Fix valgrind warnings.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11418138
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Nov 2012 15:47:58 +0000 (15:47 +0000)]
Censor .caller if it is a strict function instead of throwing.
For details, see:
http://www.mail-archive.com/es-discuss@mozilla.org/msg19322.html
https://bugs.ecmascript.org/show_bug.cgi?id=310
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11417140
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Nov 2012 15:45:03 +0000 (15:45 +0000)]
Fix strict mode test case, so that it succeeds for the right reason.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11348196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Nov 2012 15:43:54 +0000 (15:43 +0000)]
Object.observe: Tests for __define{G,S}etter__.
R=adamk@chromium.org,rafaelw@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11348193
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 23 Nov 2012 15:39:25 +0000 (15:39 +0000)]
MIPS: Get rid of static module allocation, do it in code.
Port r13033 (
58c2efbb)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11413146
Patch from palfia <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 23 Nov 2012 14:35:13 +0000 (14:35 +0000)]
Prepare push to trunk. Now working on version 3.15.6.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11308182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 23 Nov 2012 13:23:39 +0000 (13:23 +0000)]
Force small array literals to have FAST_ELEMENTs
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
11414139
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 23 Nov 2012 12:32:24 +0000 (12:32 +0000)]
Fix JSON.stringify for objects with interceptor handlers.
BUG=161028
Review URL: https://chromiumcodereview.appspot.com/
11348209
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 23 Nov 2012 12:22:16 +0000 (12:22 +0000)]
Reset progress bar of object to 0 when RecordWrites changes object color to grey.
BUG=v8:2423
Review URL: https://codereview.chromium.org/
11308177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Fri, 23 Nov 2012 10:53:03 +0000 (10:53 +0000)]
Revert r13025 and r13026 (they introduced a bug on arm and regressed octane crypto).
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11316151
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 22 Nov 2012 16:22:57 +0000 (16:22 +0000)]
- Initialize the result array with holes if we concat a double array into an object array, since it may cause a marking step while boxing a double.
- Ensure we go holey if we are concatting any holey array.
Review URL: https://chromiumcodereview.appspot.com/
11413142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 22 Nov 2012 14:59:52 +0000 (14:59 +0000)]
PredictableCodeSizeScope checks the expected size now.
We still have some problems on ARM, so the size check currently
optional. Furthermore, we don't use PredictableCodeSizeScope at all
place where we should do it. Both issues are cleaned up in upcoming
CLs.
Review URL: https://codereview.chromium.org/
11348195
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 Nov 2012 13:04:11 +0000 (13:04 +0000)]
Add parallel recompilation time to histogram and plot execution pause times.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11412125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 Nov 2012 10:31:42 +0000 (10:31 +0000)]
Object.observe: More tests for accessor reconfiguration.
R=adamk@chromium.org,rafaelw@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11280118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 22 Nov 2012 10:28:29 +0000 (10:28 +0000)]
Moved buffer handling to AssemblerBase.
This removed a lot of copy-n-paste code and is very handy for some upcoming
changes (regarding predictable code size).
Review URL: https://codereview.chromium.org/
11416133
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 22 Nov 2012 10:25:22 +0000 (10:25 +0000)]
Get rid of static module allocation, do it in code.
Modules now have their own local scope, represented by their own context.
Module instance objects have an accessor for every export that forwards
access to the respective slot from the module's context. (Exports that are
modules themselves, however, are simple data properties.)
All modules have a _hosting_ scope/context, which (currently) is the
(innermost) enclosing global scope. To deal with recursion, nested modules
are hosted by the same scope as global ones.
For every (global or nested) module literal, the hosting context has an
internal slot that points directly to the respective module context. This
enables quick access to (statically resolved) module members by 2-dimensional
access through the hosting context. For example,
module A {
let x;
module B { let y; }
}
module C { let z; }
allocates contexts as follows:
[header| .A | .B | .C | A | C ] (global)
| | |
| | +-- [header| z ] (module)
| |
| +------- [header| y ] (module)
|
+------------ [header| x | B ] (module)
Here, .A, .B, .C are the internal slots pointing to the hosted module
contexts, whereas A, B, C hold the actual instance objects (note that every
module context also points to the respective instance object through its
extension slot in the header).
To deal with arbitrary recursion and aliases between modules,
they are created and initialized in several stages. Each stage applies to
all modules in the hosting global scope, including nested ones.
1. Allocate: for each module _literal_, allocate the module contexts and
respective instance object and wire them up. This happens in the
PushModuleContext runtime function, as generated by AllocateModules
(invoked by VisitDeclarations in the hosting scope).
2. Bind: for each module _declaration_ (i.e. literals as well as aliases),
assign the respective instance object to respective local variables. This
happens in VisitModuleDeclaration, and uses the instance objects created
in the previous stage.
For each module _literal_, this phase also constructs a module descriptor
for the next stage. This happens in VisitModuleLiteral.
3. Populate: invoke the DeclareModules runtime function to populate each
_instance_ object with accessors for it exports. This is generated by
DeclareModules (invoked by VisitDeclarations in the hosting scope again),
and uses the descriptors generated in the previous stage.
4. Initialize: execute the module bodies (and other code) in sequence. This
happens by the separate statements generated for module bodies. To reenter
the module scopes properly, the parser inserted ModuleStatements.
R=mstarzinger@chromium.org,svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11093074
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 22 Nov 2012 10:19:05 +0000 (10:19 +0000)]
Add dehoisting to the string printout of hydrogen and lithium instructions.
This is nice when looking at hydrogen graphs, to see the real key offset.
R=mmassi@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11348176
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 22 Nov 2012 08:35:21 +0000 (08:35 +0000)]
Fix counters in d8.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11416135
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 22 Nov 2012 07:58:59 +0000 (07:58 +0000)]
Reduced TLS accesses even further.
Thread the Isolate through FindCodeInCache, FindCodeInSpecialCache and
SetProperty. Reduced the number of TLS accesses while running the Octane
benchmark down to 19% compared to the beginning of the cleanups.
Review URL: https://codereview.chromium.org/
11411033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 22 Nov 2012 07:05:20 +0000 (07:05 +0000)]
Use slot instead of value in the write barrier to record write from code.
BUG=
Review URL: https://codereview.chromium.org/
11412096
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 21 Nov 2012 14:01:10 +0000 (14:01 +0000)]
Fix performance regression in DXT5Decoder.js.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11412129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 21 Nov 2012 12:50:49 +0000 (12:50 +0000)]
Object.observe: Unblacklist some tests involving indexed properties
These were erroneously disabled because they were expecting indexed properties to be of Number type when appearing as the "name" in change records. But the "name" property will always be a string. Fixed assertRecordsEqual() to enforce this in expectations.
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11280105
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 21 Nov 2012 12:17:18 +0000 (12:17 +0000)]
Fix build (and fix brown paper bug as well...).
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11419115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 21 Nov 2012 11:49:15 +0000 (11:49 +0000)]
Use the property load IC for accessing the array length.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11299004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 21 Nov 2012 10:16:07 +0000 (10:16 +0000)]
Enable deprecations.
In addition, use a more common style in the preprocessor condition, making
e.g. '-DV8_ENABLE_DEPRECATIONS=0' do the expected thing. Removed a useles
Review URL: https://codereview.chromium.org/
11413113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 21 Nov 2012 10:01:05 +0000 (10:01 +0000)]
Rename IsAsciiRepresentation
This is a straight rename:
IsAsciiRepresentation -> IsOneByteRepresentation
IsAsciiRepresentationUnderneath -> IsOneByteRepresentationUnderneath
AllocateRawAsciiString -> AllocateRawOneByteString
AllocateStringFromAscii -> AllocateStringFromOneByte
R=yangguo@chromium.org,
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11308066
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 21 Nov 2012 09:54:53 +0000 (09:54 +0000)]
MIPS: Support all fast elements kinds in the major array operations. Currently missing support for unshift.
Port r12969 (
b10320d7)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11412120
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 21 Nov 2012 09:41:34 +0000 (09:41 +0000)]
MIPS: Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.
Port r12966 (
ec963fe0)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11316091
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 21 Nov 2012 09:32:06 +0000 (09:32 +0000)]
Actually relax test expectations for known failing test.
This corrects r13011.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11415093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 20 Nov 2012 15:57:10 +0000 (15:57 +0000)]
Fix corner case in x64 compare stubs.
BUG=v8:2416
Review URL: https://codereview.chromium.org/
11413087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 20 Nov 2012 14:47:56 +0000 (14:47 +0000)]
Drastically reduce the number of created strings in d8, 2nd attempt.
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.
To get things right in the presence of multiple Isolates, we have to thread the
correct Isolate through several layers. This threading wasn't that bad after
all, it keeps one honest about the real depdencies. The only ugly thing is that
in ExternalArrayWeakCallback we have to conjure up the current Isolate from the
TLS, but this is a know API deficiency.
Introduced a tiny helper function for throwing on the way.
Review URL: https://codereview.chromium.org/
11418088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 20 Nov 2012 14:46:16 +0000 (14:46 +0000)]
Emit RSB for subtraction with constant lhs on ARM
Instead of generating the following for "100 - x":
mov r1, #100
subs r0, r1, r0
this patch makes Crankshaft generate this:
rsbs r0, r0, #100
thus saving a register and a mov.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11308040
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 20 Nov 2012 14:45:21 +0000 (14:45 +0000)]
Object.observe: Add test case covering most special cases.
Things not working yet are currently blacklisted in the test (see TODOs).
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11377157
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 20 Nov 2012 14:41:20 +0000 (14:41 +0000)]
Missing check for exception.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11316104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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