< 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 >