comparison src/share/vm/interpreter/abstractInterpreter.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 1d7922586cf6
children a3e2f723f2a5
comparison
equal deleted inserted replaced
6724:36d1d483d5d6 6725:da91efe96a93
1 /* 1 /*
2 * Copyright (c) 1997, 2011, 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.
174 174
175 static address rethrow_exception_entry() { return _rethrow_exception_entry; } 175 static address rethrow_exception_entry() { return _rethrow_exception_entry; }
176 176
177 // Activation size in words for a method that is just being called. 177 // Activation size in words for a method that is just being called.
178 // Parameters haven't been pushed so count them too. 178 // Parameters haven't been pushed so count them too.
179 static int size_top_interpreter_activation(methodOop method); 179 static int size_top_interpreter_activation(Method* method);
180 180
181 // Deoptimization support 181 // Deoptimization support
182 // Compute the entry address for continuation after 182 // Compute the entry address for continuation after
183 static address deopt_continue_after_entry(methodOop method, 183 static address deopt_continue_after_entry(Method* method,
184 address bcp, 184 address bcp,
185 int callee_parameters, 185 int callee_parameters,
186 bool is_top_frame); 186 bool is_top_frame);
187 // Compute the entry address for reexecution 187 // Compute the entry address for reexecution
188 static address deopt_reexecute_entry(methodOop method, address bcp); 188 static address deopt_reexecute_entry(Method* method, address bcp);
189 // Deoptimization should reexecute this bytecode 189 // Deoptimization should reexecute this bytecode
190 static bool bytecode_should_reexecute(Bytecodes::Code code); 190 static bool bytecode_should_reexecute(Bytecodes::Code code);
191 191
192 // share implementation of size_activation and layout_activation: 192 // share implementation of size_activation and layout_activation:
193 static int size_activation(methodOop method, 193 static int size_activation(Method* method,
194 int temps, 194 int temps,
195 int popframe_args, 195 int popframe_args,
196 int monitors, 196 int monitors,
197 int caller_actual_parameters, 197 int caller_actual_parameters,
198 int callee_params, 198 int callee_params,
208 (frame*)NULL, 208 (frame*)NULL,
209 (frame*)NULL, 209 (frame*)NULL,
210 is_top_frame); 210 is_top_frame);
211 } 211 }
212 212
213 static int layout_activation(methodOop method, 213 static int layout_activation(Method* method,
214 int temps, 214 int temps,
215 int popframe_args, 215 int popframe_args,
216 int monitors, 216 int monitors,
217 int caller_actual_parameters, 217 int caller_actual_parameters,
218 int callee_params, 218 int callee_params,