equal
deleted
inserted
replaced
1065 // We assume that the two halves of longs/doubles are stored in interpreter |
1065 // We assume that the two halves of longs/doubles are stored in interpreter |
1066 // stack slots in platform-endian order. |
1066 // stack slots in platform-endian order. |
1067 jlong_accessor u; |
1067 jlong_accessor u; |
1068 jint* newval = (jint*)value; |
1068 jint* newval = (jint*)value; |
1069 u.words[0] = newval[0]; |
1069 u.words[0] = newval[0]; |
1070 u.words[1] = newval[Interpreter::stackElementWords()]; // skip if tag |
1070 u.words[1] = newval[Interpreter::stackElementWords]; // skip if tag |
1071 fvalue.j = u.long_value; |
1071 fvalue.j = u.long_value; |
1072 #endif // _LP64 |
1072 #endif // _LP64 |
1073 |
1073 |
1074 Handle h_obj; |
1074 Handle h_obj; |
1075 if (!is_static) { |
1075 if (!is_static) { |
1250 methodHandle mh(thread, fr.interpreter_frame_method()); |
1250 methodHandle mh(thread, fr.interpreter_frame_method()); |
1251 Bytecode_invoke* invoke = Bytecode_invoke_at(mh, bci); |
1251 Bytecode_invoke* invoke = Bytecode_invoke_at(mh, bci); |
1252 ArgumentSizeComputer asc(invoke->signature()); |
1252 ArgumentSizeComputer asc(invoke->signature()); |
1253 int size_of_arguments = (asc.size() + (invoke->has_receiver() ? 1 : 0)); // receiver |
1253 int size_of_arguments = (asc.size() + (invoke->has_receiver() ? 1 : 0)); // receiver |
1254 Copy::conjoint_bytes(src_address, dest_address, |
1254 Copy::conjoint_bytes(src_address, dest_address, |
1255 size_of_arguments * Interpreter::stackElementSize()); |
1255 size_of_arguments * Interpreter::stackElementSize); |
1256 IRT_END |
1256 IRT_END |
1257 #endif |
1257 #endif |