• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/*
17 * @tc.name:allocatearraybuffer
18 * @tc.desc:test ArrayBuffer
19 * @tc.type: FUNC
20 * @tc.require: issueI5NO8G
21 */
22var newTarget = function() {}.bind(null);
23var arrayBuffer = Reflect.construct(ArrayBuffer, [16], newTarget);
24print(arrayBuffer.length);
25
26/*
27 * @tc.name:allocatearraybuffer
28 * @tc.desc:test DataView
29 * @tc.type: FUNC
30 * @tc.require: issueI5NO8G
31 */
32const dataview = new DataView(new ArrayBuffer(64));
33dataview.setInt16(0,-1);
34print(dataview.getFloat64("cas"));
35
36const v32 = new Int32Array(10);
37for (let i = 0; i < v32.length; i++) {
38    v32[i] = i + 1;
39}
40const v36 = this.Atomics;
41print(v36.and(v32, this, v36));
42
43function f() {
44    let a1 = new ArrayBuffer(1025*1025*1025);
45    let a2 = new ArrayBuffer(1025*1025*1025);
46    let a3 = new ArrayBuffer(1025*1025*1025);
47    let a4 = new ArrayBuffer(1025*1025*1025);
48    try {
49        let arr = new ArrayBuffer(10);
50        print(a1.byteLength + a2.byteLength + a3.byteLength + a4.byteLength + arr.byteLength);
51    } catch (error) {
52        print(error);
53    }
54}
55f();
56ArkTools.forceFullGC();
57f();
58ArkTools.forceFullGC();
59
60function SendableArrayBufferTest() {
61    try {
62        const o1 = {};
63        const v3 = new Proxy(SendableArrayBuffer, o1);
64        new v3();
65    } catch (error) {
66        print(error);
67    }
68}
69SendableArrayBufferTest()