Commit f5ea88a3 by Bryce McKinlay

[multiple changes]

2005-05-12  Bryce McKinlay  <mckinlay@redhat.com>

	* include/jvm.h (gcj::verifyClasses): Declare.
	* link.cc (gcj::verbose_class_flag): Moved.
	* prims.cc (gcj::verifyClasses): Define here.
	(gcj::verbose_class_flag): Move definition here.
	(_Jv_Linker::wait_for_state): Don't call verify_class
	if gcj::verifyClasses is not set.
	* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.

2005-05-12  Aaron Luchko  <aluchko@redhat.com>

	* gij.cc (main): Recognize '-verify', '-noverify', and
	'-verifyremote'

2005-05-12  Aaron Luchko <aluchko@redhat.com>

        * gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.

From-SVN: r99646
parent 87255f60
2005-05-12 Aaron Luchko <aluchko@redhat.com>
* gcj.texi: Add '-verify', '-noverify', and '-verifyremote'.
2005-05-11 Tom Tromey <tromey@redhat.com> 2005-05-11 Tom Tromey <tromey@redhat.com>
* gcj.texi (Code Generation): Document -fbootstrap-classes. * gcj.texi (Code Generation): Document -fbootstrap-classes.
......
...@@ -1095,6 +1095,11 @@ Equivalent to @code{-Xms}. ...@@ -1095,6 +1095,11 @@ Equivalent to @code{-Xms}.
@item -mx=@var{number} @item -mx=@var{number}
Equivalent to @code{-Xmx}. Equivalent to @code{-Xmx}.
@item -noverify
Do not verify compliance of bytecode with the VM specification. In addition,
this option disables type verification which is otherwise performed on BC-ABI
compiled code.
@item -X @item -X
@itemx -X@var{argument} @itemx -X@var{argument}
Supplying @code{-X} by itself will cause @code{gij} to list all the Supplying @code{-X} by itself will cause @code{gij} to list all the
...@@ -1137,7 +1142,8 @@ Each time a class is initialized, print a short message on standard error. ...@@ -1137,7 +1142,8 @@ Each time a class is initialized, print a short message on standard error.
compatibility with existing application launch scripts: compatibility with existing application launch scripts:
@code{-client}, @code{-server}, @code{-hotspot}, @code{-jrockit}, @code{-client}, @code{-server}, @code{-hotspot}, @code{-jrockit},
@code{-agentlib}, @code{-agentpath}, @code{-debug}, @code{-d32}, @code{-agentlib}, @code{-agentpath}, @code{-debug}, @code{-d32},
@code{-d64}, @code{-javaagent} and @code{-noclassgc}. @code{-d64}, @code{-javaagent}, @code{-noclassgc}, @code{-verify},
and @code{-verifyremote}.
@c man end @c man end
......
2005-05-12 Bryce McKinlay <mckinlay@redhat.com>
* include/jvm.h (gcj::verifyClasses): Declare.
* link.cc (gcj::verbose_class_flag): Moved.
* prims.cc (gcj::verifyClasses): Define here.
(gcj::verbose_class_flag): Move definition here.
(_Jv_Linker::wait_for_state): Don't call verify_class
if gcj::verifyClasses is not set.
* gij.cc (main): Set gcj::verifyClasses when '-noverify' is given.
2005-05-12 Aaron Luchko <aluchko@redhat.com>
* gij.cc (main): Recognize '-verify', '-noverify', and
'-verifyremote'
2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org> 2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
* configure.host: Set IEEESPEC to -mieee for sh*-*-*. * configure.host: Set IEEESPEC to -mieee for sh*-*-*.
......
...@@ -296,6 +296,14 @@ main (int argc, char const** argv) ...@@ -296,6 +296,14 @@ main (int argc, char const** argv)
nonstandard_opts_help (); nonstandard_opts_help ();
else if (! strncmp (arg, "-X", 2)) else if (! strncmp (arg, "-X", 2))
add_option (vm_args, arg, NULL); add_option (vm_args, arg, NULL);
// Obsolete options recognized for backwards-compatibility.
else if (! strcmp (arg, "-verify")
|| ! strcmp (arg, "-verifyremote"))
continue;
else if (! strcmp (arg, "-noverify"))
{
gcj::verifyClasses = false;
}
else else
{ {
fprintf (stderr, "gij: unrecognized option -- `%s'\n", argv[i]); fprintf (stderr, "gij: unrecognized option -- `%s'\n", argv[i]);
......
...@@ -230,6 +230,9 @@ namespace gcj ...@@ -230,6 +230,9 @@ namespace gcj
/* Print out class names as they are initialized. */ /* Print out class names as they are initialized. */
extern bool verbose_class_flag; extern bool verbose_class_flag;
/* When true, enable the bytecode verifier and BC-ABI verification. */
extern bool verifyClasses;
} }
// This class handles all aspects of class preparation and linking. // This class handles all aspects of class preparation and linking.
......
...@@ -44,9 +44,6 @@ details. */ ...@@ -44,9 +44,6 @@ details. */
using namespace gcj; using namespace gcj;
// When true, print debugging information about class loading.
bool gcj::verbose_class_flag;
typedef unsigned int uaddr __attribute__ ((mode (pointer))); typedef unsigned int uaddr __attribute__ ((mode (pointer)));
template<typename T> template<typename T>
...@@ -1728,7 +1725,8 @@ _Jv_Linker::wait_for_state (jclass klass, int state) ...@@ -1728,7 +1725,8 @@ _Jv_Linker::wait_for_state (jclass klass, int state)
if (state >= JV_STATE_LINKED && klass->state < JV_STATE_LINKED) if (state >= JV_STATE_LINKED && klass->state < JV_STATE_LINKED)
{ {
verify_class (klass); if (gcj::verifyClasses)
verify_class (klass);
ensure_class_linked (klass); ensure_class_linked (klass);
link_exception_table (klass); link_exception_table (klass);
......
...@@ -953,6 +953,12 @@ namespace gcj ...@@ -953,6 +953,12 @@ namespace gcj
_Jv_Utf8Const *finit_name; _Jv_Utf8Const *finit_name;
bool runtimeInitialized = false; bool runtimeInitialized = false;
// When true, print debugging information about class loading.
bool verbose_class_flag;
// When true, enable the bytecode verifier and BC-ABI type verification.
bool verifyClasses = true;
} }
// We accept all non-standard options accepted by Sun's java command, // We accept all non-standard options accepted by Sun's java command,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment