240 jbyte value = *(jbyte*)single_slot_addr();
241 if (pass_gpr(value) < 0) {
242 pass_stack<>(value);
243 }
244 }
245
246 virtual void pass_short() {
247 jshort value = *(jshort*)single_slot_addr();
248 if (pass_gpr(value) < 0) {
249 pass_stack<>(value);
250 }
251 }
252
253 virtual void pass_int() {
254 jint value = *(jint*)single_slot_addr();
255 if (pass_gpr(value) < 0) {
256 pass_stack<>(value);
257 }
258 }
259
260 virtual void pass_long() {
261 intptr_t value = *double_slot_addr();
262 if (pass_gpr(value) < 0) {
263 pass_stack<>(value);
264 }
265 }
266
267 virtual void pass_object() {
268 intptr_t* addr = single_slot_addr();
269 intptr_t value = *addr == 0 ? (intptr_t)0 : (intptr_t)addr;
270 if (pass_gpr(value) < 0) {
271 pass_stack<>(value);
272 }
273 }
274
275 virtual void pass_float() {
276 jint value = *(jint*)single_slot_addr();
277 if (pass_fpr(value) < 0) {
278 pass_stack<>(value);
279 }
|
240 jbyte value = *(jbyte*)single_slot_addr();
241 if (pass_gpr(value) < 0) {
242 pass_stack<>(value);
243 }
244 }
245
246 virtual void pass_short() {
247 jshort value = *(jshort*)single_slot_addr();
248 if (pass_gpr(value) < 0) {
249 pass_stack<>(value);
250 }
251 }
252
253 virtual void pass_int() {
254 jint value = *(jint*)single_slot_addr();
255 if (pass_gpr(value) < 0) {
256 pass_stack<>(value);
257 }
258 }
259
260 virtual void pass_valuetype() {
261 // values are handled with oops, like objects
262 pass_object();
263 }
264
265 virtual void pass_long() {
266 intptr_t value = *double_slot_addr();
267 if (pass_gpr(value) < 0) {
268 pass_stack<>(value);
269 }
270 }
271
272 virtual void pass_object() {
273 intptr_t* addr = single_slot_addr();
274 intptr_t value = *addr == 0 ? (intptr_t)0 : (intptr_t)addr;
275 if (pass_gpr(value) < 0) {
276 pass_stack<>(value);
277 }
278 }
279
280 virtual void pass_float() {
281 jint value = *(jint*)single_slot_addr();
282 if (pass_fpr(value) < 0) {
283 pass_stack<>(value);
284 }
|