-
Enhancement
-
Resolution: Fixed
-
P3
-
None
-
repo-panama
Currently, calls that return a value in multiple registers are not enabled in native invokers.
This is because our low-level method handle for doing native calls can only return java primtives, and we can not encode multiple 64-bit registers as a single java primitive.
Possible solution is to pre-allocate a bit of memory where we will put the arguments returned from the call, and then load the value from there when post-processing the return value.
Implementing this would also allow us to remove the buffered invocation strategy for down calls.
This is because our low-level method handle for doing native calls can only return java primtives, and we can not encode multiple 64-bit registers as a single java primitive.
Possible solution is to pre-allocate a bit of memory where we will put the arguments returned from the call, and then load the value from there when post-processing the return value.
Implementing this would also allow us to remove the buffered invocation strategy for down calls.
- blocks
-
JDK-8275644 Replace VMReg in shuffling code with something more fine grained.
-
- Resolved
-
- relates to
-
JDK-8275647 Enable multi-register return values for optimized upcall stubs
-
- Resolved
-