[crac] RFR: Extract crac functionality into OS-agnostic files [v7]

Roman Marchenko rmarchenko at openjdk.org
Thu Jun 29 12:45:57 UTC 2023

> CRaC-related functionality is moved to `crac*.hpp/cpp` files, and now it is in `crac` class instead of `os`.

Roman Marchenko has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains ten commits:

 - Merge branch 'openjdk:crac' into crac-extract
 - Merge pull request #1 from jankratochvil/crac-extract-jan
   Fix compilation errors:
 - Fix compilation errors:
   commit 5d2fe3461534d56b0408788c8d7c1b94f85530c0
   ../../src/hotspot/share/runtime/arguments.cpp: In static member function 'static jint Arguments::finalize_vm_init_args(bool)':
   ../../src/hotspot/share/runtime/arguments.cpp:3235:28: error: 'crac' has not been declared
    3235 |   if (CRaCCheckpointTo && !crac::prepare_checkpoint()) {
         |                            ^~~~
   ../../src/hotspot/share/prims/jvm.cpp: In function '_jobjectArray* JVM_Checkpoint(JNIEnv*, jarray, jobjectArray, jboolean, jlong)':
   ../../src/hotspot/share/prims/jvm.cpp:3853:16: error: 'crac' has not been declared
    3853 |   Handle ret = crac::checkpoint(fd_arr, obj_arr, dry_run, jcmd_stream, CHECK_NULL);
         |                ^~~~
   ../../src/hotspot/share/services/management.cpp: In function 'jlong get_long_attribute(jmmLongAttribute)':
   ../../src/hotspot/share/services/management.cpp:957:12: error: 'crac' has not been declared
     957 |     return crac::restore_start_time();
         |            ^~~~
   ../../src/hotspot/share/services/management.cpp:961:21: error: 'crac' has not been declared
     961 |       jlong ticks = crac::uptime_since_restore();
         |                     ^~~~
   Remove a no longer used declaration of os::Linux::checkpoint_restore().
 - Merge branch 'crac' into crac-extract
 - Merge branch 'crac' into crac-extract
 - Merge branch 'crac' into crac-extract
 - Getting rid of crac::Linux
 - Removing trailing spaces
 - Refactoring - extracted crac* files


Changes: https://git.openjdk.org/crac/pull/84/files
 Webrev: https://webrevs.openjdk.org/?repo=crac&pr=84&range=06
  Stats: 2383 lines in 12 files changed: 1227 ins; 1149 del; 7 mod
  Patch: https://git.openjdk.org/crac/pull/84.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/84/head:pull/84

PR: https://git.openjdk.org/crac/pull/84

More information about the crac-dev mailing list