You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

arguments-java8.patch 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. Adds AllowEnhancedClassRedefinition argument.
  2. diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
  3. --- a/src/share/vm/runtime/arguments.cpp
  4. +++ b/src/share/vm/runtime/arguments.cpp
  5. @@ -59,8 +59,8 @@
  6. #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
  7. #endif // INCLUDE_ALL_GCS
  8. -// Note: This is a special bug reporting site for the JVM
  9. -#define DEFAULT_VENDOR_URL_BUG "http://bugreport.sun.com/bugreport/crash.jsp"
  10. +// (DCEVM) The DCE VM has its own JIRA bug tracking system.
  11. +#define DEFAULT_VENDOR_URL_BUG "https://github.com/dcevm/dcevm/issues"
  12. #define DEFAULT_JAVA_LAUNCHER "generic"
  13. // Disable options not supported in this release, with a warning if they
  14. @@ -1507,6 +1507,10 @@
  15. void Arguments::set_ergonomics_flags() {
  16. + if (AllowEnhancedClassRedefinition) {
  17. + // (DCEVM) enforces serial GC
  18. + FLAG_SET_ERGO(bool, UseSerialGC, true);
  19. + }
  20. if (os::is_server_class_machine()) {
  21. // If no other collector is requested explicitly,
  22. // let the VM select the collector based on
  23. @@ -1948,6 +1952,17 @@
  24. if (UseConcMarkSweepGC || UseParNewGC) i++;
  25. if (UseParallelGC || UseParallelOldGC) i++;
  26. if (UseG1GC) i++;
  27. +
  28. + if (AllowEnhancedClassRedefinition) {
  29. + // (DCEVM) Must use serial GC. This limitation applies because the instance size changing GC modifications
  30. + // are only built into the mark and compact algorithm.
  31. + if (!UseSerialGC && i >= 1) {
  32. + jio_fprintf(defaultStream::error_stream(),
  33. + "Must use the serial GC in the DCEVM\n");
  34. + status = false;
  35. + }
  36. + }
  37. +
  38. if (i > 1) {
  39. jio_fprintf(defaultStream::error_stream(),
  40. "Conflicting collector combinations in option list; "
  41. diff --git a/src/share/vm/runtime/globals.hpp b/src/share/vm/runtime/globals.hpp
  42. --- a/src/share/vm/runtime/globals.hpp
  43. +++ b/src/share/vm/runtime/globals.hpp
  44. @@ -1273,6 +1273,9 @@
  45. product(intx, TraceRedefineClasses, 0, \
  46. "Trace level for JVMTI RedefineClasses") \
  47. \
  48. + product(bool, AllowEnhancedClassRedefinition, true, \
  49. + "Allow enhanced class redefinition beyond swapping method bodies")\
  50. + \
  51. develop(bool, StressMethodComparator, false, \
  52. "Run the MethodComparator on all loaded methods") \
  53. \