diff options
Diffstat (limited to 'deps/v8/test/mjsunit/compiler/object-create.js')
-rw-r--r-- | deps/v8/test/mjsunit/compiler/object-create.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/deps/v8/test/mjsunit/compiler/object-create.js b/deps/v8/test/mjsunit/compiler/object-create.js new file mode 100644 index 0000000000..bd366fe0b0 --- /dev/null +++ b/deps/v8/test/mjsunit/compiler/object-create.js @@ -0,0 +1,27 @@ +// Copyright 2018 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 + +(function TestWithNullPrototype() { + function f() { return Object.create(null); } + f(); + %OptimizeFunctionOnNextCall(f); + assertEquals(undefined, f().foo); +})(); + +(function TestWithCustomPrototype() { + const x = {foo: 42}; // This must be defined here for context specialization. + function f() { return Object.create(x); } + f(); + %OptimizeFunctionOnNextCall(f); + assertEquals(42, f().foo); +})(); + +(function TestWithObjectPrototype() { + function f() { return Object.create(Object.prototype); } + f(); + %OptimizeFunctionOnNextCall(f); + assertEquals("[object Object]", f().toString()); +})(); |