hotspot/src/share/vm/runtime/arguments.cpp
changeset 8476 7e34c2d4cf9b
parent 8313 06ce193c8a5f
child 8681 c691d94813f9
child 8499 4f77360820d7
child 8650 45f6a91a52de
equal deleted inserted replaced
8475:c2b97a27943a 8476:7e34c2d4cf9b
    76 bool   Arguments::_java_compiler                = false;
    76 bool   Arguments::_java_compiler                = false;
    77 bool   Arguments::_xdebug_mode                  = false;
    77 bool   Arguments::_xdebug_mode                  = false;
    78 const char*  Arguments::_java_vendor_url_bug    = DEFAULT_VENDOR_URL_BUG;
    78 const char*  Arguments::_java_vendor_url_bug    = DEFAULT_VENDOR_URL_BUG;
    79 const char*  Arguments::_sun_java_launcher      = DEFAULT_JAVA_LAUNCHER;
    79 const char*  Arguments::_sun_java_launcher      = DEFAULT_JAVA_LAUNCHER;
    80 int    Arguments::_sun_java_launcher_pid        = -1;
    80 int    Arguments::_sun_java_launcher_pid        = -1;
       
    81 bool   Arguments::_created_by_gamma_launcher    = false;
    81 
    82 
    82 // These parameters are reset in method parse_vm_init_args(JavaVMInitArgs*)
    83 // These parameters are reset in method parse_vm_init_args(JavaVMInitArgs*)
    83 bool   Arguments::_AlwaysCompileLoopMethods     = AlwaysCompileLoopMethods;
    84 bool   Arguments::_AlwaysCompileLoopMethods     = AlwaysCompileLoopMethods;
    84 bool   Arguments::_UseOnStackReplacement        = UseOnStackReplacement;
    85 bool   Arguments::_UseOnStackReplacement        = UseOnStackReplacement;
    85 bool   Arguments::_BackgroundCompilation        = BackgroundCompilation;
    86 bool   Arguments::_BackgroundCompilation        = BackgroundCompilation;
  1654   }
  1655   }
  1655 }
  1656 }
  1656 
  1657 
  1657 void Arguments::process_java_launcher_argument(const char* launcher, void* extra_info) {
  1658 void Arguments::process_java_launcher_argument(const char* launcher, void* extra_info) {
  1658   _sun_java_launcher = strdup(launcher);
  1659   _sun_java_launcher = strdup(launcher);
       
  1660   if (strcmp("gamma", _sun_java_launcher) == 0) {
       
  1661     _created_by_gamma_launcher = true;
       
  1662   }
  1659 }
  1663 }
  1660 
  1664 
  1661 bool Arguments::created_by_java_launcher() {
  1665 bool Arguments::created_by_java_launcher() {
  1662   assert(_sun_java_launcher != NULL, "property must have value");
  1666   assert(_sun_java_launcher != NULL, "property must have value");
  1663   return strcmp(DEFAULT_JAVA_LAUNCHER, _sun_java_launcher) != 0;
  1667   return strcmp(DEFAULT_JAVA_LAUNCHER, _sun_java_launcher) != 0;
       
  1668 }
       
  1669 
       
  1670 bool Arguments::created_by_gamma_launcher() {
       
  1671   return _created_by_gamma_launcher;
  1664 }
  1672 }
  1665 
  1673 
  1666 //===========================================================================================================
  1674 //===========================================================================================================
  1667 // Parsing of main arguments
  1675 // Parsing of main arguments
  1668 
  1676 
  3153         !(FLAG_IS_CMDLINE(UseBiasedLocking))) {
  3161         !(FLAG_IS_CMDLINE(UseBiasedLocking))) {
  3154       UseBiasedLocking = false;
  3162       UseBiasedLocking = false;
  3155     }
  3163     }
  3156   }
  3164   }
  3157 
  3165 
       
  3166   // set PauseAtExit if the gamma launcher was used and a debugger is attached
       
  3167   // but only if not already set on the commandline
       
  3168   if (Arguments::created_by_gamma_launcher() && os::is_debugger_attached()) {
       
  3169     bool set = false;
       
  3170     CommandLineFlags::wasSetOnCmdline("PauseAtExit", &set);
       
  3171     if (!set) {
       
  3172       FLAG_SET_DEFAULT(PauseAtExit, true);
       
  3173     }
       
  3174   }
       
  3175 
  3158   return JNI_OK;
  3176   return JNI_OK;
  3159 }
  3177 }
  3160 
  3178 
  3161 int Arguments::PropertyList_count(SystemProperty* pl) {
  3179 int Arguments::PropertyList_count(SystemProperty* pl) {
  3162   int count = 0;
  3180   int count = 0;