diff --git a/mps/manual/reference/index.html b/mps/manual/reference/index.html index c97226fe95e..1087452fe71 100644 --- a/mps/manual/reference/index.html +++ b/mps/manual/reference/index.html @@ -66,7 +66,6 @@
MPS_ARCH_AL MPS_ARCH_M6 mps_fix MPS_FIX1 MPS_FIX12 MPS_RES_PARAM MPS_RM_CONST MPS_RM_PROT MPS_RM_PROT_INNER mps_sac_alloc MPS_SAC_ALLOC_FAST MPS_SAC_CLASS_LIMIT mps_arena_spare_commit_limit mps_arena_spare_commit_limit_set mps_arena_spare_committed mps_assert_default mps_assert_install mps_assert_t mps_bool_t mps_class_amc mps_class_mvff mps_lib_memcpy mps_lib_memset mps_lib_telemetry_control mps_message_collection_stats_condemned_size mps_message_collection_stats_live_size mps_message_sollection_stats_not_condemned_size mps_message_discard mps_message_finalization_ref mps_message_gc_condemned_size mps_message_queue_type mps_message_t mps_message_type mps_message_type_collection_stats mps_message_type_disable mps_message_type_enable mps_message_type_finalization mps_telemetry_flush mps_telemetry_intern mps_telemetry_label mps_thr_t MPS_ARCH_ALMPS_ARCH_M6MPS_ARCH_M6 is a C
-preprocessor macro that indicates, if defined, that the target
-processor architecture of the compilation is a member of the Motorola
-68000 family. It is defined, if appropriate, by "mpstd.h".
None.
- - -msptd.h.
- - -See summary.
- - -
-#ifdef MPS_ARCH_M6
-
-typedef struct RegisterFile {
- unsigned long d[8];
- unsigned long a[8];
- unsigned long usp, msp, isp, pc, sr;
-} RegisterFile;
-
-#endif /* MPS_ARCH_M6 */
-
-
-
-Not applicable.
- - -
-
-MPS_PF_*,
-
-MPS_OS_*,
-
-MPS_BUILD_*,
-
-MPS_ARCH_*
mps_fixmps_root_create_table_masked,
-
-MPS_RM_PROT_INNER
+href="#mps_root_create_table_masked">mps_root_create_table_masked.
MPS_RM_PROT_INNERMPS_RM_PROT_INNER is
-a constant used in root mode arguments to indicate partially
-protectable roots.
Root.
- - -Integral constant.
- - -mps.h
- - -MPS_RM_PROT_INNER is
-a preprocessor macro defining a constant that can be OR'ed with other
-MPS_RM_* constants, and passed as the root mode argument
-to certain root creation functions (mps_root_create_fmt, mps_root_create_table,
-mps_root_create_table_masked).
Passing MPS_RM_PROT_INNER means that the
-MPS may place a hardware write barrier on any pages which are entirely
-covered by the root. Format methods and any scanning function (except
-for the one for this root) may not write data in this root. They may
-read it.
-res = mps_root_create_table(&mmRoot, arena, mps_rank_exact(), - MPS_RM_PROT | MPS_RM_PROT_INNER, - (mps_addr_t)&Objects, rootCOUNT); -- - -
-
-mps_root_create_fmt,
-
-mps_root_create_table,
-
-mps_root_create_table_masked,
-
-MPS_RM_PROT
To specify MPS_RM_PROT_INNER, you must also
-specify MPS_RM_PROT. The
-meaning of MPS_RM_PROT is
-overridden by MPS_RM_PROT_INNER.
Future meaning: The MPS may place a hardware read and/or write -barrier on any pages which are entirely covered by the root. Format -methods and scanning functions (except for the one for this root) may -not read or write data in this root.
- -mps_sac_allocNone.
-mps_assert_defaultmps_assert_default returns a pointer to the default assertion handler.
Assertion.
- - -None.
- - -None.
- - -A pointer to the default assertion handler.
- - -mps.h
- - -mps_assert_default returns a pointer to the default assertion handler. It is intended tobe used in conjunction with mps_assert_install.
You may also call the default assertion handler directly, in which case the first, second,and third arguments must be non-NULL pointers to zero-terminated strings.
- - -Can't fail.
- - -"Assertion Protocol"
- - -None.
- - -mps_assert_installmps_assert_install installs the specified assertion handler as the current assertionhandler.
Assertion.
- - -mps_assert_t mps_assert_install(void my_assertion_handler);
my_assertion_handler the handler that you want to install
- - -A pointer to the previously installed assertion handler.
- - -mps.h
- - -mps_assert_install installs the specified assertion handler as the current assertionhandler. It returns a pointer to the previously installed assertion handler. Note that there is oneMPS assertion handler for the entire process (in particular it is not per arena).
-mps_assert_t old_handler;
-
-void my_assertion_handler(const char *cond,
-const char *id,
-const char *file, unsigned int line)
-{
- fatal_error_dialog("The Memory Pool System detected an inconsistency"
- "in file %s at line%u: %s\n", file, line, cond);
- old_handler(cond, id, file, line);
- abort();
- NOTREACHED;
-}
-
-/* ... */
-
- /* install the handler: */
- old_handler = mps_assert_install(my_assertion_handler);
-
- /* ... use the MPS ... */
-
- /* restore the old handler */
- (void) mps_assert_install(old_handler);
-
-
-
-None.
- - -mps_assert_tmps_assert_t is the type of assertion handlers in the MPS.
Assertion.
- - -typedef void (*mps_assert_t)(const char *, const char *, const char *, unsigned);
-
mps.h
- - -mps_assert_t is the type of assertion handlers in the MPS.
None.
- -mps_bool_tmps_message_collection_stats_condemned_sizemps_message_collection_stats_condemned_size
mps_message_collection_stats_condemned_size returns the "condemned size" property of thespecified message in the specified arena.
Message, GC.
- - -size_t mps_message_collection_stats_condemned_size(mps_message_t message)
message -- a message of a message type that supports this method
- - -Not applicable.
- - -An approximate size for the set of objects condemned in the collection that generated themessage.
- - -Not applicable.
- - -Currently, the only type of message that supports this property, is mps_message_type_collection_stats, which is generated whenever a garbage collection completes. Thismethod returns an approximation to the size of the set of objects that were condemned in thatcollection.
-
-mps_message_*
mps_message_collection_stats_live_sizemps_message_collection_stats_live_size
mps_message_collection_stats_live_size returns the "live size" property of the specifiedmessage in the specified arena.
Message, GC.
- - -size_t mps_message_collection_stats_live_size(mps_message_t message)
message -- a message of a message type that supports this method
- - -Not applicable.
- - -The total size of the condemned objects that survived the collection that generated themessage.
- - -Not applicable.
- - -Currently, the only type of message that supports this property, is mps_message_type_collection_stats, which is generated whenever a garbage collection completes. Thismethod returns the size of the set of objects that were condemned in that collection, but survived.
-
-mps_message_*
mps_message_sollection_stats_not_condemned_sizemps_message_collection_stats_not_condemned_size
mps_message_collection_stats_not_condemned_size returns the "not condemned size" propertyof the specified message in the specified arena.
Message, GC.
- - -size_t mps_message_collection_stats_not_condemned_size(mps_message_t message)
message -- a message of a message type that supports this method
- - -Not applicable.
- - -An approximate size for the set of objects that were in collected pools, but were notcondemned in the collection that generated the message.
- - -Not applicable.
- - -Currently, the only type of message that supports this property, is mps_message_type_collection_stats, which is generated whenever a garbage collection completes. Thismethod returns an approximation to the size of the set of objects that were in collected pools, butwere not condemned in that collection.
-
-mps_message_*
mps_message_discard mps_message_gc_not_condemned_size
mps_message_gc_not_condemned_size
mps_message_*
-mps_message_type_collection_statsmps_message_type_collection_stats
mps_message_type_collection_stats returns the type of garbage collection statistic messages.
Message, gc.
- - -mps_message_type_t mps_message_type_collection_stats()
Not applicable.
- - -The type of garbage collection statistic messages.
- - -Not applicable.
- - -mps_message_type_collection_stats returns the type of garbage collection statisticmessages. Garbage collection statistic messages are used by the MPS to give the client informationabout garbage collections that have occurred. Such information may be useful in analysing theclient's memory usage over time.
The access methods specific to a message of this type are:
- -
-{
- mps_message_type_t type;
-
- if(mps_message_queue_type(&type, arena)) {
- if(type == mps_message_type_collection_stats()) {
- size_t live, condemned, not_condemned;
- mps_message_t message;
- mps_bool_t got_message;
- got_message = mps_message_get(&message, arena, type);
- assert(got_message);
- live = mps_message_collection_stats_live_size(message);
- condemned = mps_message_collection_stats_condemned_size(message);
- not_condemned = mps_message_collection_stats_not_condemned_size(message);
- mps_message_discard(arena, message);
- process_collection_stats(live, condemned, not_condemned);
- } else {
- unknown_message_type();
- }
- }
-}
-
-
-
-Cannot fail.
- - -
-
-mps_message_*.
"Message Protocol", "GC Protocol"
- - -mps_message_type_disableIf a corrupted fencepost is found, an assert will fire. You can install an assert handlerusing mps_assert_install, but you'll probably want to look at the problem with adebugger instead.
If a corrupted fencepost is found, an assert will fire. You will +probably want to look at the problem with a debugger.
-mps_assert_install,
-
mps_class_*_debug
MPS_RM_PROT,
-MPS_RM_PROT_INNER,
-
MPS_RM_CONST
@@ -9404,8 +8738,6 @@ href="#mps_root_create_table_masked">mps_root_create_table_masked,
MPS_RM_PROT,
-MPS_RM_PROT_INNER,
-
MPS_RM_CONST
@@ -9507,8 +8839,6 @@ href="#mps_root_create_table">mps_root_create_table,
MPS_RM_PROT,
-MPS_RM_PROT_INNER,
-
MPS_RM_CONST
@@ -10442,6 +9772,8 @@ href="#mps_telemetry_control">mps_telemetry_control,
mps_thr_t
+mps_thr_t