Mercurial > hg > truffle
diff src/share/vm/interpreter/interpreterRuntime.cpp @ 1138:dd57230ba8fe
6893268: additional dynamic language related optimizations in C2
Summary: C2 needs some additional optimizations to be able to handle MethodHandle invokes and invokedynamic instructions at the best performance.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 15:21:25 +0100 |
parents | 389049f3f393 |
children | 4ce7240d622c |
line wrap: on
line diff
--- a/src/share/vm/interpreter/interpreterRuntime.cpp Tue Jan 05 13:05:58 2010 +0100 +++ b/src/share/vm/interpreter/interpreterRuntime.cpp Tue Jan 05 15:21:25 2010 +0100 @@ -1250,7 +1250,7 @@ methodHandle mh(thread, fr.interpreter_frame_method()); Bytecode_invoke* invoke = Bytecode_invoke_at(mh, bci); ArgumentSizeComputer asc(invoke->signature()); - int size_of_arguments = (asc.size() + (invoke->is_invokestatic() ? 0 : 1)); // receiver + int size_of_arguments = (asc.size() + (invoke->has_receiver() ? 1 : 0)); // receiver Copy::conjoint_bytes(src_address, dest_address, size_of_arguments * Interpreter::stackElementSize()); IRT_END