Mercurial > hg > truffle
comparison src/cpu/x86/vm/frame_x86.inline.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 | 5cf771a79037 |
children | e522a00b91aa cd3d6a6b95d9 |
comparison
equal
deleted
inserted
replaced
6724:36d1d483d5d6 | 6725:da91efe96a93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
172 } | 172 } |
173 | 173 |
174 | 174 |
175 // Constant pool cache | 175 // Constant pool cache |
176 | 176 |
177 inline constantPoolCacheOop* frame::interpreter_frame_cache_addr() const { | 177 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const { |
178 assert(is_interpreted_frame(), "must be interpreted"); | 178 assert(is_interpreted_frame(), "must be interpreted"); |
179 return &(get_interpreterState()->_constants); | 179 return &(get_interpreterState()->_constants); |
180 } | 180 } |
181 | 181 |
182 // Method | 182 // Method |
183 | 183 |
184 inline methodOop* frame::interpreter_frame_method_addr() const { | 184 inline Method** frame::interpreter_frame_method_addr() const { |
185 assert(is_interpreted_frame(), "must be interpreted"); | 185 assert(is_interpreted_frame(), "must be interpreted"); |
186 return &(get_interpreterState()->_method); | 186 return &(get_interpreterState()->_method); |
187 } | 187 } |
188 | 188 |
189 inline intptr_t* frame::interpreter_frame_mdx_addr() const { | 189 inline intptr_t* frame::interpreter_frame_mdx_addr() const { |
219 | 219 |
220 | 220 |
221 | 221 |
222 // Constant pool cache | 222 // Constant pool cache |
223 | 223 |
224 inline constantPoolCacheOop* frame::interpreter_frame_cache_addr() const { | 224 inline ConstantPoolCache** frame::interpreter_frame_cache_addr() const { |
225 return (constantPoolCacheOop*)addr_at(interpreter_frame_cache_offset); | 225 return (ConstantPoolCache**)addr_at(interpreter_frame_cache_offset); |
226 } | 226 } |
227 | 227 |
228 // Method | 228 // Method |
229 | 229 |
230 inline methodOop* frame::interpreter_frame_method_addr() const { | 230 inline Method** frame::interpreter_frame_method_addr() const { |
231 return (methodOop*)addr_at(interpreter_frame_method_offset); | 231 return (Method**)addr_at(interpreter_frame_method_offset); |
232 } | 232 } |
233 | 233 |
234 // top of expression stack | 234 // top of expression stack |
235 inline intptr_t* frame::interpreter_frame_tos_address() const { | 235 inline intptr_t* frame::interpreter_frame_tos_address() const { |
236 intptr_t* last_sp = interpreter_frame_last_sp(); | 236 intptr_t* last_sp = interpreter_frame_last_sp(); |