5 #ifndef V8_OBJECTS_ARGUMENTS_H_ 6 #define V8_OBJECTS_ARGUMENTS_H_ 8 #include "src/objects/fixed-array.h" 9 #include "src/objects/js-objects.h" 12 #include "src/objects/object-macros.h" 34 #define JS_ARGUMENTS_OBJECT_WITH_LENGTH_FIELDS(V) \ 35 V(kLengthOffset, kTaggedSize) \ 38 DEFINE_FIELD_OFFSET_CONSTANTS(JSObject::kHeaderSize,
39 JS_ARGUMENTS_OBJECT_WITH_LENGTH_FIELDS)
40 #undef JS_ARGUMENTS_OBJECT_WITH_LENGTH_FIELDS 43 static const int kLengthIndex = 0;
57 #define JS_SLOPPY_ARGUMENTS_OBJECT_FIELDS(V) \ 58 V(kCalleeOffset, kTaggedSize) \ 61 DEFINE_FIELD_OFFSET_CONSTANTS(JSArgumentsObjectWithLength::kSize,
62 JS_SLOPPY_ARGUMENTS_OBJECT_FIELDS)
63 #undef JS_SLOPPY_ARGUMENTS_OBJECT_FIELDS 66 static const int kCalleeIndex = kLengthIndex + 1;
68 inline static bool GetSloppyArgumentsLength(
Isolate* isolate,
81 static const int kSize = JSArgumentsObjectWithLength::kSize;
111 static const int kContextIndex = 0;
112 static const int kArgumentsIndex = 1;
113 static const uint32_t kParameterMapStart = 2;
117 inline void set_arguments(
FixedArray arguments);
118 inline uint32_t parameter_map_length();
124 void SloppyArgumentsElementsVerify(
Isolate* isolate,
JSObject* holder);
140 inline int aliased_context_slot()
const;
141 inline void set_aliased_context_slot(
int count);
150 #define ALIASED_ARGUMENTS_FIELDS(V) \ 151 V(kAliasedContextSlot, kTaggedSize) \ 155 DEFINE_FIELD_OFFSET_CONSTANTS(HeapObject::kHeaderSize,
156 ALIASED_ARGUMENTS_FIELDS)
157 #undef ALIASED_ARGUMENTS_FIELDS 166 #include "src/objects/object-macros-undef.h" 168 #endif // V8_OBJECTS_ARGUMENTS_H_