RFR: 8305237: CompilerDirectives DCmds permissions correction

Kevin Walls kevinw at openjdk.org
Sun Apr 2 09:33:18 UTC 2023

On Fri, 31 Mar 2023 08:24:19 GMT, Kevin Walls <kevinw at openjdk.org> wrote:

> The Permissions in DCmds relate to remote usage over JMX. 
> "monitor" is generally for reading information, and "control" is generally for making changes.
> The DCmds for changing compiler directives should have "control" as the required permission.
> Tests in test/hotspot/jtreg/serviceability/dcmd/compiler and test/hotspot/jtreg/compiler/compilercontrol still pass with this change.

Right, I don't think we test this remotely, and I don't think we test it with permissions.
We have test/hotspot/jtreg/serviceability/dcmd/compiler/CompilerDirectivesDCMDTest.java 
which uses test/lib/jdk/test/lib/dcmd/JMXExecutor.java
...where JMXExecutor implements a CommandExecutor passed to the test's run method
and the test does things like: executor.execute("Compiler.directives_clear");

CompilerDirectivesDCMDTest currently tests local usage in the running VM, which is fine and this change does not affect it.

I don't really think this feature (remote, permissions) is likely to be actively used, as it is not well documented, so this change is just to try and correct the record of the intent of the feature.  I think additional testing should come as a next step as we make changes to the implementation required by the upcoming removal of Security Manager and related APIs.


PR Comment: https://git.openjdk.org/jdk/pull/13262#issuecomment-1493278465

More information about the compiler-dev mailing list