Mercurial > hg > graal-jvmci-8
diff src/share/vm/opto/graphKit.hpp @ 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 | 8f972594effc |
children | da91efe96a93 |
line wrap: on
line diff
--- a/src/share/vm/opto/graphKit.hpp Mon Jul 23 13:04:59 2012 -0700 +++ b/src/share/vm/opto/graphKit.hpp Tue Jul 24 10:51:00 2012 -0700 @@ -145,6 +145,7 @@ void clean_stack(int from_sp); // clear garbage beyond from_sp to top void inc_sp(int i) { set_sp(sp() + i); } + void dec_sp(int i) { set_sp(sp() - i); } void set_bci(int bci) { _bci = bci; } // Make sure jvms has current bci & sp. @@ -285,7 +286,7 @@ // How many stack inputs does the current BC consume? // And, how does the stack change after the bytecode? // Returns false if unknown. - bool compute_stack_effects(int& inputs, int& depth); + bool compute_stack_effects(int& inputs, int& depth, bool for_parse = false); // Add a fixed offset to a pointer Node* basic_plus_adr(Node* base, Node* ptr, intptr_t offset) { @@ -370,9 +371,9 @@ // Replace all occurrences of one node by another. void replace_in_map(Node* old, Node* neww); - void push(Node* n) { map_not_null(); _map->set_stack(_map->_jvms,_sp++,n); } - Node* pop() { map_not_null(); return _map->stack(_map->_jvms,--_sp); } - Node* peek(int off=0) { map_not_null(); return _map->stack(_map->_jvms, _sp - off - 1); } + void push(Node* n) { map_not_null(); _map->set_stack(_map->_jvms, _sp++, n); } + Node* pop() { map_not_null(); return _map->stack( _map->_jvms, --_sp); } + Node* peek(int off = 0) { map_not_null(); return _map->stack( _map->_jvms, _sp - off - 1); } void push_pair(Node* ldval) { push(ldval);