#include <assembler.hpp>
Inheritance diagram for MacroAssembler:
Public Member Functions | |
MacroAssembler (CodeBuffer *code) | |
void | align (int modulus) |
void | test (Register dst, int imm8) |
void | enter () |
void | leave () |
void | inline_oop (oop o) |
void | set_last_Delta_frame_before_call () |
void | set_last_Delta_frame_after_call () |
void | reset_last_Delta_frame () |
void | call_C (Label &L) |
void | call_C (Label &L, Label &nlrTestPoint) |
void | call_C (char *entry, relocInfo::relocType rtype) |
void | call_C (char *entry, relocInfo::relocType rtype, Label &nlrTestPoint) |
void | call_C (Register entry) |
void | call_C (Register entry, Label &nlrTestPoint) |
void | call_C (char *entry, Register arg1) |
void | call_C (char *entry, Register arg1, Register arg2) |
void | call_C (char *entry, Register arg1, Register arg2, Register arg3) |
void | call_C (char *entry, Register arg1, Register arg2, Register arg3, Register arg4) |
void | store_check (Register obj, Register tmp) |
void | fpop () |
void | inspect (char *title=NULL) |
Static Public Member Functions | |
static void | fpu_mask_and_cond_for (Condition cc, int &mask, Condition &cond) |
static void | print_reg (char *name, oop obj) |
static void | inspector (oop edi, oop esi, oop ebp, oop esp, oop ebx, oop edx, oop ecx, oop eax, char *eip) |
Definition at line 415 of file assembler.hpp.
MacroAssembler::MacroAssembler | ( | CodeBuffer * | code | ) | [inline] |
Definition at line 417 of file assembler.hpp.
void MacroAssembler::align | ( | int | modulus | ) |
Definition at line 1296 of file assembler.cpp.
References Assembler::nop(), and Assembler::offset().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | char * | entry, | |
Register | arg1, | |||
Register | arg2, | |||
Register | arg3, | |||
Register | arg4 | |||
) |
Definition at line 1467 of file assembler.cpp.
References Assembler::addl(), Assembler::bind(), Assembler::call(), call_C(), esp, Assembler::jmp(), oopSize, Assembler::pushl(), and Assembler::ret().
Here is the call graph for this function:
Definition at line 1450 of file assembler.cpp.
References Assembler::addl(), Assembler::bind(), Assembler::call(), call_C(), esp, Assembler::jmp(), oopSize, Assembler::pushl(), and Assembler::ret().
Here is the call graph for this function:
Definition at line 1434 of file assembler.cpp.
References Assembler::addl(), Assembler::bind(), Assembler::call(), call_C(), esp, Assembler::jmp(), oopSize, Assembler::pushl(), and Assembler::ret().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | char * | entry, | |
Register | arg1 | |||
) |
Definition at line 1419 of file assembler.cpp.
References Assembler::addl(), Assembler::bind(), Assembler::call(), call_C(), esp, Assembler::jmp(), oopSize, Assembler::pushl(), and Assembler::ret().
Here is the call graph for this function:
Definition at line 1391 of file assembler.cpp.
References Assembler::call(), Assembler::ic_info(), reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | Register | entry | ) |
Definition at line 1384 of file assembler.cpp.
References Assembler::call(), reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | char * | entry, | |
relocInfo::relocType | rtype, | |||
Label & | nlrTestPoint | |||
) |
Definition at line 1376 of file assembler.cpp.
References Assembler::call(), Assembler::ic_info(), reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | char * | entry, | |
relocInfo::relocType | rtype | |||
) |
Definition at line 1369 of file assembler.cpp.
References Assembler::call(), reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Here is the call graph for this function:
Definition at line 1361 of file assembler.cpp.
References Assembler::call(), Assembler::ic_info(), L, reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Here is the call graph for this function:
void MacroAssembler::call_C | ( | Label & | L | ) |
Definition at line 1354 of file assembler.cpp.
References Assembler::call(), L, reset_last_Delta_frame(), and set_last_Delta_frame_before_call().
Referenced by InterpreterGenerator::call_C(), call_C(), InterpreterGenerator::check_ebx(), and InterpreterGenerator::check_oop().
Here is the call graph for this function:
void MacroAssembler::enter | ( | ) |
Definition at line 1310 of file assembler.cpp.
References ebp, esp, Assembler::movl(), and Assembler::pushl().
Here is the call graph for this function:
void MacroAssembler::fpop | ( | ) |
Definition at line 1511 of file assembler.cpp.
References Assembler::ffree(), and Assembler::fincstp().
Referenced by Floats::generate_tst().
Here is the call graph for this function:
Definition at line 1498 of file assembler.cpp.
References Assembler::equal, Assembler::greater, Assembler::greaterEqual, Assembler::less, Assembler::lessEqual, Assembler::notEqual, Assembler::notZero, Unimplemented, and Assembler::zero.
Referenced by Floats::generate_cmp(), and Floats::generate_tst().
void MacroAssembler::inline_oop | ( | oop | o | ) |
Definition at line 1324 of file assembler.cpp.
References Assembler::emit_byte(), and Assembler::emit_data().
Here is the call graph for this function:
void MacroAssembler::inspect | ( | char * | title = NULL |
) |
Definition at line 1557 of file assembler.cpp.
References Assembler::call(), StubRoutines::call_inspector_entry(), eax, outputStream::print_cr(), std, and Assembler::testl().
Here is the call graph for this function:
void MacroAssembler::inspector | ( | oop | edi, | |
oop | esi, | |||
oop | ebp, | |||
oop | esp, | |||
oop | ebx, | |||
oop | edx, | |||
oop | ecx, | |||
oop | eax, | |||
char * | eip | |||
) | [static] |
Definition at line 1542 of file assembler.cpp.
References outputStream::cr(), eax, ebp, ebx, ecx, edi, edx, esi, esp, nativeTest_at(), outputStream::print_cr(), print_reg(), and std.
Referenced by StubRoutines::generate_call_inspector().
Here is the call graph for this function:
void MacroAssembler::leave | ( | ) |
Definition at line 1316 of file assembler.cpp.
References ebp, esp, Assembler::movl(), and Assembler::popl().
Referenced by StubRoutines::generate_continue_NLR(), and StubRoutines::generate_recompile_stub().
Here is the call graph for this function:
void MacroAssembler::print_reg | ( | char * | name, | |
oop | obj | |||
) | [static] |
Definition at line 1519 of file assembler.cpp.
References Universe::falseObj(), Universe::is_heap(), oopDesc::is_mem(), oopDesc::is_smi(), Universe::nilObj(), outputStream::print(), outputStream::print_cr(), std, and Universe::trueObj().
Referenced by inspector().
Here is the call graph for this function:
void MacroAssembler::reset_last_Delta_frame | ( | ) |
Definition at line 1349 of file assembler.cpp.
References last_Delta_fp, and Assembler::movl().
Referenced by call_C(), StubRoutines::generate_call_DLL(), StubRoutines::generate_call_inspector(), StubRoutines::generate_compile_block(), StubRoutines::generate_deoptimize_block(), StubRoutines::generate_ic_lookup(), StubRoutines::generate_lookup_DLL(), StubRoutines::generate_megamorphic_ic(), StubRoutines::generate_recompile_stub(), StubRoutines::generate_uncommon_trap(), StubRoutines::generate_verify_context_chain(), StubRoutines::generate_zombie_block_nmethod(), and StubRoutines::generate_zombie_nmethod().
Here is the call graph for this function:
void MacroAssembler::set_last_Delta_frame_after_call | ( | ) |
Definition at line 1342 of file assembler.cpp.
References Assembler::addl(), esp, oopSize, set_last_Delta_frame_before_call(), and Assembler::subl().
Referenced by StubRoutines::generate_call_DLL(), StubRoutines::generate_call_inspector(), StubRoutines::generate_compile_block(), StubRoutines::generate_deoptimize_block(), StubRoutines::generate_ic_lookup(), StubRoutines::generate_lookup_DLL(), StubRoutines::generate_megamorphic_ic(), StubRoutines::generate_recompile_stub(), StubRoutines::generate_uncommon_trap(), StubRoutines::generate_verify_context_chain(), StubRoutines::generate_zombie_block_nmethod(), and StubRoutines::generate_zombie_nmethod().
Here is the call graph for this function:
void MacroAssembler::set_last_Delta_frame_before_call | ( | ) |
Definition at line 1336 of file assembler.cpp.
References ebp, esp, last_Delta_fp, last_Delta_sp, and Assembler::movl().
Referenced by call_C(), and set_last_Delta_frame_after_call().
Here is the call graph for this function:
Definition at line 1485 of file assembler.cpp.
References assert, byte_map_base, card_shift, Assembler::movb(), Assembler::movl(), Assembler::shrl(), and Address::times_1.
Referenced by InterpreterGenerator::store_instVar().
Here is the call graph for this function:
void MacroAssembler::test | ( | Register | dst, | |
int | imm8 | |||
) |
Definition at line 1301 of file assembler.cpp.
References Register::hasByteRegister(), Assembler::testb(), and Assembler::testl().
Referenced by StubRoutines::generate_megamorphic_ic(), and StubRoutines::generate_PIC_stub().
Here is the call graph for this function: