Skip to content
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

Merged

Conversation

fjeremic
Copy link
Contributor

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.

The mapIncomingParms 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.

Closes: #8360
Signed-off-by: Filip Jeremic fjeremic@ca.ibm.com

@fjeremic
Copy link
Contributor Author

Depends on eclipse/omr#4798.

@fjeremic fjeremic requested a review from 0xdaryl January 31, 2020 22:28
@fjeremic fjeremic force-pushed the document-private-linkage-double-slot branch 2 times, most recently from dcbc29e to 118eebd Compare February 4, 2020 19:59
@fjeremic
Copy link
Contributor Author

Jenkins test sanity all jdk8 depends eclipse/omr#4798

@fjeremic
Copy link
Contributor Author

Jenkins test sanity xlinuxxl,win32,zlinux,plinux jdk8 depends eclipse/omr#4798

@fjeremic fjeremic force-pushed the document-private-linkage-double-slot branch from d4fe381 to ddb436d Compare May 6, 2020 16:16
@fjeremic
Copy link
Contributor Author

fjeremic commented May 6, 2020

I also rebased to resolve the conflicts.

Jenkins test sanity all jdk8 depends eclipse/omr#4798

@fjeremic fjeremic requested a review from 0xdaryl May 6, 2020 16:20
@0xdaryl 0xdaryl self-assigned this May 8, 2020
@0xdaryl
Copy link
Contributor

0xdaryl commented May 8, 2020

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>
@fjeremic fjeremic force-pushed the document-private-linkage-double-slot branch from ddb436d to 6f09870 Compare May 8, 2020 16:34
@fjeremic
Copy link
Contributor Author

fjeremic commented May 8, 2020

Jenkins test sanity all jdk8 depends eclipse/omr#4798

@0xdaryl
Copy link
Contributor

0xdaryl commented May 31, 2020

Jenkins test sanity all jdk8,jdk11 depends eclipse/omr#4798

@0xdaryl
Copy link
Contributor

0xdaryl commented Jun 1, 2020

Jenkins test sanity.functional xlinuxxl jdk11 depends eclipse/omr#4798

@0xdaryl
Copy link
Contributor

0xdaryl commented Jun 1, 2020

I have run the OMR promotion tests successfully and manually promoted the corresponding OMR change. Merging this.

@0xdaryl 0xdaryl merged commit e34469b into eclipse-openj9:master Jun 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate stack slot gaps for argument save area in private linkage
2 participants