nodejs/deps/v8/test/mjsunit/regress/regress-crbug-371445202.js

25 lines
789 B
JavaScript
Raw Permalink Normal View History

// Copyright 2012 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: --expose-gc --allow-natives-syntax --verify-heap
function foo() {
// The bytecode should have an ObjectBoilerplateDescription where the value is
// not necessarily an internalized string.
return {value: "abc" + "def"};
}
// Make sure "abcdef" already exists as an internalized string.
%InternalizeString("abcdef");
// Get the string out of the object, which should be the same string that is in
// the ObjectBoilerplateDescription.
let string = foo().value;
// Internalizing this string should now create a ThinString.
%InternalizeString(string);
// Heap verification should be ok with this.
gc();