OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 (function(global, utils) { | 5 (function(global, utils) { |
6 | 6 |
7 "use strict"; | 7 "use strict"; |
8 | 8 |
9 %CheckIsBootstrapping(); | 9 %CheckIsBootstrapping(); |
10 | 10 |
11 // ------------------------------------------------------------------- | 11 // ------------------------------------------------------------------- |
12 // Imports | 12 // Imports |
13 | 13 |
14 var GlobalArrayBuffer = global.ArrayBuffer; | 14 var GlobalArrayBuffer = global.ArrayBuffer; |
15 var GlobalObject = global.Object; | 15 var GlobalObject = global.Object; |
16 var MathMax; | 16 var MathMax; |
17 var MathMin; | 17 var MathMin; |
| 18 var ToPositiveInteger; |
18 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); | 19 var toStringTagSymbol = utils.ImportNow("to_string_tag_symbol"); |
19 | 20 |
20 utils.Import(function(from) { | 21 utils.Import(function(from) { |
21 MathMax = from.MathMax; | 22 MathMax = from.MathMax; |
22 MathMin = from.MathMin; | 23 MathMin = from.MathMin; |
| 24 ToPositiveInteger = from.ToPositiveInteger; |
23 }); | 25 }); |
24 | 26 |
25 // ------------------------------------------------------------------- | 27 // ------------------------------------------------------------------- |
26 | 28 |
27 function ArrayBufferConstructor(length) { // length = 1 | 29 function ArrayBufferConstructor(length) { // length = 1 |
28 if (%_IsConstructCall()) { | 30 if (%_IsConstructCall()) { |
29 var byteLength = $toPositiveInteger(length, kInvalidArrayBufferLength); | 31 var byteLength = ToPositiveInteger(length, kInvalidArrayBufferLength); |
30 %ArrayBufferInitialize(this, byteLength, kNotShared); | 32 %ArrayBufferInitialize(this, byteLength, kNotShared); |
31 } else { | 33 } else { |
32 throw MakeTypeError(kConstructorNotFunction, "ArrayBuffer"); | 34 throw MakeTypeError(kConstructorNotFunction, "ArrayBuffer"); |
33 } | 35 } |
34 } | 36 } |
35 | 37 |
36 function ArrayBufferGetByteLen() { | 38 function ArrayBufferGetByteLen() { |
37 if (!IS_ARRAYBUFFER(this)) { | 39 if (!IS_ARRAYBUFFER(this)) { |
38 throw MakeTypeError(kIncompatibleMethodReceiver, | 40 throw MakeTypeError(kIncompatibleMethodReceiver, |
39 'ArrayBuffer.prototype.byteLength', this); | 41 'ArrayBuffer.prototype.byteLength', this); |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 | 101 |
100 utils.InstallFunctions(GlobalArrayBuffer, DONT_ENUM, [ | 102 utils.InstallFunctions(GlobalArrayBuffer, DONT_ENUM, [ |
101 "isView", ArrayBufferIsViewJS | 103 "isView", ArrayBufferIsViewJS |
102 ]); | 104 ]); |
103 | 105 |
104 utils.InstallFunctions(GlobalArrayBuffer.prototype, DONT_ENUM, [ | 106 utils.InstallFunctions(GlobalArrayBuffer.prototype, DONT_ENUM, [ |
105 "slice", ArrayBufferSlice | 107 "slice", ArrayBufferSlice |
106 ]); | 108 ]); |
107 | 109 |
108 }) | 110 }) |
OLD | NEW |