You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by dl...@apache.org on 2007/08/12 23:44:43 UTC
svn commit: r565163 -
/harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h
Author: dlydick
Date: Sun Aug 12 14:44:42 2007
New Revision: 565163
URL: http://svn.apache.org/viewvc?view=rev&rev=565163
Log:
Use double-hyphen prefix to custom options.
Define JVMCFG_COMMAND_LINE_SWITCH for normal options,
especially needed for utilities like 'jar'.
Support conditional compilation of 'tmparea' facility
via JVMCFG_TMPAREA_IN_USE macro.
Added jvm_attribute_index_native and jvm_attribute_index_abstract.
Modified:
harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h
Modified: harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h?view=diff&rev=565163&r1=565162&r2=565163
==============================================================================
--- harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h (original)
+++ harmony/enhanced/sandbox/bootjvm/bootJVM/jvm/src/jvmcfg.h Sun Aug 12 14:44:42 2007
@@ -151,6 +151,9 @@
#define JVMCFG_EXTENSION_DELIMITER_CHAR '.'
#define JVMCFG_EXTENSION_DELIMITER_STRING "."
+#define JVMCFG_PATHNAME_VOLUME_DELIMITER_CHAR '.'
+#define JVMCFG_PATHNAME_VOLUME_DELIMITER_STRING "."
+
#else
#define JVMCFG_PATHNAME_DELIMITER_CHAR '/'
#define JVMCFG_PATHNAME_DELIMITER_STRING "/"
@@ -195,35 +198,45 @@
* @brief Command line option to show command line help.
*
*/
-#define JVMCFG_COMMAND_LINE_HELP_PARM "-help"
+#define JVMCFG_COMMAND_LINE_HELP_PARM "--help"
/*!
* @brief Command line option to show software license.
*
*/
-#define JVMCFG_COMMAND_LINE_LICENSE_PARM "-license"
+#define JVMCFG_COMMAND_LINE_LICENSE_PARM "--license"
/*!
* @brief Command line option to show program version number.
*
*/
-#define JVMCFG_COMMAND_LINE_VERSION_PARM "-version"
+#define JVMCFG_COMMAND_LINE_VERSION_PARM "--version"
/*!
* @brief Command line option to show program copyright message.
*
*/
-#define JVMCFG_COMMAND_LINE_COPYRIGHT_PARM "-copyright"
+#define JVMCFG_COMMAND_LINE_COPYRIGHT_PARM "--copyright"
/*!
* @brief Command line option to show program options.
*
*/
-#define JVMCFG_COMMAND_LINE_SHOW_PARM "-show"
+#define JVMCFG_COMMAND_LINE_SHOW_PARM "--show"
+
+/*!
+ * @brief Command line option switch notification for all other options.
+ *
+ * This is not needed in the JVM itself, but is for utilities
+ * such as JAR. Its use is optional in some utilities, but mandatory
+ * for others, typically depending on legacy requirements.
+ *
+ */
+#define JVMCFG_COMMAND_LINE_SWITCH '-'
/*@} */ /* End of grouped definitions */
@@ -273,6 +286,26 @@
/*!
+ * @brief Enable temporary directory creation and use as disk scratchpad
+ *
+ * When disabled, @e no temporary director will be created and cannot
+ * be used. It initial purpose was for facilitating Java archiving
+ * activities during development of the JVM, but it has been retained
+ * in this form for a time when and if it could be otherwise useful.
+ *
+ * This symbol @e must be resolvable at compile-time instead of run
+ * time, so @b 0 and @b 1 are the values recommended, representing
+ * not in use and in use, respectively.
+ *
+ * @see tmparea_init()
+ * @see tmparea_get()
+ * @see tmparea_shutdown()
+ *
+ */
+#define JVMCFG_TMPAREA_IN_USE 0
+
+
+/*!
* @brief Default @b CLASSPATH to current directory only.
*
*/
@@ -287,7 +320,11 @@
* @link #JVMCFG_BOOTCLASSPATH_FULL_PARM -Xbootclasspath@endlink.
*
*/
+#if JVMCFG_TMPAREA_IN_USE
#define JVMCFG_BOOTCLASSPATH_DEFAULT tmparea_get()
+#else
+#define JVMCFG_BOOTCLASSPATH_DEFAULT "." /* Current directory */
+#endif
/*@} */ /* End of grouped definitions */
@@ -566,7 +603,7 @@
* loop until it is enabled!
*
*/
-#define JVMCFG_TIMESLICE_PERIOD_ENABLE rfalse
+#define JVMCFG_TIMESLICE_PERIOD_ENABLE rtrue
/*!
* @brief JVM interval timer period (seconds)
@@ -839,10 +876,40 @@
/*!
* @brief Bad attribute slot,usually "not found"
*
+ * @see JVMCFG_NATIVE_METHOD_ATTRIBUTE
+ * @see JVMCFG_ABSTRACT_METHOD_ATTRIBUTE
*/
#define JVMCFG_BAD_ATTRIBUTE 65535
/*!
+ * @brief Real machine marker for native method
+ *
+ */
+extern const jvm_attribute_index jvm_attribute_index_native;
+
+/*!
+ * @brief Native method slot, no code attribute
+ *
+ * @see JVMCFG_BAD_ATTRIBUTE
+ * @see JVMCFG_ABSTRACT_METHOD_ATTRIBUTE
+ */
+#define JVMCFG_NATIVE_METHOD_ATTRIBUTE 65534
+
+/*!
+ * @brief Abstract method slot,no code attribute
+ *
+ */
+extern const jvm_attribute_index jvm_attribute_index_abstract;
+
+/*!
+ * @brief Abstract method attribute slot, no code attribute
+ *
+ * @see JVMCFG_NATIVE_METHOD_ATTRIBUTE
+ * @see JVMCFG_BAD_ATTRIBUTE
+ */
+#define JVMCFG_ABSTRACT_METHOD_ATTRIBUTE 65533
+
+/*!
* @brief Annotation table indices all use this type
*
*/
@@ -923,12 +990,6 @@
jvm_element_value_pair_index_bad;
/*!
- * @brief Real machine marker for native method
- *
- */
-extern const jvm_attribute_index jvm_attribute_index_native;
-
-/*!
* @brief Ordinal number for local native method
*
*/
@@ -986,12 +1047,6 @@
#define JVMCFG_JLOBJECT_NMO_UNREGISTER 2
/*!
- * @brief Native method slot,no code attribute
- *
- */
-#define JVMCFG_NATIVE_METHOD_ATTRIBUTE 65534
-
-/*!
* @brief UTF8 string table indices all use this type
*
*/
@@ -1286,6 +1341,24 @@
* When that happens, only those initializion phases that were
* complete are reversed and cleaned up.
*
+ * Each of these symbols may have another controlling role in the
+ * behavior of their corresponding subsystem. Of particular interest
+ * is @b jvm_completely_initialized because it forces use of the
+ * system thread to run all <b><code><clinit></code></b>
+ * and <b><code><init></code></b> methods at the startup of
+ * the machine since the thread mechanism, although in place, does
+ * not necessarily have @c @b java.lang.Thread loaded.
+ *
+ * @note There are actually other related symbols, but each of them
+ * is scoped as <b><code>static</code></b> since it is only
+ * used in @link jvm/src/jvm.c jvm.c@endlink or it is referenced
+ * by a function that is called to initialize not only the JVM
+ * but a utility. For example, see
+ * @link #HEAP_INIT() HEAP_INIT()@endlink. This function is
+ * needed to initialize all utilities as well as the JVM.
+ * An <b><code>(rboolean *)</code></b> is passed as a parameter
+ * to functions such as this with the flag local to that utility.
+ *
*/
/*@{ */ /* Begin grouped definitions */
@@ -1295,14 +1368,11 @@
extern rboolean jvm_thread_initialized;
extern rboolean jvm_class_initialized;
extern rboolean jvm_object_initialized;
-extern rboolean jvm_argv_initialized;
extern rboolean jvm_classpath_initialized;
-extern rboolean jvm_tmparea_initialized;
-extern rboolean jvm_heap_initialized;
-extern rboolean jvm_model_initialized;
/*@} */ /* End of grouped definitions */
+
/*!
* @name Temporary disk area script support
*
@@ -1350,17 +1420,29 @@
#ifdef CONFIG_WINDOWS
+/*!
+ * @deprecated Only put in place for initial testing.
+ */
#define JVMCFG_JARFILE_DATA_EXTRACT_SCRIPT \
".\\jjdes.bat %s %s %s %c %s %s "
+/*!
+ * @deprecated Only put in place for initial testing.
+ */
#define JVMCFG_JARFILE_MANIFEST_EXTRACT_SCRIPT \
"jjmes %S %S %S"
#else
+/*!
+ * @deprecated Only put in place for initial testing.
+ */
#define JVMCFG_JARFILE_DATA_EXTRACT_SCRIPT \
"chdir %s; %s/bin/jar -xf %s%c%s %s; chmod -R +w ."
+/*!
+ * @deprecated Only put in place for initial testing.
+ */
#define JVMCFG_JARFILE_MANIFEST_EXTRACT_SCRIPT \
"chdir %s; %s/bin/jar -xf %s; chmod -R +w ."