blob: 0e977b5e12c2fd2bc6886a081898199f756b2dbf [file] [log] [blame]
// Copyright 2020 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.
// TODO(nicohartmann): Discuss whether types used by multiple builtins should be
// in global namespace
@cppObjectLayoutDefinition
extern class BigIntBase extends PrimitiveHeapObject
generates 'TNode<BigInt>';
type BigInt extends BigIntBase;
@cppObjectLayoutDefinition
@hasSameInstanceTypeAsParent
@doNotGenerateCast
extern class MutableBigInt extends BigIntBase generates 'TNode<BigInt>';
Convert<BigInt, MutableBigInt>(i: MutableBigInt): BigInt {
dcheck(bigint::IsCanonicalized(i));
return %RawDownCast<BigInt>(Convert<BigIntBase>(i));
}