diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-24 18:08:51 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-09-24 18:08:51 +0000 |
commit | 352678fc7c34f7fba3292538b35d9b7c07578d2c (patch) | |
tree | 08c63349c3982cc93f89e77186f538e305506d07 /gcc/melt/warmelt-first.melt | |
parent | f595c37510a9a53d3c3a9771ded62b454e6a999a (diff) | |
download | gcc-352678fc7c34f7fba3292538b35d9b7c07578d2c.tar.gz |
2014-09-24 Basile Starynkevitch <basile@starynkevitch.net>
* melt-runtime.h (melt_hash_mapobjects, melt_hash_mapstrings): New
functions.
* melt-runtime.cc (meltgc_raw_new_mappointers): Fill meltmap_hash.
* melt/warmelt-first.melt (class_ctype_gty): Add ctypg_maphashfun
field.
(ctype_tree, ctype_gimple, ctype_gimple_seq, ctype_edge)
(ctype_loop, ctype_rtx, ctype_bitmap): Fill it.
* melt/warmelt-base.melt (valdesc_mapobjects, valdesc_mapstrings):
Fill the meltmap_hash field.
* melt/warmelt-modes.melt (generate_runtypesupport_forwcopy_fun)
(generate_runtypesupport_mapfun): Fill the hash and generate the
hash function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@215561 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/melt/warmelt-first.melt')
-rw-r--r-- | gcc/melt/warmelt-first.melt | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/gcc/melt/warmelt-first.melt b/gcc/melt/warmelt-first.melt index 5700052a16c..43193eeca12 100644 --- a/gcc/melt/warmelt-first.melt +++ b/gcc/melt/warmelt-first.melt @@ -399,6 +399,7 @@ runtime!}# ) ctypg_mapauxdatafun ;name of map auxiliary data retrieval function ctypg_mapauxputfun ;name of map auxiliary data put function + ctypg_maphashfun ;name of hash function ) :doc #{The $CLASS_CTYPE_GTY is a subclass of $CLASS_CTYPE and describes C types which are GTY-ed, that is handled by the Ggc [the @@ -2784,6 +2785,7 @@ list.}# :ctypg_mapnvalfun '"melt_nthval_maptrees" :ctypg_mapauxdatafun '"melt_auxdata_maptrees" :ctypg_mapauxputfun '"melt_auxput_maptrees" + :ctypg_maphashfun '"melt_hash_maptrees" ) (install_ctype_descr ctype_tree "GCC tree pointer") @@ -2823,7 +2825,8 @@ list.}# :ctypg_mapnattfun '"melt_nthattr_mapgimples" :ctypg_mapnvalfun '"melt_nthval_mapgimples" :ctypg_mapauxdatafun '"melt_auxdata_mapgimples" - :ctypg_mapauxputfun '"melt_auxput_mapgimples" + :ctypg_mapauxputfun '"melt_auxput_mapgimples" + :ctypg_maphashfun '"melt_hash_mapgimples" ) (install_ctype_descr ctype_gimple "GCC gimple pointer") @@ -2865,7 +2868,8 @@ Keyword is :gimple_seq. Notice that @code{gimple_seq} is a typedef for @code{gim :ctypg_mapnattfun '"melt_nthattr_mapgimpleseqs" :ctypg_mapnvalfun '"melt_nthval_mapgimpleseqs" :ctypg_mapauxdatafun '"melt_auxdata_mapgimpleseqs" - :ctypg_mapauxputfun '"melt_auxput_mapgimpleseqs" + :ctypg_mapauxputfun '"melt_auxput_mapgimpleseqs" + :ctypg_maphashfun '"melt_hash_mapgimples" ) (install_ctype_descr ctype_gimple_seq "GCC gimple_seq pointer") @@ -2907,7 +2911,8 @@ Keyword is :basic_block.}# :ctypg_mapnattfun '"melt_nthattr_mapbasicblocks" :ctypg_mapnvalfun '"melt_nthval_mapbasicblocks" :ctypg_mapauxdatafun '"melt_auxdata_mapbasicblocks" - :ctypg_mapauxputfun '"melt_auxput_mapbasicblocks" + :ctypg_mapauxputfun '"melt_auxput_mapbasicblocks" + :ctypg_maphashfun '"melt_hash_mapbasicblocks" ) (install_ctype_descr ctype_basic_block "GCC basic_block") @@ -2947,8 +2952,9 @@ Keyword is :edge.}# :ctypg_mapsizefun '"melt_size_mapedges" :ctypg_mapnattfun '"melt_nthattr_mapedges" :ctypg_mapnvalfun '"melt_nthval_mapedges" - :ctypg_mapauxdatafun '"melt_auxdata_mapedges" - :ctypg_mapauxputfun '"melt_auxput_mapedges" + :ctypg_mapauxdatafun '"melt_auxdata_mapedges" + :ctypg_mapauxputfun '"melt_auxput_mapedges" + :ctypg_maphashfun '"melt_hash_mapedges" ) (install_ctype_descr ctype_edge "GCC edge") @@ -2990,6 +2996,7 @@ Keyword is :loop.}# :ctypg_mapnvalfun '"melt_nthval_maploops" :ctypg_mapauxdatafun '"melt_auxdata_maploops" :ctypg_mapauxputfun '"melt_auxput_maploops" + :ctypg_maphashfun '"melt_hash_maploops" ) (install_ctype_descr ctype_loop "GCC loop") @@ -3016,20 +3023,21 @@ Keyword is :rtx.}# :ctypg_mapstruct '"meltmaprtxs_st" ;; :ctypg_boxdiscr discr_rtx :ctypg_mapdiscr discr_map_rtxs - :ctypg_mapunimemb '"u_maprtxs" - :ctypg_boxfun '"meltgc_new_rtx" - :ctypg_unboxfun '"melt_rtx_content" - :ctypg_updateboxfun '"meltgc_rtx_updatebox" - :ctypg_newmapfun '"meltgc_new_maprtxs" - :ctypg_mapgetfun '"melt_get_maprtxs" - :ctypg_mapputfun '"melt_put_maprtxs" - :ctypg_mapremovefun '"melt_remove_maprtxs" - :ctypg_mapcountfun '"melt_count_maprtxs" - :ctypg_mapsizefun '"melt_size_maprtxs" - :ctypg_mapnattfun '"melt_nthattr_maprtxs" - :ctypg_mapnvalfun '"melt_nthval_maprtxs" - :ctypg_mapauxdatafun '"melt_auxdata_maprtxs" + :ctypg_mapunimemb '"u_maprtxs" + :ctypg_boxfun '"meltgc_new_rtx" + :ctypg_unboxfun '"melt_rtx_content" + :ctypg_updateboxfun '"meltgc_rtx_updatebox" + :ctypg_newmapfun '"meltgc_new_maprtxs" + :ctypg_mapgetfun '"melt_get_maprtxs" + :ctypg_mapputfun '"melt_put_maprtxs" + :ctypg_mapremovefun '"melt_remove_maprtxs" + :ctypg_mapcountfun '"melt_count_maprtxs" + :ctypg_mapsizefun '"melt_size_maprtxs" + :ctypg_mapnattfun '"melt_nthattr_maprtxs" + :ctypg_mapnvalfun '"melt_nthval_maprtxs" + :ctypg_mapauxdatafun '"melt_auxdata_maprtxs" :ctypg_mapauxputfun '"melt_auxput_maprtxs" + :ctypg_maphashfun '"melt_hash_maprtxs" ) (install_ctype_descr ctype_rtx "GCC rtx") @@ -3069,7 +3077,8 @@ Keyword is :bitmap.}# :ctypg_mapnattfun '"melt_nthattr_mapbitmaps" :ctypg_mapnvalfun '"melt_nthval_mapbitmaps" :ctypg_mapauxdatafun '"melt_auxdata_mapbitmaps" - :ctypg_mapauxputfun '"melt_auxput_mapbitmaps" + :ctypg_mapauxputfun '"melt_auxput_mapbitmaps" + :ctypg_maphashfun '"melt_hash_mapbitmaps" ) (install_ctype_descr ctype_bitmap "GCC bitmap") @@ -3110,6 +3119,7 @@ Keyword is :rtvec.}# :ctypg_mapnvalfun '"melt_nthval_maprtvecs" :ctypg_mapauxdatafun '"melt_auxdata_maprtvecs" :ctypg_mapauxputfun '"melt_auxput_maprtvecs" + :ctypg_maphashfun '"melt_hash_maprtvecs" ) (install_ctype_descr ctype_rtvec "GCC rtvec") |