Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreterRuntime.cpp @ 1506:2338d41fbd81
6943304: remove tagged stack interpreter
Reviewed-by: coleenp, never, gbenson
author | twisti |
---|---|
date | Fri, 30 Apr 2010 08:37:24 -0700 |
parents | 6deeaebad47a |
children | cd5dbf694d45 |
comparison
equal
deleted
inserted
replaced
1505:0c5b3cf3c1f5 | 1506:2338d41fbd81 |
---|---|
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 |