MacroAssembler Class Reference

#include <assembler.hpp>

Inheritance diagram for MacroAssembler:

Inheritance graph
[legend]
Collaboration diagram for MacroAssembler:

Collaboration graph
[legend]
List of all members.

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)

Detailed Description

Definition at line 415 of file assembler.hpp.


Constructor & Destructor Documentation

MacroAssembler::MacroAssembler ( CodeBuffer *  code  )  [inline]

Definition at line 417 of file assembler.hpp.


Member Function Documentation

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:

void MacroAssembler::call_C ( char *  entry,
Register  arg1,
Register  arg2,
Register  arg3 
)

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:

void MacroAssembler::call_C ( char *  entry,
Register  arg1,
Register  arg2 
)

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:

void MacroAssembler::call_C ( Register  entry,
Label nlrTestPoint 
)

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:

void MacroAssembler::call_C ( Label L,
Label nlrTestPoint 
)

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:

void MacroAssembler::fpu_mask_and_cond_for ( Condition  cc,
int &  mask,
Condition cond 
) [static]

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:

void MacroAssembler::store_check ( Register  obj,
Register  tmp 
)

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:


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:06:21 2006 for Strongtalk VM by  doxygen 1.4.7