mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 00:54:38 +02:00
7023639: JSR 292 method handle invocation needs a fast path for compiled code
6984705: JSR 292 method handle creation should not go through JNI Remove assembly code for JDK 7 chained method handles Co-authored-by: John Rose <john.r.rose@oracle.com> Co-authored-by: Michael Haupt <michael.haupt@oracle.com> Reviewed-by: jrose, twisti, kvn, mhaupt
This commit is contained in:
parent
893817c28d
commit
12901d0e5b
181 changed files with 5760 additions and 14402 deletions
|
@ -406,12 +406,8 @@ class AbstractAssembler : public ResourceObj {
|
|||
// offsets in code which must be generated before the object class is loaded.
|
||||
// Field offsets are never zero, since an object's header (mark word)
|
||||
// is located at offset zero.
|
||||
RegisterOrConstant delayed_value(int(*value_fn)(), Register tmp, int offset = 0) {
|
||||
return delayed_value_impl(delayed_value_addr(value_fn), tmp, offset);
|
||||
}
|
||||
RegisterOrConstant delayed_value(address(*value_fn)(), Register tmp, int offset = 0) {
|
||||
return delayed_value_impl(delayed_value_addr(value_fn), tmp, offset);
|
||||
}
|
||||
RegisterOrConstant delayed_value(int(*value_fn)(), Register tmp, int offset = 0);
|
||||
RegisterOrConstant delayed_value(address(*value_fn)(), Register tmp, int offset = 0);
|
||||
virtual RegisterOrConstant delayed_value_impl(intptr_t* delayed_value_addr, Register tmp, int offset) = 0;
|
||||
// Last overloading is platform-dependent; look in assembler_<arch>.cpp.
|
||||
static intptr_t* delayed_value_addr(int(*constant_fn)());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue