X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=mono.git;a=blobdiff_plain;f=mono%2Fsgen%2Fgc-internal-agnostic.h;h=f1c887b5754f0e529afb8890c8a288e788c9c35c;hp=fef115796dd1b0d8f4553879d55c653c44959f54;hb=a984f20e232d863a9d3b7848023f78816aa282e7;hpb=3e9d7d6e9cf8dc33eb29c497c350a1cd7df3a057 diff --git a/mono/sgen/gc-internal-agnostic.h b/mono/sgen/gc-internal-agnostic.h index fef115796dd..f1c887b5754 100644 --- a/mono/sgen/gc-internal-agnostic.h +++ b/mono/sgen/gc-internal-agnostic.h @@ -14,6 +14,7 @@ #include #include +#include "mono/utils/ward.h" #include "mono/utils/mono-compiler.h" #include "mono/utils/parse.h" #include "mono/utils/memfuncs.h" @@ -82,17 +83,21 @@ typedef void* MonoGCDescriptor; gboolean mono_gc_parse_environment_string_extract_number (const char *str, size_t *out); -MonoGCDescriptor mono_gc_make_descr_for_object (gsize *bitmap, int numbits, size_t obj_size); -MonoGCDescriptor mono_gc_make_descr_for_array (int vector, gsize *elem_bitmap, int numbits, size_t elem_size); +MonoGCDescriptor mono_gc_make_descr_for_object (gsize *bitmap, int numbits, size_t obj_size) + MONO_PERMIT (need (sgen_lock_gc)); +MonoGCDescriptor mono_gc_make_descr_for_array (int vector, gsize *elem_bitmap, int numbits, size_t elem_size) + MONO_PERMIT (need (sgen_lock_gc)); /* simple interface for data structures needed in the runtime */ -MonoGCDescriptor mono_gc_make_descr_from_bitmap (gsize *bitmap, int numbits); +MonoGCDescriptor mono_gc_make_descr_from_bitmap (gsize *bitmap, int numbits) + MONO_PERMIT (need (sgen_lock_gc)); /* Return a root descriptor for a vector with repeating refs bitmap */ MonoGCDescriptor mono_gc_make_vector_descr (void); /* Return a root descriptor for a root with all refs */ -MonoGCDescriptor mono_gc_make_root_descr_all_refs (int numbits); +MonoGCDescriptor mono_gc_make_root_descr_all_refs (int numbits) + MONO_PERMIT (need (sgen_lock_gc)); /* Return the bitmap encoded by a descriptor */ gsize* mono_gc_get_bitmap_for_descr (MonoGCDescriptor descr, int *numbits);