Mercurial > hg > truffle
comparison src/cpu/x86/vm/interp_masm_x86_64.hpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | 2fe087c3e814 |
children | cd3d6a6b95d9 |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
84 movptr(reg, Address(rbp, frame::interpreter_frame_method_offset * wordSize)); | 84 movptr(reg, Address(rbp, frame::interpreter_frame_method_offset * wordSize)); |
85 } | 85 } |
86 | 86 |
87 void get_const(Register reg) { | 87 void get_const(Register reg) { |
88 get_method(reg); | 88 get_method(reg); |
89 movptr(reg, Address(reg, methodOopDesc::const_offset())); | 89 movptr(reg, Address(reg, Method::const_offset())); |
90 } | 90 } |
91 | 91 |
92 void get_constant_pool(Register reg) { | 92 void get_constant_pool(Register reg) { |
93 get_const(reg); | 93 get_const(reg); |
94 movptr(reg, Address(reg, constMethodOopDesc::constants_offset())); | 94 movptr(reg, Address(reg, ConstMethod::constants_offset())); |
95 } | 95 } |
96 | 96 |
97 void get_constant_pool_cache(Register reg) { | 97 void get_constant_pool_cache(Register reg) { |
98 get_constant_pool(reg); | 98 get_constant_pool(reg); |
99 movptr(reg, Address(reg, constantPoolOopDesc::cache_offset_in_bytes())); | 99 movptr(reg, Address(reg, ConstantPool::cache_offset_in_bytes())); |
100 } | 100 } |
101 | 101 |
102 void get_cpool_and_tags(Register cpool, Register tags) { | 102 void get_cpool_and_tags(Register cpool, Register tags) { |
103 get_constant_pool(cpool); | 103 get_constant_pool(cpool); |
104 movptr(tags, Address(cpool, constantPoolOopDesc::tags_offset_in_bytes())); | 104 movptr(tags, Address(cpool, ConstantPool::tags_offset_in_bytes())); |
105 } | 105 } |
106 | 106 |
107 void get_unsigned_2_byte_index_at_bcp(Register reg, int bcp_offset); | 107 void get_unsigned_2_byte_index_at_bcp(Register reg, int bcp_offset); |
108 void get_cache_and_index_at_bcp(Register cache, Register index, int bcp_offset, size_t index_size = sizeof(u2)); | 108 void get_cache_and_index_at_bcp(Register cache, Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
109 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)); | 109 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)); |
110 void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); | 110 void get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size = sizeof(u2)); |
111 void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); | 111 void get_cache_index_at_bcp(Register index, int bcp_offset, size_t index_size = sizeof(u2)); |
112 | |
113 // load cpool->resolved_references(index); | |
114 void load_resolved_reference_at_index(Register result, Register index); | |
112 | 115 |
113 void pop_ptr(Register r = rax); | 116 void pop_ptr(Register r = rax); |
114 void pop_i(Register r = rax); | 117 void pop_i(Register r = rax); |
115 void pop_l(Register r = rax); | 118 void pop_l(Register r = rax); |
116 void pop_f(XMMRegister r = xmm0); | 119 void pop_f(XMMRegister r = xmm0); |