#ifndef INCLUDED_FROM_MACRO_ASSEMBLER_H
#error This header must be included via macro-assembler.h
#endif
#ifndef V8_CODEGEN_X64_MACRO_ASSEMBLER_X64_H_
#define V8_CODEGEN_X64_MACRO_ASSEMBLER_X64_H_
#include "src/base/flags.h"
#include "src/codegen/bailout-reason.h"
#include "src/codegen/shared-ia32-x64/macro-assembler-shared-ia32-x64.h"
#include "src/codegen/x64/assembler-x64.h"
#include "src/common/globals.h"
#include "src/execution/frame-constants.h"
#include "src/execution/isolate-data.h"
#include "src/objects/contexts.h"
#include "src/objects/tagged-index.h"
namespace v8 {
namespace internal {
MemOperand;
struct SmiIndex { … };
enum class StackLimitKind { … };
class StackArgumentsAccessor { … };
class V8_EXPORT_PRIVATE MacroAssembler
: public SharedMacroAssembler<MacroAssembler> { … };
inline Operand FieldOperand(Register object, int offset) { … }
inline MemOperand FieldMemOperand(Register object, int offset) { … }
inline Operand FieldOperand(TaggedRegister object, int offset) { … }
inline Operand FieldOperand(Register object, Register index, ScaleFactor scale,
int offset) { … }
inline Operand ExitFrameStackSlotOperand(int offset) { … }
inline Operand ExitFrameCallerStackSlotOperand(int index) { … }
struct MoveCycleState { … };
void CallApiFunctionAndReturn(MacroAssembler* masm, bool with_profiling,
Register function_address,
ExternalReference thunk_ref, Register thunk_arg,
int slots_to_drop_on_return,
MemOperand* argc_operand,
MemOperand return_value_operand);
#define ACCESS_MASM(masm) …
}
}
#endif