JDK-6258968 : Global flags cleanup for C1 and C2
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P5
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2005-04-20
  • Updated: 2021-01-29
  • Resolved: 2005-06-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b35Fixed
Related Reports
Relates :  
Relates :  
Description
After Steve G. noadapters changes and switching to SS10 C++
the size of C2 VM on sparc was the smallest - about 9.3Mb.
After that the size increased to 9.45Mb (+150Kb) due to
new code. We need clean up.

Remove unused global flags.
Create new type "notproduct" of flags which are not
referenced in product version.
It reduces the C2 VM size by 70Kb on sparc.

###@###.### 2005-04-20 22:16:34 GMT

###@###.### 2005-04-27 18:24:10 GMT

Comments
SUGGESTED FIX Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050426174927.kvn.6258968/workspace/webrevs/webrev-2005.04.26/index.html This is the preputback for 6219945:"C2 virtual methods clean up". It was too large to do it as one putback. Remove unused global flags. Create new flags type "notproduct". Such flags are not referenced and are not defined in product version (develop flags are declared as const in product version and unused "const char*" flags still take space in VM). As I understand develop flags have 2 meanings now: first, debug flags we are using only in debug mode, and, second, product flags and values which we want to protect from modification in product mode. Moved part of debug flags (not all, only for C1 and C2) to notproduct. It reduces the build time and size of product VM. Notproduct flags can be used only inside the NOT_PRODUCT() macro and "ifndef PRODUCT ... #endif" which prevents accidental their use in product code. Removed not-used RecompilationMonitor class - remove files runtime/recompilationMonitor.*. I also tried to remove used CounterDecay class but it gives regression: http://alacrity.sfbay/query/ones.jsp?VersionSelector_baseline=1.6.0%7Ckvn_CntDecay_on_174338&VersionSelector=1.6.0%7Ckvn_CntDecayoff_174828&esum=Summary&pval=0.01&type_baseline=o&type_build=o Moved CounterDecay class definition into safepoint.* files where it is only used. Looked for code with "if(0 &&" or "if(false &&" or "#if 0" in C2 and C1 and deleted the code if its age is more then >3 years. Removed print statements which always print 0 in Phase::print_timers(). The method Phase::add_code_size() which sets _total_nmethods_size and _total_code_size is not called (the call site was removed long time ago). The code which updates _t_nativeCompilation and _t_adapterCompilation was removed by Steve's noadapters putback. This reduces C2 VM size on sparc to 9.4Mb (-50Kb). ###@###.### 2005-04-27 18:24:10 GMT
27-04-2005

EVALUATION See description. ###@###.### 2005-04-27 18:24:10 GMT
27-04-2005