< prev index next >

src/cpu/x86/vm/macroAssembler_x86.hpp

Print this page
rev 12152 : [mq]: verification.patch

*** 583,592 **** --- 583,606 ---- // only if +VerifyOops // TODO: Make these macros with file and line like sparc version! void verify_oop(Register reg, const char* s = "broken oop"); void verify_oop_addr(Address addr, const char * s = "broken oop addr"); + void in_heap_check(Register raddr, Label& done); + void shenandoah_cset_check(Register raddr, Register tmp1, Register tmp2, Label& done); + + void _shenandoah_store_addr_check(Register dst, const char* msg, const char* file, int line); + void _shenandoah_store_addr_check(Address dst, const char* msg, const char* file, int line); + #define shenandoah_store_addr_check(reg) _shenandoah_store_addr_check(reg, "oop not safe for writing", __FILE__, __LINE__) + + void _shenandoah_store_check(Address addr, Register value, const char* msg, const char* file, int line); + void _shenandoah_store_check(Register addr, Register value, const char* msg, const char* file, int line); + #define shenandoah_store_check(addr, value) _shenandoah_store_check(addr, value, "oop not safe for writing", __FILE__, __LINE__) + + void _shenandoah_lock_check(Register dst, const char* msg, const char* file, int line); + #define shenandoah_lock_check(reg) _shenandoah_lock_check(reg, "lock/oop not safe for writing", __FILE__, __LINE__) + // TODO: verify method and klass metadata (compare against vptr?) void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {} void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line){} #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
< prev index next >