hotspot/src/share/vm/interpreter/interpreterRuntime.cpp
changeset 5419 f2e8cc8c12ea
parent 4761 bdb7375a1fee
child 5420 586d3988e72b
equal deleted inserted replaced
5418:c4955cb6ed33 5419:f2e8cc8c12ea
  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