Skip to content

invokedynamic : remove/replace getModuleGroup #17720

Description

@SylvainJuge

The ExperimentalInstrumentationModule.getModuleGroup() method was introduced to deal with instrumentation that requires access to shared classes: some instrumentation modules rely on a common library used by multiple instrumentation modules.

The current getModuleGroup method allows to use a string key that will make the instrumentation modules using the same key to be loaded in the same classloader, hence providing the access to the shared classes.

Ideally, when using indy:

  • we should load every instrumentation module in its own isolated classoader
  • we should provide the same class visibility semantics as the compile-time classpath of the instrumentation module, without having to explicitly ask for it (the current solution requires multiple modules to share the same key and finding dependencies is trial and error).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Relationships

None yet

Development

No branches or pull requests

Issue actions