< prev index next >

src/hotspot/cpu/x86/abstractInterpreter_x86.cpp

Print this page

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
< prev index next >