Skip to content

Conversation

@ThanHenderson
Copy link
Contributor

@ThanHenderson ThanHenderson commented Jun 26, 2024

This WIP patch accompanies eclipse-openj9/openj9#19763 and replaces the index number in Lambda class names with a stable hash-code, and adds a stable hash code to customized LambdaForm classes.

The intent is to enable:

  1. LambdaForms to be stored in SCC
  2. early lookup in the SCC for both Lambda and LambdaForm classes
  3. reduction or elimination of the number of class byte comparisons for Lambdas when creating ROM classes

Signed-off-by: Nathan Henderson nathan.henderson@ibm.com

@ThanHenderson
Copy link
Contributor Author

@babsingh @hangshao0 Could you guys take a look?

My main point of concern here is "uniqueness" of the uniqueIDs. The Lambda and LambdaForm class names are stable with these uniqueIDs included, and the probability of collisions is low but not impossible. This would cause issues if we are doing an early lookup to produce a class from the SCC based only on the class name. In practice, I haven't observed any collisions.

I am open to any other suggestions in how we should be generating the uniqueID.

@ThanHenderson ThanHenderson force-pushed the stable-lambda branch 4 times, most recently from 1221a9c to aafbee2 Compare July 30, 2024 14:31
This patch adds:
- a unique ID to the generated Lambda and LambdaForm class names
- MethodHandleNatives functions for checking if a Lambda or LambdaForm
class is in the SCC based on the unique ID
- early SCC-lookup for both Lambda and LambdaForm classes

Signed-off-by: Nathan Henderson nathan.henderson@ibm.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant