On Thu, 2 Oct 2025 05:40:49 GMT, Henry Jen <[email protected]> wrote:

>> Since parameters is an opt-in choice, it's more reasonable to consider 
>> that's desired information and make strip parameter names an opt-in choice 
>> as well.
>> 
>> This PR changes the default behavior of --strip-debug to keep parameter 
>> names when it's available. Add opt-in mechanism,
>> via the strip-java-debug-attributes plugin by using argument 
>> `--strip-java-debug-attributes=+parameter-names`.
>> 
>> The --strip-debug option is a little bit odd, as it's a main option as well 
>> as a plugin option to enable the DefaultStripDebugPlugin, which strip native 
>> debug information on platform support the feature, and strip java debug 
>> information. In this PR, we chose to support only one mechanism to enable 
>> strip parameter names, so we would disable the embed 
>> StripJavaDebugAttributesPlugin when StripJavaDebugAttributesPlugin is 
>> enabled.
>> 
>> The StripParameterNamesTest illustrate and verify parameter names use cases, 
>> mainly focus on argument processing and the parameter names. We didn't 
>> verify the regular debug info as that's covered by existing test.
>> 
>> -- Update
>> 
>> The latest change removed the support of strip parameter names, as the 
>> MethodParameters attribute is considered necessary attribute to fulfill Java 
>> Language Spec even though this attribute is considered optional by JVM spec.
>
> Henry Jen has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   MethodParameters attribute should not be removed

It is surprising that the MethodParameters attribute is being stripped. I see 
ASM's SKIP_DEBUG is documented to skip this attribute, which explains why the 
re-implementation with the classfile API explicits drops it. So from a quick 
look, I think I think the change is doing the right thing. I will review 
closely soon.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/27566#issuecomment-3381887651

Reply via email to