public inbox for java-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* PING: Re: [patch 6/10] debug-early merge: Java front-end
       [not found] <554C0526.5090206@redhat.com>
@ 2015-05-20 22:32 ` Aldy Hernandez
  2015-05-21  7:09   ` Andrew Haley
  0 siblings, 1 reply; 2+ messages in thread
From: Aldy Hernandez @ 2015-05-20 22:32 UTC (permalink / raw)
  To: gcc-patches, java-patches

[-- Attachment #1: Type: text/plain, Size: 64 bytes --]

Perhaps I should've sent this to the java-patches list.

PING.


[-- Attachment #2: dearly-java.patch --]
[-- Type: text/x-patch, Size: 3952 bytes --]

gcc/java/

	* class.c: Remove pending_static_fields.
	(add_field): Remove use of pending_static_fields.
	(java_write_globals): Remove.
	* decl.c (java_mark_class_local): Remove use of
	pending_static_fields.
	* java-tree.h: Remove pending_static_fields and
	java_write_globals.
	* jcf-parse.c (java_parse_file): Call global_decl_processing.
	* lang.c (LANG_HOOKS_WRITE_GLOBALS): Remove.

diff --git a/gcc/java/class.c b/gcc/java/class.c
index d1adb58..ded4f83 100644
--- a/gcc/java/class.c
+++ b/gcc/java/class.c
@@ -123,10 +123,6 @@ static GTY(()) vec<tree, va_gc> *registered_class;
    currently being compiled.  */
 static GTY(()) tree this_classdollar;
 
-/* A list of static class fields.  This is to emit proper debug
-   info for them.  */
-vec<tree, va_gc> *pending_static_fields;
-
 /* Return the node that most closely represents the class whose name
    is IDENT.  Start the search from NODE (followed by its siblings).
    Return NULL if an appropriate node does not exist.  */
@@ -895,8 +891,6 @@ add_field (tree klass, tree name, tree field_type, int flags)
       /* Considered external unless we are compiling it into this
 	 object file.  */
       DECL_EXTERNAL (field) = (is_compiled_class (klass) != 2);
-      if (!DECL_EXTERNAL (field))
-	vec_safe_push (pending_static_fields, field);
     }
 
   return field;
@@ -3273,17 +3267,4 @@ in_same_package (tree name1, tree name2)
   return (pkg1 == pkg2);
 }
 
-/* lang_hooks.decls.final_write_globals: perform final processing on
-   global variables.  */
-
-void
-java_write_globals (void)
-{
-  tree *vec = vec_safe_address (pending_static_fields);
-  int len = vec_safe_length (pending_static_fields);
-  write_global_declarations ();
-  emit_debug_global_declarations (vec, len);
-  vec_free (pending_static_fields);
-}
-
 #include "gt-java-class.h"
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 72133b4..80765c7 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -1971,11 +1971,7 @@ java_mark_class_local (tree klass)
 
   for (t = TYPE_FIELDS (klass); t ; t = DECL_CHAIN (t))
     if (FIELD_STATIC (t))
-      {
-	if (DECL_EXTERNAL (t))
-	  vec_safe_push (pending_static_fields, t);
-	java_mark_decl_local (t);
-      }
+      java_mark_decl_local (t);
 
   for (t = TYPE_METHODS (klass); t ; t = DECL_CHAIN (t))
     if (!METHOD_ABSTRACT (t))
diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h
index 22c9789..58a60b8 100644
--- a/gcc/java/java-tree.h
+++ b/gcc/java/java-tree.h
@@ -1194,10 +1194,6 @@ extern void rewrite_reflection_indexes (void *);
 
 int cxx_keyword_p (const char *name, int length);
 
-extern GTY(()) vec<tree, va_gc> *pending_static_fields;
-
-extern void java_write_globals (void);   
-
 #define DECL_FINAL(DECL) DECL_LANG_FLAG_3 (DECL)
 
 /* Access flags etc for a method (a FUNCTION_DECL): */
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c
index e609331..8042a02 100644
--- a/gcc/java/jcf-parse.c
+++ b/gcc/java/jcf-parse.c
@@ -60,6 +60,7 @@ The Free Software Foundation is independent of Sun Microsystems, Inc.  */
 #include "bitmap.h"
 #include "target.h"
 #include "wide-int.h"
+#include "toplev.h"
 
 #ifdef HAVE_LOCALE_H
 #include <locale.h>
@@ -2001,6 +2002,9 @@ java_parse_file (void)
   /* Arrange for any necessary initialization to happen.  */
   java_emit_static_constructor ();
   gcc_assert (global_bindings_p ());
+
+  /* Do final processing on globals.  */
+  global_decl_processing ();
 }
 
 
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index dac322d..9654ace 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -149,8 +149,6 @@ struct GTY(()) language_function {
 #define LANG_HOOKS_DECL_PRINTABLE_NAME lang_printable_name
 #undef LANG_HOOKS_PRINT_ERROR_FUNCTION
 #define LANG_HOOKS_PRINT_ERROR_FUNCTION	java_print_error_function
-#undef LANG_HOOKS_WRITE_GLOBALS
-#define LANG_HOOKS_WRITE_GLOBALS java_write_globals
 
 #undef LANG_HOOKS_TYPE_FOR_MODE
 #define LANG_HOOKS_TYPE_FOR_MODE java_type_for_mode

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: PING: Re: [patch 6/10] debug-early merge: Java front-end
  2015-05-20 22:32 ` PING: Re: [patch 6/10] debug-early merge: Java front-end Aldy Hernandez
@ 2015-05-21  7:09   ` Andrew Haley
  0 siblings, 0 replies; 2+ messages in thread
From: Andrew Haley @ 2015-05-21  7:09 UTC (permalink / raw)
  To: Aldy Hernandez, gcc-patches, java-patches

On 20/05/15 23:32, Aldy Hernandez wrote:
> Perhaps I should've sent this to the java-patches list.
> 
> PING.

OK, I believe it.

Andrew.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-05-21  7:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <554C0526.5090206@redhat.com>
2015-05-20 22:32 ` PING: Re: [patch 6/10] debug-early merge: Java front-end Aldy Hernandez
2015-05-21  7:09   ` Andrew Haley

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).