summaryrefslogtreecommitdiff
path: root/gcc/melt/warmelt-first.melt
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-24 18:08:51 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2014-09-24 18:08:51 +0000
commit352678fc7c34f7fba3292538b35d9b7c07578d2c (patch)
tree08c63349c3982cc93f89e77186f538e305506d07 /gcc/melt/warmelt-first.melt
parentf595c37510a9a53d3c3a9771ded62b454e6a999a (diff)
downloadgcc-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.melt48
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")