< prev index next > src/hotspot/cpu/x86/macroAssembler_x86.hpp
Print this page
void load_method_holder_cld(Register rresult, Register rmethod);
void load_method_holder(Register holder, Register method);
// oop manipulations
+ #ifdef _LP64
+ void load_nklass_compact(Register dst, Register src);
+ #endif
void load_klass(Register dst, Register src, Register tmp);
void store_klass(Register dst, Register src, Register tmp);
+ // Compares the Klass pointer of an object to a given Klass (which might be narrow,
+ // depending on UseCompressedClassPointers).
+ void cmp_klass(Register klass, Register dst, Register tmp);
+
+ // Compares the Klass pointer of two objects o1 and o2. Result is in the condition flags.
+ // Uses tmp1 and tmp2 as temporary registers.
+ void cmp_klass(Register src, Register dst, Register tmp1, Register tmp2);
+
void access_load_at(BasicType type, DecoratorSet decorators, Register dst, Address src,
Register tmp1, Register thread_tmp);
void access_store_at(BasicType type, DecoratorSet decorators, Address dst, Register val,
Register tmp1, Register tmp2, Register tmp3);
void vallones(XMMRegister dst, int vector_len);
void check_stack_alignment(Register sp, const char* msg, unsigned bias = 0, Register tmp = noreg);
! void lightweight_lock(Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
void lightweight_unlock(Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
};
/**
* class SkipIfEqual:
void vallones(XMMRegister dst, int vector_len);
void check_stack_alignment(Register sp, const char* msg, unsigned bias = 0, Register tmp = noreg);
! void lightweight_lock(Register basic_lock, Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
void lightweight_unlock(Register obj, Register reg_rax, Register thread, Register tmp, Label& slow);
};
/**
* class SkipIfEqual:
< prev index next >