forked from eclipse/omr
16. Meeting Minutes (11.10.2018)
Samer AL Masri edited this page Oct 11, 2018
·
3 revisions
- I had a problem building after rebasing. I am getting error:
comparison between signed and unsigned integer expressions
- Built successfully in Docker (2 tests fail)
- I added dumb
LinkagePolicy
class successfully - I am adding the implementation of
createLinkage
in eachLinkagePolicy
class
We plan to extract two functions from CodeGenerator
to LinkagePolicy
:
-
createLinkageForCompilation
. This function is only implemented inOMR
andJ9
namespaces; it depends on:- In
OMR::CodeGenerator
:- CodeGenerator member
_linkages[lc]
- CodeGenerator member function
createLinkage
- CodeGenerator member
- In
J9::CodeGenerator
: Out of scope for now
- In
-
createLinkage
, depends on:- In
OMR::CodeGenerator
: nothing - In
OMR::X86::CodeGenerator
:TR::Compilation
TR::Linkage
-
TR::AMD64ABILinkage(self());
: code - CodeGenerator member function
setLinkage()
- In
OMR::Power::CodeGenerator
:TR::Linkage
-
TR::PPCSystemLinkage(self());
: code - CodeGenerator member function
setLinkage()
- In
OMR::Z::CodeGenerator
:TR::Compilation
TR::Linkage
-
TR::S390zLinuxSystemLinkage(self());
: code - CodeGenerator member function
setLinkage()
- In
To fix the setLinkage
dependency, we can pass a CodeGenerator
pointer to createLinkage
function. I am not sure how can we fix the TR::
functions that take self()
though.
pass CodeGenerator's this
pointer to createLinkage
. In the TR::
functions, use the passed CodeGenerator pointer instead of self()