116 method->constants()->cache();
117 *interpreter_frame->interpreter_frame_mirror_addr() =
118 method->method_holder()->java_mirror();
119 }
120
121 #ifndef _LP64
122 int AbstractInterpreter::BasicType_as_index(BasicType type) {
123 int i = 0;
124 switch (type) {
125 case T_BOOLEAN: i = 0; break;
126 case T_CHAR : i = 1; break;
127 case T_BYTE : i = 2; break;
128 case T_SHORT : i = 3; break;
129 case T_INT : // fall through
130 case T_LONG : // fall through
131 case T_VOID : i = 4; break;
132 case T_FLOAT : i = 5; break; // have to treat float and double separately for SSE
133 case T_DOUBLE : i = 6; break;
134 case T_OBJECT : // fall through
135 case T_ARRAY : i = 7; break;
136 default : ShouldNotReachHere();
137 }
138 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers, "index out of bounds");
139 return i;
140 }
141 #else
142 int AbstractInterpreter::BasicType_as_index(BasicType type) {
143 int i = 0;
144 switch (type) {
145 case T_BOOLEAN: i = 0; break;
146 case T_CHAR : i = 1; break;
147 case T_BYTE : i = 2; break;
148 case T_SHORT : i = 3; break;
149 case T_INT : i = 4; break;
150 case T_LONG : i = 5; break;
151 case T_VOID : i = 6; break;
152 case T_FLOAT : i = 7; break;
153 case T_DOUBLE : i = 8; break;
154 case T_OBJECT : i = 9; break;
155 case T_ARRAY : i = 9; break;
156 default : ShouldNotReachHere();
157 }
158 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers,
159 "index out of bounds");
160 return i;
161 }
162 #endif // _LP64
163
164 // How much stack a method activation needs in words.
165 int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
166 const int entry_size = frame::interpreter_frame_monitor_size();
167
168 // total overhead size: entry_size + (saved rbp thru expr stack
169 // bottom). be sure to change this if you add/subtract anything
170 // to/from the overhead area
171 const int overhead_size =
172 -(frame::interpreter_frame_initial_sp_offset) + entry_size;
173
174 #ifndef _LP64
175 const int stub_code = 4; // see generate_call_stub
|
116 method->constants()->cache();
117 *interpreter_frame->interpreter_frame_mirror_addr() =
118 method->method_holder()->java_mirror();
119 }
120
121 #ifndef _LP64
122 int AbstractInterpreter::BasicType_as_index(BasicType type) {
123 int i = 0;
124 switch (type) {
125 case T_BOOLEAN: i = 0; break;
126 case T_CHAR : i = 1; break;
127 case T_BYTE : i = 2; break;
128 case T_SHORT : i = 3; break;
129 case T_INT : // fall through
130 case T_LONG : // fall through
131 case T_VOID : i = 4; break;
132 case T_FLOAT : i = 5; break; // have to treat float and double separately for SSE
133 case T_DOUBLE : i = 6; break;
134 case T_OBJECT : // fall through
135 case T_ARRAY : i = 7; break;
136 case T_PRIMITIVE_OBJECT : i = 8; break;
137 default : ShouldNotReachHere();
138 }
139 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers, "index out of bounds");
140 return i;
141 }
142 #else
143 int AbstractInterpreter::BasicType_as_index(BasicType type) {
144 int i = 0;
145 switch (type) {
146 case T_BOOLEAN: i = 0; break;
147 case T_CHAR : i = 1; break;
148 case T_BYTE : i = 2; break;
149 case T_SHORT : i = 3; break;
150 case T_INT : i = 4; break;
151 case T_LONG : i = 5; break;
152 case T_VOID : i = 6; break;
153 case T_FLOAT : i = 7; break;
154 case T_DOUBLE : i = 8; break;
155 case T_OBJECT : i = 9; break;
156 case T_ARRAY : i = 9; break;
157 case T_PRIMITIVE_OBJECT : i = 10; break;
158 default : ShouldNotReachHere();
159 }
160 assert(0 <= i && i < AbstractInterpreter::number_of_result_handlers,
161 "index out of bounds");
162 return i;
163 }
164 #endif // _LP64
165
166 // How much stack a method activation needs in words.
167 int AbstractInterpreter::size_top_interpreter_activation(Method* method) {
168 const int entry_size = frame::interpreter_frame_monitor_size();
169
170 // total overhead size: entry_size + (saved rbp thru expr stack
171 // bottom). be sure to change this if you add/subtract anything
172 // to/from the overhead area
173 const int overhead_size =
174 -(frame::interpreter_frame_initial_sp_offset) + entry_size;
175
176 #ifndef _LP64
177 const int stub_code = 4; // see generate_call_stub
|