v8/test/mjsunit/es6/built-in-accessor-names.js

42 lines
1.4 KiB
JavaScript
Raw Normal View History

// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --harmony-tostring
'use strict';
function assertGetterName(expected, object, name) {
var descr = Object.getOwnPropertyDescriptor(object, name);
assertSame(expected, descr.get.name);
}
function assertSetterName(expected, object, name) {
var descr = Object.getOwnPropertyDescriptor(object, name);
assertSame(expected, descr.set.name);
}
assertGetterName('get byteLength', ArrayBuffer.prototype, 'byteLength');
assertGetterName('get size', Set.prototype, 'size');
assertGetterName('get size', Map.prototype, 'size');
Reland of Use ES2015-style TypedArray prototype chain (patchset #1 id:1 of https://codereview.chromium.org/1554523002/ ) Reason for revert: Should be fixed again with this Blink change to add NeedsManualRebaseline Original issue's description: > Revert of Use ES2015-style TypedArray prototype chain (patchset #5 id:80001 of https://codereview.chromium.org/1541233002/ ) > > Reason for revert: > [Sheriff] Changes layout tests. Please fix upstream first if intended. > > https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3689 > > Original issue's description: > > 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 > > > > Committed: https://crrev.com/07c91dccbe55c7be3ec75857dee5ad59873330b7 > > Cr-Commit-Position: refs/heads/master@{#33050} > > TBR=caitpotter88@gmail.com,cbruni@chromium.org,littledan@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4085 > > Committed: https://crrev.com/28b55ffd1e32e09aaf42b8bbb407944d4808e07c > Cr-Commit-Position: refs/heads/master@{#33053} TBR=caitpotter88@gmail.com,cbruni@chromium.org,machenbach@chromium.org BUG=v8:4085 LOG=Y CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1558663002 Cr-Commit-Position: refs/heads/master@{#33067}
2015-12-30 22:13:40 +00:00
let TypedArray = Uint8Array.__proto__;
assertGetterName('get buffer', TypedArray.prototype, 'buffer');
assertGetterName('get byteOffset', TypedArray.prototype, 'byteOffset');
assertGetterName('get byteLength', TypedArray.prototype, 'byteLength');
assertGetterName('get length', TypedArray.prototype, 'length');
assertGetterName('get [Symbol.toStringTag]', TypedArray.prototype, Symbol.toStringTag);
assertGetterName('get buffer', DataView.prototype, 'buffer');
assertGetterName('get byteOffset', DataView.prototype, 'byteOffset');
assertGetterName('get byteLength', DataView.prototype, 'byteLength');
assertGetterName('get __proto__', Object.prototype, '__proto__');
assertSetterName('set __proto__', Object.prototype, '__proto__');