Commit d640220c by Per Bothner

class.c: Remove some unused variables.

�
	* class.c:  Remove some unused variables.
	* constants.c (find_string_constant):  New function.
	(count_constant_pool_bytes):  Fix to correctly handle wide constants.
	* decl.c (complete_start_java_method):  Don't _Jv_InitClass
	if flag_emit_class_files.

From-SVN: r23616
parent 733b3a87
...@@ -422,7 +422,7 @@ add_method (this_class, access_flags, name, method_sig) ...@@ -422,7 +422,7 @@ add_method (this_class, access_flags, name, method_sig)
tree method_sig; tree method_sig;
{ {
tree handle_class = CLASS_TO_HANDLE_TYPE (this_class); tree handle_class = CLASS_TO_HANDLE_TYPE (this_class);
tree function_type, method_type, fndecl; tree function_type, fndecl;
unsigned char *sig = (unsigned char*)IDENTIFIER_POINTER (method_sig); unsigned char *sig = (unsigned char*)IDENTIFIER_POINTER (method_sig);
push_obstacks (&permanent_obstack, &permanent_obstack); push_obstacks (&permanent_obstack, &permanent_obstack);
if (sig[0] != '(') if (sig[0] != '(')
...@@ -1172,9 +1172,6 @@ append_gpp_mangled_type (obstack, type) ...@@ -1172,9 +1172,6 @@ append_gpp_mangled_type (obstack, type)
struct obstack *obstack; struct obstack *obstack;
tree type; tree type;
{ {
char buf[8];
int len;
char *ptr;
switch (TREE_CODE (type)) switch (TREE_CODE (type))
{ {
char code; char code;
......
...@@ -140,6 +140,18 @@ find_class_constant (cpool, type) ...@@ -140,6 +140,18 @@ find_class_constant (cpool, type)
build_internal_class_name (type)); build_internal_class_name (type));
} }
/* Allocate a CONSTANT_string entry given a STRING_CST. */
int
find_string_constant (cpool, string)
CPool *cpool;
tree string;
{
string = get_identifier (TREE_STRING_POINTER (string));
return find_class_or_string_constant (cpool, CONSTANT_String, string);
}
/* Find (or create) a CONSTANT_NameAndType matching NAME and TYPE. /* Find (or create) a CONSTANT_NameAndType matching NAME and TYPE.
Return its index in the constant pool CPOOL. */ Return its index in the constant pool CPOOL. */
...@@ -202,8 +214,7 @@ count_constant_pool_bytes (cpool) ...@@ -202,8 +214,7 @@ count_constant_pool_bytes (cpool)
{ {
int size = 2; int size = 2;
int i = 1; int i = 1;
jword *datap = &cpool->data[1];; for ( ; i < cpool->count; i++)
for ( ; i < cpool->count; i++, datap++)
{ {
size++; size++;
switch (cpool->tags[i]) switch (cpool->tags[i])
...@@ -222,15 +233,19 @@ count_constant_pool_bytes (cpool) ...@@ -222,15 +233,19 @@ count_constant_pool_bytes (cpool)
break; break;
case CONSTANT_Long: case CONSTANT_Long:
case CONSTANT_Double: case CONSTANT_Double:
size += 4; size += 8;
i++;
break; break;
case CONSTANT_Utf8: case CONSTANT_Utf8:
{ {
tree t = (tree) *datap; tree t = (tree) cpool->data[i];
int len = IDENTIFIER_LENGTH (t); int len = IDENTIFIER_LENGTH (t);
size += len + 2; size += len + 2;
} }
break; break;
default:
/* Second word of CONSTANT_Long and CONSTANT_Double. */
size--;
} }
} }
return size; return size;
......
...@@ -1482,7 +1482,8 @@ complete_start_java_method (fndecl) ...@@ -1482,7 +1482,8 @@ complete_start_java_method (fndecl)
#endif #endif
if (METHOD_STATIC (fndecl) && ! METHOD_PRIVATE (fndecl)) if (METHOD_STATIC (fndecl) && ! METHOD_PRIVATE (fndecl)
&& ! flag_emit_class_files)
{ {
tree clas = DECL_CONTEXT (fndecl); tree clas = DECL_CONTEXT (fndecl);
tree init = build (CALL_EXPR, void_type_node, tree init = build (CALL_EXPR, void_type_node,
......
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