diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-29 16:35:33 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-05-29 16:35:33 +0000 |
commit | 894593c869c8458619c12927b66b4e0e57f9257e (patch) | |
tree | 55488db88a4ef43a345e0a0421381d1495453b7c /gcc/lto-streamer.h | |
parent | 467fa2ada0cbc1b7b81db7567540e8e46dbca920 (diff) | |
download | gcc-894593c869c8458619c12927b66b4e0e57f9257e.tar.gz |
* lto-streamer-out.c (hash_string_slot_node): Hash string based on its
length.
(string_slot_free): Remove
(create_output_block): Initialize obstack.
(destroy_output_block): Free obstack.
(lto_string_index): Add PERSISTENT parameter; do not duplicate
the string unless it needs to be added into the hash.
(lto_output_string_with_length): Add persistent attribute;
handle NULL strings.
(lto_output_string): Add PERSISTENT parameter.
(output_string_cst, output_identifier): Simplify.
(lto_output_location_bitpack): Update.
(lto_output_builtin_tree): Update.
* lto-streamer.h (struct output_block): Add obstack.
(lto_output_string, lto_output_string_with_length): Remove declarations;
functions are static now.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174397 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/lto-streamer.h')
-rw-r--r-- | gcc/lto-streamer.h | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/lto-streamer.h b/gcc/lto-streamer.h index 150442d8d8d..e8410d4c70a 100644 --- a/gcc/lto-streamer.h +++ b/gcc/lto-streamer.h @@ -700,6 +700,10 @@ struct output_block /* Cache of nodes written in this section. */ struct lto_streamer_cache_d *writer_cache; + + /* All data persistent across whole duration of output block + can go here. */ + struct obstack obstack; }; @@ -873,13 +877,6 @@ extern struct output_block *create_output_block (enum lto_section_type); extern void destroy_output_block (struct output_block *); extern void lto_output_tree (struct output_block *, tree, bool); extern void produce_asm (struct output_block *ob, tree fn); -extern void lto_output_string (struct output_block *, - struct lto_output_stream *, - const char *); -extern void lto_output_string_with_length (struct output_block *, - struct lto_output_stream *, - const char *, - unsigned int); void lto_output_decl_state_streams (struct output_block *, struct lto_out_decl_state *); void lto_output_decl_state_refs (struct output_block *, |