Merge pull request #1624 from esdrubal/getprocesstimes
[mono.git] / mono / metadata / sgen-pinning.h
index ef41df24d2f688fb7688c7f8e202faf2a7305673..8f9ac73b9910704b395374cf7f6e083158f83e99 100644 (file)
@@ -27,33 +27,36 @@ enum {
        PIN_TYPE_MAX
 };
 
-void sgen_pin_stage_ptr (void *ptr) MONO_INTERNAL;
-void sgen_optimize_pin_queue (size_t start_slot) MONO_INTERNAL;
-void sgen_init_pinning (void) MONO_INTERNAL;
-void sgen_finish_pinning (void) MONO_INTERNAL;
-void sgen_pin_queue_clear_discarded_entries (GCMemSection *section, size_t max_pin_slot) MONO_INTERNAL;
-size_t sgen_get_pinned_count (void) MONO_INTERNAL;
-void sgen_pinning_setup_section (GCMemSection *section) MONO_INTERNAL;
-void sgen_pinning_trim_queue_to_section (GCMemSection *section) MONO_INTERNAL;
-
-void sgen_dump_pin_queue (void) MONO_INTERNAL;
+void sgen_pin_stage_ptr (void *ptr);
+void sgen_optimize_pin_queue (void);
+void sgen_init_pinning (void);
+void sgen_finish_pinning (void);
+void sgen_pin_queue_clear_discarded_entries (GCMemSection *section, size_t max_pin_slot);
+size_t sgen_get_pinned_count (void);
+void sgen_pinning_setup_section (GCMemSection *section);
+void sgen_pinning_trim_queue_to_section (GCMemSection *section);
+
+void sgen_dump_pin_queue (void);
+
+gboolean sgen_find_optimized_pin_queue_area (void *start, void *end, size_t *first_out, size_t *last_out);
+void sgen_find_section_pin_queue_start_end (GCMemSection *section);
+void** sgen_pinning_get_entry (size_t index);
+void sgen_pin_objects_in_section (GCMemSection *section, ScanCopyContext ctx);
 
 /* Pinning stats */
 
-void sgen_pin_stats_register_address (char *addr, int pin_type) MONO_INTERNAL;
-size_t sgen_pin_stats_get_pinned_byte_count (int pin_type) MONO_INTERNAL;
-ObjectList *sgen_pin_stats_get_object_list (void) MONO_INTERNAL;
-void sgen_pin_stats_reset (void) MONO_INTERNAL;
+void sgen_pin_stats_register_address (char *addr, int pin_type);
+size_t sgen_pin_stats_get_pinned_byte_count (int pin_type);
+ObjectList *sgen_pin_stats_get_object_list (void);
+void sgen_pin_stats_reset (void);
 
 /* Perpetual pinning, aka cementing */
 
-void sgen_cement_init (gboolean enabled) MONO_INTERNAL;
-void sgen_cement_reset (void) MONO_INTERNAL;
-void sgen_cement_concurrent_start (void) MONO_INTERNAL;
-void sgen_cement_concurrent_finish (void) MONO_INTERNAL;
-gboolean sgen_cement_lookup (char *obj) MONO_INTERNAL;
-gboolean sgen_cement_lookup_or_register (char *obj) MONO_INTERNAL;
-void sgen_cement_iterate (IterateObjectCallbackFunc callback, void *callback_data) MONO_INTERNAL;
-void sgen_cement_clear_below_threshold (void) MONO_INTERNAL;
+void sgen_cement_init (gboolean enabled);
+void sgen_cement_reset (void);
+gboolean sgen_cement_lookup (char *obj);
+gboolean sgen_cement_lookup_or_register (char *obj);
+void sgen_pin_cemented_objects (void);
+void sgen_cement_clear_below_threshold (void);
 
 #endif