-
Notifications
You must be signed in to change notification settings - Fork 715
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
Common getOffsetToFirstParm and mapIncomingParms in the linkage class across codegens #8477
Common getOffsetToFirstParm and mapIncomingParms in the linkage class across codegens #8477
Conversation
Depends on eclipse/omr#4798. |
dcbc29e
to
118eebd
Compare
Jenkins test sanity all jdk8 depends eclipse/omr#4798 |
Jenkins test sanity xlinuxxl,win32,zlinux,plinux jdk8 depends eclipse/omr#4798 |
d4fe381
to
ddb436d
Compare
I also rebased to resolve the conflicts. Jenkins test sanity all jdk8 depends eclipse/omr#4798 |
Ugh. Sorry--a PR of mine was recently merged which now causes merge conflicts with this one. Would you mind resolving? |
This API has a semantically equivalent implementation on all codegens. Given private linkage is platform agnostic it makes sense of this API to live in the common private linkage class. We also take this opportunity to document why we double the stack slot size in certain scenarios. Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
The `getOffsetToFirstParm` API currently belongs to linkage properties class in each codegen, with the Z codegen being the exception having it inside of the Z specific `OMRLinkage`. This API is however used throughout all codegens and can belong to the common code `OMRLinkage` class. We migrate the API there for use in downstream projects. Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
Using `self()` within constructors relies on undefined behaviour and should be avoided. Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
Calls to `self()` in private linkage classes are not needed because these classes are not extensible. We also take this opportunity to version a check for 64-bit in the `mapIncomingParms` function. Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
ddb436d
to
6f09870
Compare
Jenkins test sanity all jdk8 depends eclipse/omr#4798 |
Jenkins test sanity all jdk8,jdk11 depends eclipse/omr#4798 |
Jenkins test sanity.functional xlinuxxl jdk11 depends eclipse/omr#4798 |
I have run the OMR promotion tests successfully and manually promoted the corresponding OMR change. Merging this. |
The
getOffsetToFirstParm
API currently belongs to linkage propertiesclass in each codegen, with the Z codegen being the exception having it
inside of the Z specific
OMRLinkage
. This API is however usedthroughout all codegens and can belong to the common code
OMRLinkage
class. We migrate the API there for use in downstream projects.
The
mapIncomingParms
API has a semantically equivalent implementationon all codegens. Given private linkage is platform agnostic it makes sense
of this API to live in the common private linkage class. We also take this
opportunity to document why we double the stack slot size in certain
scenarios.
Closes: #8360
Signed-off-by: Filip Jeremic fjeremic@ca.ibm.com