< prev index next >

src/cpu/x86/vm/macroAssembler_x86.hpp

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

@@ -583,10 +583,24 @@
   // 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 >