28 #ifndef V8_ARGUMENTS_H_
29 #define V8_ARGUMENTS_H_
51 : length_(length), arguments_(arguments) { }
54 ASSERT(0 <= index && index < length_);
55 return arguments_[-index];
59 Object** value = &((*this)[index]);
63 return Handle<S>(
reinterpret_cast<S**
>(value));
71 return (*
this)[index]->Number();
75 int length()
const {
return length_; }
93 JSObject* holder) : Relocatable(isolate) {
94 ASSERT(reinterpret_cast<Object*>(isolate)->IsSmi());
98 values_[0] =
reinterpret_cast<Object*
>(isolate);
103 for (
size_t i = 0; i <
ARRAY_SIZE(values_); i++) {
117 #define DECLARE_RUNTIME_FUNCTION(Type, Name) \
118 Type Name(Arguments args, Isolate* isolate)
121 #define RUNTIME_FUNCTION(Type, Name) \
122 Type Name(Arguments args, Isolate* isolate)
125 #define RUNTIME_ARGUMENTS(isolate, args) args, isolate
130 #endif // V8_ARGUMENTS_H_
CustomArguments(Isolate *isolate)
Handle< S > at(int index)
#define ASSERT(condition)
static Smi * cast(Object *object)
Arguments(int length, Object **arguments)
void IterateInstance(ObjectVisitor *v)
double number_at(int index)
CustomArguments(Isolate *isolate, Object *data, Object *self, JSObject *holder)