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

Initial OpenJ9 contribution #1

Merged
merged 1 commit into from
Sep 13, 2017
Merged

Conversation

DanHeidinga
Copy link
Member

This is the initial contribution of the OpenJ9 JVM and tests
based on IBM's J9 JVM.

This project builds in conjungtion with the Eclipse OMR project
(https://github.com/eclipse/openj9-omr) and combines with the
OpenJDK extensions git mirror
(https://github.com/ibmruntimes/openj9-openjdk-jdk9) -- which
includes the OpenJ9-specific patches -- to provide a complete JDK.

CQs:
14111 OpenJ9 initial contribution
14064 CuTest 1.4
14043 libffi 3.2.1
14045 Eclipse OMR
14047 FreeMarker 2.3.8
14042 MurmurHash3
14044 Unicode 8.0.0
14040 zlib 1.2.3
14046 dlmalloc 2.8.3
14084 testng 6.10.0
14081 java assist 3.12.1
14085 apache-ant-contrib 1.0b1
14087 log4j 2.3
14069 Apache Ant Version: 1.10.1 (PB CQ12750)
14066 junit Version: 4.10 (PB CQ5958)
14068 Apache Commons Exec Version: 1.1 (PB Orbit CQ6786)
14065 ASM 5.0.1 (PB Orbit CQ 8129) (PB CQ8123)
14067 Apache commons-cli Version: 1.2 (PB Orbit CQ 4580) (PB CQ10756)

Signed-off-by: Dan Heidinga [email protected]

This is the initial contribution of the OpenJ9 JVM and tests
based on IBM's J9 JVM.

This project builds in conjungtion with the Eclipse OMR project
(https://github.com/eclipse/openj9-omr) and combines with the
OpenJDK extensions git mirror
(https://github.com/ibmruntimes/openj9-openjdk-jdk9) -- which
includes the OpenJ9-specific patches -- to provide a complete JDK.

CQs:
14111 OpenJ9 initial contribution
14064 CuTest 1.4
14043 libffi 3.2.1
14045 Eclipse OMR
14047 FreeMarker 2.3.8
14042 MurmurHash3
14044 Unicode 8.0.0
14040 zlib 1.2.3
14046 dlmalloc 2.8.3
14084 testng 6.10.0
14081 java assist 3.12.1
14085 apache-ant-contrib 1.0b1
14087 log4j 2.3
14069 Apache Ant Version: 1.10.1 (PB CQ12750)
14066 junit Version: 4.10 (PB CQ5958)
14068 Apache Commons Exec Version: 1.1 (PB Orbit CQ6786)
14065 ASM 5.0.1 (PB Orbit CQ 8129) (PB CQ8123)
14067 Apache commons-cli Version: 1.2 (PB Orbit CQ 4580) (PB CQ10756)

Signed-off-by: Dan Heidinga <[email protected]>
Copy link
Contributor

@mstoodle mstoodle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What an effort putting all this together! Thanks to the entire team of people who made this happen! I am honoured to merge this code into our repository for everyone to start using and working with!

@mstoodle mstoodle merged commit 6858c8b into eclipse-openj9:master Sep 13, 2017
tajila referenced this pull request in tajila/openj9 Oct 2, 2017
Fix invokespecial selection and loading constraints
sjkillen pushed a commit to themaplelab/openj9 that referenced this pull request Jun 24, 2019
dsouzai pushed a commit to dsouzai/openj9 that referenced this pull request Aug 29, 2019
…ator

Added CMD Options and JVMImage Header
fengxue-IS added a commit to fengxue-IS/openj9 that referenced this pull request Oct 4, 2019
Akira1Saitoh pushed a commit to Akira1Saitoh/openj9 that referenced this pull request Nov 7, 2019
Add compensation code to TR_UnloadedClassPicSite for aarch64.
This code uses _size member to check if the site is for address
materialization sequence.
Unlike arm or ppc, the lsb of the mov instruction of aarch64
is used for encoding the target register number. Thus, we cannot simply
set lsb of the patch location to invalidate it.
If _size is 4, we patch the pic location to `movz rX, eclipse-openj9#1`. Otherwise,
we store -1 to the pic location.

Signed-off-by: Akira Saitoh <[email protected]>
cathyzhyi pushed a commit to cathyzhyi/openj9 that referenced this pull request Feb 24, 2020
…lue-proto

Support in ILGen for defaultvalue bytecode instruction
knn-k added a commit to knn-k/openj9 that referenced this pull request May 30, 2020
This commit removes one instruction from the code generated by
asynccheckEvaluator() for AArch64.
(mov regY, #-1 + cmp regX, regY -> cmn regX, eclipse-openj9#1)

Signed-off-by: KONNO Kazuhiro <[email protected]>
klangman added a commit to klangman/openj9 that referenced this pull request Dec 12, 2022
Disable CLassLookahead because it is possible for static final field
value to be changes via reflection or the unsafe API.

1. Disable ClassLookahead. Similar to GVP, ClassLookahead is using
static analysis of static final field initialization code to provide
field information that is later used to make assumptions about the
field contents which might not be true if reflection or the unsafe
API is used to change static final field values. An environment
variable is introduced to allow ClassLookahead to be re-enable.

2. Apply a fix to ClassLookahead so that it does not not generate field
information for static final fields that can be initialized with
different values on different code paths. This fix is being applied in
case the ClassLookahead code is resurrected in the future since `eclipse-openj9#1`
above has disabled it globally.

3.Remove the code in IlGen what would replace array length checks with
hard coded obj array length values. This code would look for static
final fields that contain ClassLookahead fieldInfo and use the existence
of that information to permit the inspection of a heap object and
replace array length checks with a constant based on the current heap
object's array length. This fix is also applied as a safety measure
because the disabling of ClassLookahead (`eclipse-openj9#2` above) would effectively
disable this code path.

In general the only safe way to inspect at compile time heap objects
pointed to by static final fields is to us the "Static Final Field
Folding" optimization which uses OSR to invalidate any code which made
an assumptions based on the contents of a static final field when that
fields contents may have been modified by reflection.

Signed-off-by: Kevin Langman <[email protected]>
fengxue-IS added a commit to fengxue-IS/openj9 that referenced this pull request Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants