| // Copyright 2019 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. |
| |
| // This file is executed separately before the correctness test case. Add here |
| // checking of global properties that should never differ in any configuration. |
| // A difference found in the prints below will prevent any further correctness |
| // comparison for the selected configurations to avoid flooding bugs. |
| |
| print("https://crbug.com/932656"); |
| print(Object.getOwnPropertyNames(this)); |
| |
| print("https://crbug.com/935800"); |
| (function () { |
| function foo() { |
| "use asm"; |
| function baz() {} |
| return {bar: baz}; |
| } |
| print(Object.getOwnPropertyNames(foo().bar)); |
| })(); |
| |
| print("https://crbug.com/985154"); |
| (function () { |
| "use strict"; |
| function foo() { |
| "use asm"; |
| function baz() {} |
| return {bar: baz}; |
| } |
| print(Object.getOwnPropertyNames(foo().bar)); |
| })(); |
| |
| print("Suppresses sensitive natives"); |
| (function () { |
| function foo() {} |
| %PrepareFunctionForOptimization(foo); |
| foo(); |
| foo(); |
| %OptimizeFunctionOnNextCall(foo); |
| foo(); |
| print(%GetOptimizationStatus(foo)); |
| const fun = new Function("f", "sync", "return %GetOptimizationStatus(f);"); |
| print(fun(foo)); |
| })(); |