75 void restore_bcp() { movptr(rsi, Address(rbp, frame::interpreter_frame_bcx_offset * wordSize)); } |
75 void restore_bcp() { movptr(rsi, Address(rbp, frame::interpreter_frame_bcx_offset * wordSize)); } |
76 void restore_locals() { movptr(rdi, Address(rbp, frame::interpreter_frame_locals_offset * wordSize)); } |
76 void restore_locals() { movptr(rdi, Address(rbp, frame::interpreter_frame_locals_offset * wordSize)); } |
77 |
77 |
78 // Helpers for runtime call arguments/results |
78 // Helpers for runtime call arguments/results |
79 void get_method(Register reg) { movptr(reg, Address(rbp, frame::interpreter_frame_method_offset * wordSize)); } |
79 void get_method(Register reg) { movptr(reg, Address(rbp, frame::interpreter_frame_method_offset * wordSize)); } |
80 void get_const(Register reg) { get_method(reg); movptr(reg, Address(reg, methodOopDesc::const_offset())); } |
80 void get_const(Register reg) { get_method(reg); movptr(reg, Address(reg, Method::const_offset())); } |
81 void get_constant_pool(Register reg) { get_const(reg); movptr(reg, Address(reg, constMethodOopDesc::constants_offset())); } |
81 void get_constant_pool(Register reg) { get_const(reg); movptr(reg, Address(reg, ConstMethod::constants_offset())); } |
82 void get_constant_pool_cache(Register reg) { get_constant_pool(reg); movptr(reg, Address(reg, constantPoolOopDesc::cache_offset_in_bytes())); } |
82 void get_constant_pool_cache(Register reg) { get_constant_pool(reg); movptr(reg, Address(reg, ConstantPool::cache_offset_in_bytes())); } |
83 void get_cpool_and_tags(Register cpool, Register tags) { get_constant_pool(cpool); movptr(tags, Address(cpool, constantPoolOopDesc::tags_offset_in_bytes())); |
83 void get_cpool_and_tags(Register cpool, Register tags) { get_constant_pool(cpool); movptr(tags, Address(cpool, ConstantPool::tags_offset_in_bytes())); |
84 } |
84 } |
85 void get_unsigned_2_byte_index_at_bcp(Register reg, int bcp_offset); |
85 void get_unsigned_2_byte_index_at_bcp(Register reg, int bcp_offset); |
86 void get_cache_and_index_at_bcp(Register cache, Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
86 void get_cache_and_index_at_bcp(Register cache, Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
87 void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2)); |
87 void get_cache_and_index_and_bytecode_at_bcp(Register cache, Register index, Register bytecode, int byte_no, int bcp_offset, size_t index_size = sizeof(u2)); |
88 void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); |
88 void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); |
89 void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
89 void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
|
90 |
|
91 // load cpool->resolved_references(index); |
|
92 void load_resolved_reference_at_index(Register result, Register index); |
90 |
93 |
91 // Expression stack |
94 // Expression stack |
92 void f2ieee(); // truncate ftos to 32bits |
95 void f2ieee(); // truncate ftos to 32bits |
93 void d2ieee(); // truncate dtos to 64bits |
96 void d2ieee(); // truncate dtos to 64bits |
94 |
97 |