< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page
rev 58099 : 8239492: [x86] Turn MacroAssembler::verify_oop into macro recording file and line


 583   void check_klass_subtype(Register sub_klass,
 584                            Register super_klass,
 585                            Register temp_reg,
 586                            Label& L_success);
 587 
 588   void clinit_barrier(Register klass,
 589                       Register thread,
 590                       Label* L_fast_path = NULL,
 591                       Label* L_slow_path = NULL);
 592 
 593   // method handles (JSR 292)
 594   Address argument_address(RegisterOrConstant arg_slot, int extra_slot_offset = 0);
 595 
 596   //----
 597   void set_word_if_not_zero(Register reg); // sets reg to 1 if not zero, otherwise 0
 598 
 599   // Debugging
 600 
 601   // only if +VerifyOops
 602   // TODO: Make these macros with file and line like sparc version!
 603   void verify_oop(Register reg, const char* s = "broken oop");
 604   void verify_oop_addr(Address addr, const char * s = "broken oop addr");

 605 
 606   // TODO: verify method and klass metadata (compare against vptr?)
 607   void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {}
 608   void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line){}
 609 


 610 #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
 611 #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
 612 
 613   // Verify or restore cpu control state after JNI call
 614   void restore_cpu_control_state_after_jni();
 615 
 616   // prints msg, dumps registers and stops execution
 617   void stop(const char* msg);
 618 
 619   // prints msg and continues
 620   void warn(const char* msg);
 621 
 622   // dumps registers and other state
 623   void print_state();
 624 
 625   static void debug32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip, char* msg);
 626   static void debug64(char* msg, int64_t pc, int64_t regs[]);
 627   static void print_state32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip);
 628   static void print_state64(int64_t pc, int64_t regs[]);
 629 




 583   void check_klass_subtype(Register sub_klass,
 584                            Register super_klass,
 585                            Register temp_reg,
 586                            Label& L_success);
 587 
 588   void clinit_barrier(Register klass,
 589                       Register thread,
 590                       Label* L_fast_path = NULL,
 591                       Label* L_slow_path = NULL);
 592 
 593   // method handles (JSR 292)
 594   Address argument_address(RegisterOrConstant arg_slot, int extra_slot_offset = 0);
 595 
 596   //----
 597   void set_word_if_not_zero(Register reg); // sets reg to 1 if not zero, otherwise 0
 598 
 599   // Debugging
 600 
 601   // only if +VerifyOops
 602   // TODO: Make these macros with file and line like sparc version!
 603 
 604   void _verify_oop(Register reg, const char* s, const char * file, int line);
 605   void _verify_oop_addr(Address addr, const char* s, const char * file, int line);
 606 
 607   // TODO: verify method and klass metadata (compare against vptr?)
 608   void _verify_method_ptr(Register reg, const char * msg, const char * file, int line) {}
 609   void _verify_klass_ptr(Register reg, const char * msg, const char * file, int line){}
 610 
 611 #define verify_oop(reg) _verify_oop(reg, "broken oop ", __FILE__, __LINE__)
 612 #define verify_oop_addr(addr) _verify_oop_addr(addr, "broken oop addr ", __FILE__, __LINE__)
 613 #define verify_method_ptr(reg) _verify_method_ptr(reg, "broken method " #reg, __FILE__, __LINE__)
 614 #define verify_klass_ptr(reg) _verify_klass_ptr(reg, "broken klass " #reg, __FILE__, __LINE__)
 615 
 616   // Verify or restore cpu control state after JNI call
 617   void restore_cpu_control_state_after_jni();
 618 
 619   // prints msg, dumps registers and stops execution
 620   void stop(const char* msg);
 621 
 622   // prints msg and continues
 623   void warn(const char* msg);
 624 
 625   // dumps registers and other state
 626   void print_state();
 627 
 628   static void debug32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip, char* msg);
 629   static void debug64(char* msg, int64_t pc, int64_t regs[]);
 630   static void print_state32(int rdi, int rsi, int rbp, int rsp, int rbx, int rdx, int rcx, int rax, int eip);
 631   static void print_state64(int64_t pc, int64_t regs[]);
 632 


< prev index next >