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

Unify processor detection on Z #3956

Merged
merged 5 commits into from
Jan 17, 2019

Commits on Jan 17, 2019

  1. Deprecate TR_S390MachineType in favor of an integer machine id

    Avoid using an enumerated `TR_S390MachineType` type to represent
    machine ids to future proof the JVM running on a more modern processor
    for which we do not know the machine id for.
    
    A typical example of this is running an older JVM, say very early Java
    8 snapshots of OpenJ9 which did not have z14 support. In such cases the
    machine id for z14 would not match any of the existing machine ids in
    the codebase at the time and we would start reporting invalid machine
    ids in the verbose log ("0" to be precise).
    
    In this change we use the true machine id as parsed from z/OS or Linux
    on Z and display the number that is returned as an integer. The actual
    machine detection logic relies on the port library which uses STFLE
    bits to determine the processor we are executing on. This means
    processor detection is unaffected by our changes here.
    
    Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
    fjeremic committed Jan 17, 2019
    Configuration menu
    Copy the full SHA
    452c530 View commit details
    Browse the repository at this point in the history
  2. Assume STFLE bits are always available since ALS is z9

    In the JIT compiler, similarly to j9sysinfo.c we can assume STFLE bits
    are always available since our ALS is z9.
    
    Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
    fjeremic committed Jan 17, 2019
    Configuration menu
    Copy the full SHA
    7fe6127 View commit details
    Browse the repository at this point in the history
  3. Unify S390 processor feature initialization between z/OS and Linux

    Both z/OS and Linux should rely on the answers given by the port
    library on whether we support particular processor features. The code
    was already more or less the same between the two functions, however
    there were some redundancies in checking for OS support as the port
    library already takes care of this for us in j9sysinfo.c
    
    Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
    fjeremic committed Jan 17, 2019
    Configuration menu
    Copy the full SHA
    75a8448 View commit details
    Browse the repository at this point in the history
  4. Deprecate several unused functions in Z J9CPU

    Several of these functions are already implemented in j9sysinfo.c where
    they really belong. Deprecate the support in the JIT.
    
    Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
    fjeremic committed Jan 17, 2019
    Configuration menu
    Copy the full SHA
    221ea79 View commit details
    Browse the repository at this point in the history
  5. Add comment regarding utsname restriction on Linux on Z

    We cannot use `utsname` on Linux as it simply returns "s390x" in
    `info.machine`. Add a comment directly in the code as to why this
    restriction is there.
    
    Signed-off-by: Filip Jeremic <fjeremic@ca.ibm.com>
    fjeremic committed Jan 17, 2019
    Configuration menu
    Copy the full SHA
    fd8342d View commit details
    Browse the repository at this point in the history