jvm.h: (_Jv_GetNbArgs) added (_Jv_GetSafeArg) added (_Jv_SetArgs) added
2003-03-29 Mohan Embar <gnustuff@thisiscool.com> * include/jvm.h: (_Jv_GetNbArgs) added (_Jv_GetSafeArg) added (_Jv_SetArgs) added * prims.cc: (_Jv_GetNbArgs) implemented (_Jv_GetSafeArg) implemented (_Jv_SetArgs) implemented (_Jv_RunMain) use _Jv_SetArgs() instead of explicitly setting _Jv_argc and _Jv_argv * posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg() instead of _Jv_argv * java/lang/natRuntime.cc: (insertSystemProperties) use _Jv_GetSafeArg() instead of _Jv_argv From-SVN: r66067
This commit is contained in:
parent
ad4a34f0b9
commit
c4519773ca
5 changed files with 56 additions and 12 deletions
|
@ -1,3 +1,18 @@
|
||||||
|
2003-03-29 Mohan Embar <gnustuff@thisiscool.com>
|
||||||
|
|
||||||
|
* include/jvm.h: (_Jv_GetNbArgs) added
|
||||||
|
(_Jv_GetSafeArg) added
|
||||||
|
(_Jv_SetArgs) added
|
||||||
|
* prims.cc: (_Jv_GetNbArgs) implemented
|
||||||
|
(_Jv_GetSafeArg) implemented
|
||||||
|
(_Jv_SetArgs) implemented
|
||||||
|
(_Jv_RunMain) use _Jv_SetArgs() instead of explicitly
|
||||||
|
setting _Jv_argc and _Jv_argv
|
||||||
|
* posix.cc: (_Jv_ThisExecutable) use _Jv_GetSafeArg()
|
||||||
|
instead of _Jv_argv
|
||||||
|
* java/lang/natRuntime.cc: (insertSystemProperties) use
|
||||||
|
_Jv_GetSafeArg() instead of _Jv_argv
|
||||||
|
|
||||||
2003-04-23 Tom Tromey <tromey@redhat.com>
|
2003-04-23 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* resolve.cc (_Jv_PrepareClass): Round size up to alignment
|
* resolve.cc (_Jv_PrepareClass): Round size up to alignment
|
||||||
|
|
|
@ -352,7 +352,20 @@ extern "C"
|
||||||
jlong _Jv_remJ (jlong, jlong);
|
jlong _Jv_remJ (jlong, jlong);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the name of the running executable. */
|
/* Get the number of arguments (cf. argc) or 0 if our argument
|
||||||
|
list was never initialized. */
|
||||||
|
extern int _Jv_GetNbArgs (void);
|
||||||
|
|
||||||
|
/* Get the specified argument (cf. argv[index]) or "" if either
|
||||||
|
our argument list was never initialized or the specified index
|
||||||
|
is out of bounds. */
|
||||||
|
extern const char * _Jv_GetSafeArg (int index);
|
||||||
|
|
||||||
|
/* Sets our argument list. Can be used by programs with non-standard
|
||||||
|
entry points. */
|
||||||
|
extern void _Jv_SetArgs (int argc, const char **argv);
|
||||||
|
|
||||||
|
/* Get the name of the running executable. */
|
||||||
extern const char *_Jv_ThisExecutable (void);
|
extern const char *_Jv_ThisExecutable (void);
|
||||||
|
|
||||||
/* Return a pointer to a symbol in executable or loaded library. */
|
/* Return a pointer to a symbol in executable or loaded library. */
|
||||||
|
|
|
@ -108,10 +108,6 @@ _Jv_SetDLLSearchPath (const char *)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern int _Jv_argc;
|
|
||||||
extern const char **_Jv_argv;
|
|
||||||
// our process' command line arguments
|
|
||||||
|
|
||||||
void
|
void
|
||||||
java::lang::Runtime::exitInternal (jint status)
|
java::lang::Runtime::exitInternal (jint status)
|
||||||
{
|
{
|
||||||
|
@ -590,7 +586,7 @@ java::lang::Runtime::insertSystemProperties (java::util::Properties *newprops)
|
||||||
}
|
}
|
||||||
|
|
||||||
// The name used to invoke this process (argv[0] in C).
|
// The name used to invoke this process (argv[0] in C).
|
||||||
SET ("gnu.gcj.progname", _Jv_argv[0]);
|
SET ("gnu.gcj.progname", _Jv_GetSafeArg (0));
|
||||||
|
|
||||||
// Allow platform specific settings and overrides.
|
// Allow platform specific settings and overrides.
|
||||||
_Jv_platform_initProperties (newprops);
|
_Jv_platform_initProperties (newprops);
|
||||||
|
|
|
@ -25,9 +25,6 @@ details. */
|
||||||
extern "C" unsigned long long _clock (void);
|
extern "C" unsigned long long _clock (void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// platform-specific executable name
|
|
||||||
extern const char **_Jv_argv;
|
|
||||||
|
|
||||||
#if defined(HAVE_PROC_SELF_EXE)
|
#if defined(HAVE_PROC_SELF_EXE)
|
||||||
static char exec_name[20];
|
static char exec_name[20];
|
||||||
// initialized in _Jv_platform_initialize()
|
// initialized in _Jv_platform_initialize()
|
||||||
|
@ -41,7 +38,7 @@ const char *_Jv_ThisExecutable (void)
|
||||||
return exec_name;
|
return exec_name;
|
||||||
// initialized in _Jv_platform_initialize()
|
// initialized in _Jv_platform_initialize()
|
||||||
#else
|
#else
|
||||||
return _Jv_argv[0];
|
return _Jv_GetSafeArg (0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,30 @@ property_pair *_Jv_Environment_Properties;
|
||||||
const char **_Jv_argv;
|
const char **_Jv_argv;
|
||||||
int _Jv_argc;
|
int _Jv_argc;
|
||||||
|
|
||||||
|
// Argument support.
|
||||||
|
int
|
||||||
|
_Jv_GetNbArgs (void)
|
||||||
|
{
|
||||||
|
// _Jv_argc is 0 if not explicitly initialized.
|
||||||
|
return _Jv_argc;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
_Jv_GetSafeArg (int index)
|
||||||
|
{
|
||||||
|
if (index >=0 && index < _Jv_GetNbArgs ())
|
||||||
|
return _Jv_argv[index];
|
||||||
|
else
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_Jv_SetArgs (int argc, const char **argv)
|
||||||
|
{
|
||||||
|
_Jv_argc = argc;
|
||||||
|
_Jv_argv = argv;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_JVMPI
|
#ifdef ENABLE_JVMPI
|
||||||
// Pointer to JVMPI notification functions.
|
// Pointer to JVMPI notification functions.
|
||||||
void (*_Jv_JVMPI_Notify_OBJECT_ALLOC) (JVMPI_Event *event);
|
void (*_Jv_JVMPI_Notify_OBJECT_ALLOC) (JVMPI_Event *event);
|
||||||
|
@ -936,8 +960,7 @@ void
|
||||||
_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
|
_Jv_RunMain (jclass klass, const char *name, int argc, const char **argv,
|
||||||
bool is_jar)
|
bool is_jar)
|
||||||
{
|
{
|
||||||
_Jv_argv = argv;
|
_Jv_SetArgs (argc, argv);
|
||||||
_Jv_argc = argc;
|
|
||||||
|
|
||||||
java::lang::Runtime *runtime = NULL;
|
java::lang::Runtime *runtime = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue