RFR(M): 8209134: [lworld] New nmethod entry point for unscalarized (nullable) value type arguments
Tobias Hartmann
tobias.hartmann at oracle.com
Thu Aug 30 13:22:09 UTC 2018
Hi Roland,
thanks for the review!
On 29.08.2018 16:04, Roland Westrelin wrote:
> Why move things around in nmethod::print_nmethod_labels()?
That fixes a bug that also exists in mainline where the parameter list is printed *after* the [Entry
Point] and [Verified Entry Point] labels:
[Entry Point]
[Verified Entry Point]
# {method} {0x00007f56838251b8} 'testGreater1' '(II)Z' in 'MyTest'
# parm0: rsi = int
# parm1: rdx = int
# [sp+0x20] (sp of caller)
;; N1: # B1 <- B3 Freq: 1
;; B1: # B4 B2 <- BLOCK HEAD IS JUNK Freq: 1
0x00007f56984da0c0: mov %eax,-0x16000(%rsp)
It should look like this:
# {method} {0x00007f56838251b8} 'testGreater1' '(II)Z' in 'MyTest'
# parm0: rsi = int
# parm1: rdx = int
# [sp+0x20] (sp of caller)
;; N1: # B1 <- B3 Freq: 1
;; B1: # B4 B2 <- BLOCK HEAD IS JUNK Freq: 1
[Entry Point]
[Verified Entry Point]
0x00007f56984da0c0: mov %eax,-0x16000(%rsp)
> Why is the Q showing up in signature.cpp?
Because I've modified the code in sharedRuntime_x86_64.cpp to now also save the extended signature
if a value type argument is passed as oop. That's required because we need the extended signature in
MacroAssembler::null_check_value_args() to determine which arguments are value type oops.
Thanks,
Tobias
More information about the valhalla-dev
mailing list