Mercurial > hg > graal-compiler
comparison src/share/vm/opto/matcher.cpp @ 6266:1d7922586cf6
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI
Summary: remove assembly code for JDK 7 chained method handles
Reviewed-by: jrose, twisti, kvn, mhaupt
Contributed-by: John Rose <john.r.rose@oracle.com>, Christian Thalinger <christian.thalinger@oracle.com>, Michael Haupt <michael.haupt@oracle.com>
author | twisti |
---|---|
date | Tue, 24 Jul 2012 10:51:00 -0700 |
parents | 8c92982cbbc4 |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6241:aba91a731143 | 6266:1d7922586cf6 |
---|---|
1281 } | 1281 } |
1282 | 1282 |
1283 if (is_method_handle_invoke) { | 1283 if (is_method_handle_invoke) { |
1284 // Kill some extra stack space in case method handles want to do | 1284 // Kill some extra stack space in case method handles want to do |
1285 // a little in-place argument insertion. | 1285 // a little in-place argument insertion. |
1286 // FIXME: Is this still necessary? | |
1286 int regs_per_word = NOT_LP64(1) LP64_ONLY(2); // %%% make a global const! | 1287 int regs_per_word = NOT_LP64(1) LP64_ONLY(2); // %%% make a global const! |
1287 out_arg_limit_per_call += MethodHandlePushLimit * regs_per_word; | 1288 out_arg_limit_per_call += methodOopDesc::extra_stack_entries() * regs_per_word; |
1288 // Do not update mcall->_argsize because (a) the extra space is not | 1289 // Do not update mcall->_argsize because (a) the extra space is not |
1289 // pushed as arguments and (b) _argsize is dead (not used anywhere). | 1290 // pushed as arguments and (b) _argsize is dead (not used anywhere). |
1290 } | 1291 } |
1291 | 1292 |
1292 // Compute the max stack slot killed by any call. These will not be | 1293 // Compute the max stack slot killed by any call. These will not be |