OLD | NEW |
| (Empty) |
1 // Copyright 2015 the V8 project authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 (function(global, shared, exports) { | |
6 | |
7 "use strict"; | |
8 | |
9 %CheckIsBootstrapping(); | |
10 | |
11 var GlobalSharedArrayBuffer = global.SharedArrayBuffer; | |
12 var GlobalObject = global.Object; | |
13 | |
14 // ------------------------------------------------------------------- | |
15 | |
16 function SharedArrayBufferConstructor(length) { // length = 1 | |
17 if (%_IsConstructCall()) { | |
18 var byteLength = $toPositiveInteger(length, kInvalidArrayBufferLength); | |
19 %ArrayBufferInitialize(this, byteLength, kShared); | |
20 } else { | |
21 throw MakeTypeError(kConstructorNotFunction, "SharedArrayBuffer"); | |
22 } | |
23 } | |
24 | |
25 function SharedArrayBufferGetByteLen() { | |
26 if (!IS_SHAREDARRAYBUFFER(this)) { | |
27 throw MakeTypeError(kIncompatibleMethodReceiver, | |
28 'SharedArrayBuffer.prototype.byteLength', this); | |
29 } | |
30 return %_ArrayBufferGetByteLength(this); | |
31 } | |
32 | |
33 function SharedArrayBufferIsViewJS(obj) { | |
34 return %ArrayBufferIsView(obj); | |
35 } | |
36 | |
37 | |
38 // Set up the SharedArrayBuffer constructor function. | |
39 %SetCode(GlobalSharedArrayBuffer, SharedArrayBufferConstructor); | |
40 %FunctionSetPrototype(GlobalSharedArrayBuffer, new GlobalObject()); | |
41 | |
42 // Set up the constructor property on the SharedArrayBuffer prototype object. | |
43 %AddNamedProperty(GlobalSharedArrayBuffer.prototype, "constructor", | |
44 GlobalSharedArrayBuffer, DONT_ENUM); | |
45 | |
46 %AddNamedProperty(GlobalSharedArrayBuffer.prototype, | |
47 symbolToStringTag, "SharedArrayBuffer", DONT_ENUM | READ_ONLY); | |
48 | |
49 $installGetter(GlobalSharedArrayBuffer.prototype, "byteLength", | |
50 SharedArrayBufferGetByteLen); | |
51 | |
52 $installFunctions(GlobalSharedArrayBuffer, DONT_ENUM, [ | |
53 "isView", SharedArrayBufferIsViewJS | |
54 ]); | |
55 | |
56 }) | |
OLD | NEW |