New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move com.ibm.jvm classes to named module openj9.jvm #58
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
keithc-ca
reviewed
Sep 18, 2017
*******************************************************************************/ | ||
module openj9.jvm { | ||
exports com.ibm.jvm; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please convert to Unix line-ends for this file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated.
1 Added jcl/src/openj9.jvm, and module-info.java, moved exports clause exports com.ibm.jvm; from java.base to openj9.jvm; 2. Moved jcl/src/java.base/share/classes/com/ibm/jvm/* to jcl/src/openj9.jvm/share/classes/com/ibm/jvm/; 3. To work with existing JVM during compilation: added removeexport and deletion of java.base/com.ibm.jvm within j9modules.xml; 4. Updated jpp_configuration.xml and others. Signed-off-by: Jason Feng <fengj@ca.ibm.com>
JasonFengJ9
force-pushed
the
openj9jvm
branch
from
September 18, 2017 20:54
db535f0
to
3d628f6
Compare
Can one of the admins verify this patch? |
1 similar comment
Can one of the admins verify this patch? |
This was referenced Sep 21, 2017
tajila
added a commit
to tajila/openj9
that referenced
this pull request
May 12, 2020
Spec change: VT must use Qsignatures in methodrefs, fields and now classrefs. This means that when we are resolving classrefs we need to handle cases where there is no signature (just name) and where there is a Qsignature. This change has been made in the resolve classref code. The rest of the changes are test related. Since there is no support for VT with methodhandles, the method handles still look for 'L' signatures. So as a work around the test generates a wrapper (generic) function that accepts 'L' signatures and calls the real function with the 'Q' signatures. The test cases call the generic version which then redirects to the specific version. For example: ``` public static java.lang.Object makeValueGeneric(java.lang.Object, java.lang.Object) throws java.lang.Exception; descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags: (0x0009) ACC_PUBLIC, ACC_STATIC Code: stack=2, locals=2, args_size=2 0: aload_0 1: checkcast eclipse-openj9#58 // class "QPoint2D;" 4: aload_1 5: checkcast eclipse-openj9#58 // class "QPoint2D;" 8: invokestatic eclipse-openj9#60 // Method makeValue:(QPoint2D;QPoint2D;)QFlattenedLine2D; 11: areturn ``` This need for the generic wrapper has always been there but it is more important now since VTs are only ever using Q signatures. The increased usage of generic wrappers has exposed some bugs. Below is a summary: - Since MHs are not being used to directly call the make function we cannot rely on the asType conversions the MHs would normally do, so the types have to be exact in order to pass the checkcast test. Ie. use longs instead of int, etc. - The makeGeneric generator code was missing breaks in the case statements - VT return signatures were using 'L' instead of 'Q' signatures A follow on PR will be created to address the new behaviour for checkcast. Signed-off-by: Tobi Ajila <atobia@ca.ibm.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Move
com.ibm.jvm
classes to named moduleopenj9.jvm
1 Added
jcl/src/openj9.jvm
, andmodule-info.java
, moved exports clauseexports com.ibm.jvm;
fromjava.base
toopenj9.jvm
;2. Moved
jcl/src/java.base/share/classes/com/ibm/jvm/*
tojcl/src/openj9.jvm/share/classes/com/ibm/jvm/
;3. To work with existing JVM during compilation: added
removeexport
anddeletion of
java.base/com.ibm.jvm
withinj9modules.xml
;4. Updated
jpp_configuration.xml
and others.Reviewer: @pshipton
FYI: @DanHeidinga @keithc-ca
Signed-off-by: Jason Feng fengj@ca.ibm.com