| // Copyright 2017 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: --allow-natives-syntax |
| |
| var largeArray = []; |
| largeArray[0xFFFF00] = 123; |
| |
| function sloppyArguments() { |
| return arguments; |
| } |
| |
| function sloppyArguments2(a, b) { |
| return arguments; |
| } |
| |
| function slowSloppyArguments() { |
| arguments[0xFFFFF] = -1; |
| return arguments; |
| } |
| |
| function slowSloppyArguments2(a, b) { |
| arguments[0xFFFFF] = -1; |
| return arguments; |
| } |
| |
| |
| var objects = [ |
| this, |
| true, false, null, undefined, |
| 1, -1, 1.1, -2.2, -0, 0, |
| Infinity, -Infinity, NaN, |
| "aasdfasdfasdfasdf", "a"+"b", |
| {}, {1:1}, {a:1}, {1:1, 2:2}, Object.create(null), |
| [], [{}, {}], [1, 1, 1], [1.1, 1.1, 1.1, 1.1, 2], largeArray, |
| new Proxy({},{}), |
| new Date(), new String(" a"), |
| new Uint8Array(12), new Float32Array([1, 2, 4, 5]), |
| new Uint8ClampedArray(2048), |
| /asdf/, new RegExp(), |
| Object.create, Object, Array, |
| Symbol.iterator, |
| [][Symbol.iterator](), |
| new Map(), new Set(), |
| (new Map()).entries(), (new Set()).entries(), |
| sloppyArguments(), sloppyArguments(1, 2, 3, 4), |
| sloppyArguments2(), sloppyArguments2(1, 2, 3, 4), |
| slowSloppyArguments(), slowSloppyArguments(1, 2, 3, 4), |
| slowSloppyArguments2(), slowSloppyArguments2(1, 2, 3, 4), |
| |
| ]; |
| for (var o of objects) %HeapObjectVerify(o); |