blob: 095ad4cbe3f9cbcd7fcf9f52f445559f03c6115f [file] [log] [blame]
// 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.
@generateCppClass
extern class JSArgumentsObject extends JSObject {
}
type JSArgumentsObjectWithLength =
JSSloppyArgumentsObject|JSStrictArgumentsObject;
@export
macro IsJSArgumentsObjectWithLength(implicit context: Context)(o: Object):
bool {
return Is<JSArgumentsObjectWithLength>(o);
}
// Just a starting shape for JSObject; properties can move after initialization.
extern shape JSSloppyArgumentsObject extends JSArgumentsObject {
length: JSAny;
callee: JSAny;
}
// Just a starting shape for JSObject; properties can move after initialization.
extern shape JSStrictArgumentsObject extends JSArgumentsObject {
length: JSAny;
}
type SloppyArgumentsElements extends FixedArray;
@generateCppClass
extern class AliasedArgumentsEntry extends Struct {
aliased_context_slot: Smi;
}