v8/test/mjsunit/es6
littledan 07c91dccbe Use ES2015-style TypedArray prototype chain
This patch switches TypedArrays to use the prototype chain described
in the ES2015 specification, which adds a %TypedArray% superclass above
all individual TypedArray types. Most methods are defined on the
superclass rather than the subclasses.

In order to prevent a performance regression, a few methods are
marked as inline. Inlining might prevent code which was previously
monomorphic from becoming polymorphic, and it was specifically
applied in places where methods became more polymorphic than before.
Tests with realistic workloads would be nice to do before this
ships in stable.

This patch does not bring TypedArrays up to full spec compliance. In
particular, @@species is not yet supported.

R=cbruni
BUG=v8:4085
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#33050}
2015-12-28 17:28:54 +00:00
..
debug-promises [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
regress [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
arguments-iterator.js Fixing Sloppy Symbol.iterator setter 2015-09-14 07:22:35 +00:00
array-copywithin.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-fill.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-find.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-findindex.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-from.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-iterator.js [es6] Array.prototype[Symbol.iterator].name should be 'values' 2015-07-23 05:50:47 +00:00
array-length.js Ship Harmony ToLength 2015-11-05 00:45:05 +00:00
array-of.js Remove stale references to --harmony-arrays flag in mjsunit tests 2015-10-15 17:39:42 +00:00
array-reverse-order.js Array.prototype.reverse should call [[HasProperty]] on elements before [[Get]] 2015-07-16 23:12:23 +00:00
array-tostring.js
arrow-functions-lexical-arguments.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-functions-this.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
arrow-functions.js [parser] fix token end position for regexp literals 2015-10-09 01:02:02 +00:00
arrow-rest-params-lazy-parsing.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
arrow-rest-params.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
block-conflicts.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-const-assign.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
block-early-errors.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
block-for.js Adapt tests in preparation of shipping --harmony-completion. 2015-10-23 10:26:01 +00:00
block-leave.js [es6] Initial support for let/const bindings in sloppy mode 2015-07-08 15:04:13 +00:00
block-let-crankshaft.js %GetOptimizationStatus(): Unconditionally return a sentinel when --always-opt is present 2015-04-14 14:57:48 +00:00
block-let-declaration.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-let-semantics.js Add class to existing lexical scoping tests 2015-08-12 18:43:06 +00:00
block-non-strict-errors.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
block-scoping-top-level.js Stack allocate lexical locals + hoist stack slots 2015-04-22 13:22:18 +00:00
block-scoping.js [turbofan] Initial support for monomorphic/polymorphic property loads. 2015-10-19 05:24:51 +00:00
built-in-accessor-names.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
class-computed-property-names-super.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
class-property-name-eval-arguments.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-experimental.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-lazy-parsing.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-maps.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-proxy.js [runtime] [proxy] implement [[Construct]] 2015-12-09 14:55:33 +00:00
classes-subclass-arrays.js [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
classes-subclass-builtins.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
classes.js [crankshaft] Do not optimize ClassConstructor calls and apply. 2015-11-05 19:21:20 +00:00
classof-proxy.js Fix Object.prototype.toString.call(proxy) 2015-12-11 15:57:30 +00:00
collection-iterator.js
collections.js [es6] Map/Set size getter should have "get size" name 2015-04-24 18:15:59 +00:00
computed-property-names-classes.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-deopt.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-object-literals-methods.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names-super.js Delete --harmony-computed-property-names flag 2015-08-05 21:32:38 +00:00
computed-property-names.js [es6] Fix computed property names in nested literals 2015-08-25 21:10:44 +00:00
debug-blockscopes.js [debugger] debug-evaluate should not not modify local values. 2015-12-15 09:54:46 +00:00
debug-break-default-constructor.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-evaluate-arrow-function-receiver.js [debugger] fix debug-evaluate wrt shadowed context var. 2015-12-14 10:25:11 +00:00
debug-evaluate-blockscopes.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
debug-function-scopes.js Debugger: move implementation to a separate folder. 2015-07-31 11:08:15 +00:00
debug-liveedit-new-target-1.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-liveedit-new-target-2.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-liveedit-new-target-3.js Reland of [debugger] do not restart frames that reference new.target for liveedit. (patchset #1 id:1 of https://codereview.chromium.org/1493863004/ ) 2015-12-03 20:21:36 +00:00
debug-step-into-class-extends.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-step-into-constructor.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-step-into-regexp-subclass.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-stepin-collections-foreach.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-stepin-generators.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-stepin-microtasks.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-stepin-string-template.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
debug-stepnext-for.js [debugger] remove step count parameter from prepare step. 2015-12-16 08:39:54 +00:00
empty-for.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
for-of.js [es6] allow any LeftHandSideExpression in for-of loops 2015-11-05 06:47:56 +00:00
function-length-configurable.js [es6] Function length property should be configurable 2015-03-13 17:19:53 +00:00
function-name-configurable.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
function-prototype-name.js [es6] Function.prototype.name should be the empty string 2015-04-23 00:29:27 +00:00
generators-debug-liveedit.js Debugger: remove unused JS Debugger API. 2015-03-26 08:15:45 +00:00
generators-debug-scopes.js
generators-iteration.js
generators-mirror.js
generators-objects.js Remove invalid assertion 2015-04-01 15:22:19 +00:00
generators-parsing.js [es6] Fix parsing of 'yield' in function and generator expressions 2015-11-23 21:34:30 +00:00
generators-poisoned-properties.js [es6] do not add caller/arguments to ES6 function definitions 2015-04-09 22:40:28 +00:00
generators-relocation.js Debugger: require debugger to be active when dealing with breaks. 2015-06-16 07:11:21 +00:00
generators-runtime.js [es6] Define generator prototype as writable prop 2015-05-26 18:31:49 +00:00
generators-states.js
indexed-integer-exotics.js Cleanup INTEGER_INDEXED_EXOTIC handling a bit 2015-06-18 14:39:11 +00:00
instanceof-proxies.js [proxies] Limit recursive proxy prototype lookups to 100'000 2015-12-22 12:52:57 +00:00
iteration-semantics.js [runtime] support new Proxy() instead of Proxy.create and install getPrototypeOf trap 2015-11-13 14:14:07 +00:00
iteration-syntax.js Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
iterator-prototype.js [es6] Iterators and generators should "extend" %IteratorPrototype% 2015-05-15 15:09:38 +00:00
json.js
map-minus-zero.js
math-cbrt.js
math-clz32.js
math-expm1.js
math-fround.js
math-hyperbolic.js Implement Math.tanh using fdlibm port. 2015-10-16 12:56:37 +00:00
math-hypot.js
math-log1p.js
math-log2-log10.js Fix Math.log10 implementation for 1 - Number.EPSILON. 2015-04-14 11:56:02 +00:00
math-sign.js
math-trunc.js
math.js
method-name-eval-arguments.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
microtask-delivery.js Add a --harmony-object-observe runtime flag (on by default) 2015-08-04 20:53:32 +00:00
mirror-collections.js
mirror-iterators.js
mirror-promises.js
mirror-symbols.js
new-target.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
no-unicode-regexp-flag.js Guard the property RegExp.prototype.unicode behind --harmony-regexp-unicode 2015-12-28 16:38:54 +00:00
numeric-literals.js Remove --harmony-numeric-literal flag 2015-03-31 14:24:30 +00:00
object-assign.js Remove on-by-default flag --harmony-object 2015-09-18 18:37:57 +00:00
object-literals-method.js [es6] Remove harmony-object-literal flag 2015-06-26 19:49:53 +00:00
object-literals-property-shorthand.js [es6] support get and set in shorthand properties 2015-09-16 16:02:05 +00:00
object-literals-super.js Remove --harmony-arrow-functions flag 2015-09-30 19:50:40 +00:00
object-tostring.js [proxies] Recognize arraylike proxies in Object.prototype.toString. 2015-12-16 14:27:23 +00:00
promise-internal-setter.js Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
promises.js Unstage non-standard Promise functions 2015-12-10 23:58:26 +00:00
prototype-ordinary-objects.js Revert "ES6: Number and Boolean prototype should be ordinary objects" 2015-04-13 16:21:00 +00:00
regexp-constructor.js Introduce a BuiltinsConstructStub that sets up new.target and does a [[call]] per ES6 9.3.2 2015-11-19 16:11:09 +00:00
regexp-flags.js Reland of Add web compat workarounds for ES2015 RegExp semantics (patchset #3 id:40001 of https://codereview.chromium.org/1543723002/ ) 2015-12-22 09:16:56 +00:00
regexp-match-lastindex.js Do not coerce lastIndex of a global RegExp in @@match and @@replace. 2015-10-16 11:25:37 +00:00
regexp-prototype.js RegExp.prototype is an ordinary object. 2015-11-03 06:18:44 +00:00
regexp-replace-lastindex.js Do not coerce lastIndex of a global RegExp in @@match and @@replace. 2015-10-16 11:25:37 +00:00
regexp-tolength.js Ship Harmony ToLength 2015-11-05 00:45:05 +00:00
rest-params-lazy-parsing.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
rest-params.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
set-minus-zero.js
spread-array.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
spread-call-new-class.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
spread-call-new.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
spread-call-super-property.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
spread-call.js Remove flags for spread calls and arrays 2015-10-28 15:57:27 +00:00
string-codepointat.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-endswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-fromcodepoint.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-html.js Fix HTML string methods to not depend on replace method 2015-06-22 21:55:56 +00:00
string-includes.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
string-iterator.js
string-raw.js [es6] call ToString() on template substitutions 2015-03-24 12:44:01 +00:00
string-repeat.js [es6] Allow any valid repeat of empty string in String.prototype.repeat 2015-11-20 23:57:39 +00:00
string-search.js [es6] implement RegExp.@@search. 2015-12-14 10:22:41 +00:00
string-startswith.js Remove harmony-strings flag. 2015-03-20 10:43:38 +00:00
super.js Remove always-on --harmony-rest-parameters flag 2015-12-12 00:00:38 +00:00
symbols.js [es6] correctly handle object wrappers in JSON.stringify. 2015-12-02 08:44:03 +00:00
templates.js Delete --harmony-unicode flag 2015-08-05 19:08:42 +00:00
throw-type-error-function-restrictions.js Fix issues with name and length on poison pill function 2015-04-15 17:15:26 +00:00
typed-array-iterator.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
typedarray-copywithin.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-every.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-fill.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-find.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-findindex.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-foreach.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-from.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-indexing.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-iteration.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-of.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
typedarray-proto.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
typedarray-reduce.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-reverse.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-set-length.js Only evaluate length once in %TypedArray%.prototype.set 2015-08-19 01:33:06 +00:00
typedarray-slice.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-sort.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray-tostring.js Include Harmony Array/TypedArray methods unconditionally 2015-07-01 23:10:21 +00:00
typedarray.js Use ES2015-style TypedArray prototype chain 2015-12-28 17:28:54 +00:00
unicode-escapes.js Delete --harmony-unicode flag 2015-08-05 19:08:42 +00:00
unscopables.js ES6: Unscopable should use ToBoolean 2015-03-31 15:14:20 +00:00