int AbstractInterpreter::BasicType_as_index(BasicType type) { int i = 0; switch (type) { case T_BOOLEAN: i = 0; break; case T_CHAR : i = 1; break; case T_BYTE : i = 2; break; case T_SHORT : i = 3; break; case T_INT : i = 4; break; case T_LONG : i = 5; break; case T_VOID : i = 6; break; case T_FLOAT : i = 7; break; case T_DOUBLE : i = 8; break; case T_OBJECT : i = 9; break; case T_ARRAY : i = 9; break; default : ShouldNotReachHere();
}
assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers, "index out of bounds"); return i;
}
// Deoptimization helpers
int AbstractInterpreter::size_activation(int max_stack, int tempcount, int extra_args, int moncount, int callee_param_count, int callee_locals, bool is_top_frame) { int header_words = InterpreterFrame::header_words; int monitor_words = moncount * frame::interpreter_frame_monitor_size(); int stack_words = is_top_frame ? max_stack : tempcount; int callee_extra_locals = callee_locals - callee_param_count;
void AbstractInterpreter::layout_activation(Method* method, int tempcount, int popframe_extra_args, int moncount, int caller_actual_parameters, int callee_param_count, int callee_locals,
frame* caller,
frame* interpreter_frame, bool is_top_frame, bool is_bottom_frame) {
assert(popframe_extra_args == 0, "what to do?");
assert(!is_top_frame || (!callee_locals && !callee_param_count), "top frame should have no caller");
// This code must exactly match what InterpreterFrame::build // does (the full InterpreterFrame::build, that is, not the // one that creates empty frames for the deoptimizer). // // interpreter_frame will be filled in. It's size is determined by // a previous call to the size_activation() method, // // Note that tempcount is the current size of the expression // stack. For top most frames we will allocate a full sized // expression stack and not the trimmed version that non-top // frames have.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.