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

Generate jvmti.h header for vm29 #2368

Closed
tajila opened this issue Jul 10, 2018 · 5 comments · Fixed by #4409
Closed

Generate jvmti.h header for vm29 #2368

tajila opened this issue Jul 10, 2018 · 5 comments · Fixed by #4409
Labels

Comments

@tajila
Copy link
Contributor

tajila commented Jul 10, 2018

Since vm29 will support Java8, 9, 10, 11, etc. we will need to generate the jvmti header so that it is specific to the Java release version.

#ifdefs will not work because the j9 flags (j9cfg.h) are not included when compiling the OpenJDK natives.

The jvmti header file can be generated with m4.

@pshipton pshipton added this to the Release 0.10.0 milestone Jul 11, 2018
@pshipton
Copy link
Member

pshipton commented Sep 4, 2018

@tajila is this likely to be completed for the 0.10.0 release, in the next couple of weeks? If not, where should this be targeted? The 0.11.0 release will be for end of Oct, and 0.12.0 for Jan.

@tajila
Copy link
Contributor Author

tajila commented Sep 4, 2018

@pshipton No I will not be able to get this done for the time frame for the 0.10.0 release

@pshipton
Copy link
Member

pshipton commented Oct 2, 2018

@tajila is this likely to be completed for the 0.11.0 release, in the next week or so?

@MarkQingGuo
Copy link
Contributor

MarkQingGuo commented Jan 15, 2019

Just want to make sure if "JAVA_SPEC_VERSION" is the variable to represent the version of java? Does vm29 support JAVA12? Do I need to rewrite macros in J9cfg.h.in and J9cfg.h.ftl then insert into jvmti.h?

@tajila
Copy link
Contributor Author

tajila commented Jan 15, 2019

Just want to make sure if "JAVA_SPEC_VERSION" is the variable to represent the version of java?

yes

Does vm29 support JAVA12?

yes

Do I need to rewrite macros in J9cfg.h.in and J9cfg.h.ftl then insert into jvmti.h?

No, we will need a jvmti.h.m4 (or something similar). The JAVA_SPEC_VERSION will be passed to jvmti.h.m4 file and youll be able to do something like:

_IF([JAVA_SPEC_VERSION  > 10],
	// add java 11 code here ...

MarkQingGuo added a commit to MarkQingGuo/openj9 that referenced this issue Apr 11, 2019
…nt JDKs

we need to generate jvmti header by using m4 so that it is specific to
the Java release version, since vm will support Java 8, 9, 10, 11, 12.
Some PRs in extension repositories are created.

There are some changes:

- use m4 preprocessor and macros to generate different header
- add macros in other jvmti implementation files so that it matches header files
- modify dependency in `runtime/CMakeList.txt` to support cmake build
- modify dependency in `runtime/buildtools.mk` to support Uma build
- modify dependency in `runtime/compiler/linter.mk` to support linter build

Closes: eclipse-openj9#2368

Signed-off-by: MarkQingGuo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants