< prev index next >

src/cpu/x86/vm/macroAssembler_x86.hpp

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


 568   // Simplified, combined version, good for typical uses.
 569   // Falls through on failure.
 570   void check_klass_subtype(Register sub_klass,
 571                            Register super_klass,
 572                            Register temp_reg,
 573                            Label& L_success);
 574 
 575   // method handles (JSR 292)
 576   Address argument_address(RegisterOrConstant arg_slot, int extra_slot_offset = 0);
 577 
 578   //----
 579   void set_word_if_not_zero(Register reg); // sets reg to 1 if not zero, otherwise 0
 580 
 581   // Debugging
 582 
 583   // only if +VerifyOops
 584   // TODO: Make these macros with file and line like sparc version!
 585   void verify_oop(Register reg, const char* s = "broken oop");
 586   void verify_oop_addr(Address addr, const char * s = "broken oop addr");
 587 














 588   // TODO: verify method and klass metadata (compare against vptr?)
 589   void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {}
 590   void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line){}
 591 
 592 #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
 593 #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
 594 
 595   // only if +VerifyFPU
 596   void verify_FPU(int stack_depth, const char* s = "illegal FPU state");
 597 
 598   // Verify or restore cpu control state after JNI call
 599   void restore_cpu_control_state_after_jni();
 600 
 601   // prints msg, dumps registers and stops execution
 602   void stop(const char* msg);
 603 
 604   // prints msg and continues
 605   void warn(const char* msg);
 606 
 607   // dumps registers and other state




 568   // Simplified, combined version, good for typical uses.
 569   // Falls through on failure.
 570   void check_klass_subtype(Register sub_klass,
 571                            Register super_klass,
 572                            Register temp_reg,
 573                            Label& L_success);
 574 
 575   // method handles (JSR 292)
 576   Address argument_address(RegisterOrConstant arg_slot, int extra_slot_offset = 0);
 577 
 578   //----
 579   void set_word_if_not_zero(Register reg); // sets reg to 1 if not zero, otherwise 0
 580 
 581   // Debugging
 582 
 583   // only if +VerifyOops
 584   // TODO: Make these macros with file and line like sparc version!
 585   void verify_oop(Register reg, const char* s = "broken oop");
 586   void verify_oop_addr(Address addr, const char * s = "broken oop addr");
 587 
 588   void in_heap_check(Register raddr, Label& done);
 589   void shenandoah_cset_check(Register raddr, Register tmp1, Register tmp2, Label& done);
 590 
 591   void _shenandoah_store_addr_check(Register dst, const char* msg, const char* file, int line);
 592   void _shenandoah_store_addr_check(Address dst, const char* msg, const char* file, int line);
 593 #define shenandoah_store_addr_check(reg) _shenandoah_store_addr_check(reg, "oop not safe for writing", __FILE__, __LINE__)
 594 
 595   void _shenandoah_store_check(Address addr, Register value, const char* msg, const char* file, int line);
 596   void _shenandoah_store_check(Register addr, Register value, const char* msg, const char* file, int line);
 597 #define shenandoah_store_check(addr, value) _shenandoah_store_check(addr, value, "oop not safe for writing", __FILE__, __LINE__)
 598 
 599   void _shenandoah_lock_check(Register dst, const char* msg, const char* file, int line);
 600 #define shenandoah_lock_check(reg) _shenandoah_lock_check(reg, "lock/oop not safe for writing", __FILE__, __LINE__)
 601 
 602   // TODO: verify method and klass metadata (compare against vptr?)
 603   void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {}
 604   void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line){}
 605 
 606 #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
 607 #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
 608 
 609   // only if +VerifyFPU
 610   void verify_FPU(int stack_depth, const char* s = "illegal FPU state");
 611 
 612   // Verify or restore cpu control state after JNI call
 613   void restore_cpu_control_state_after_jni();
 614 
 615   // prints msg, dumps registers and stops execution
 616   void stop(const char* msg);
 617 
 618   // prints msg and continues
 619   void warn(const char* msg);
 620 
 621   // dumps registers and other state


< prev index next >