diff --git a/mps/src/mps.h b/mps/src/mps.h index 550e4fad8c6..7d9664f02f5 100644 --- a/mps/src/mps.h +++ b/mps/src/mps.h @@ -1,6 +1,6 @@ /* impl.h.mps: HARLEQUIN MEMORY POOL SYSTEM C INTERFACE * - * $HopeName: MMsrc!mps.h(trunk.40) $ + * $HopeName: MMsrc!mps.h(trunk.41) $ * Copyright (C) 1997, 1998 The Harlequin Group Limited. All rights reserved. * * .readership: customers, MPS developers. @@ -30,7 +30,10 @@ typedef struct mps_ap_s *mps_ap_t; /* allocation point */ typedef struct mps_ld_s *mps_ld_t; /* location dependency */ typedef struct mps_reg_s *mps_reg_t; /* register file */ typedef struct mps_ss_s *mps_ss_t; /* scan state */ -typedef struct mps_message_s *mps_message_t; /* message */ +typedef struct mps_message_s + *mps_message_t; /* message */ +typedef struct mps_alloc_pattern_s + *mps_alloc_pattern_t; /* allocation patterns */ /* Concrete Types */ @@ -248,6 +251,11 @@ extern mps_bool_t (mps_commit)(mps_ap_t, mps_addr_t, size_t); extern mps_res_t mps_ap_fill(mps_addr_t *, mps_ap_t, size_t); extern mps_bool_t mps_ap_trip(mps_ap_t, mps_addr_t, size_t); +extern mps_alloc_pattern_t mps_alloc_pattern_ramp(void); +extern mps_res_t mps_ap_alloc_pattern_begin(mps_ap_t, mps_alloc_pattern_t); +extern mps_res_t mps_ap_alloc_pattern_end(mps_ap_t, mps_alloc_pattern_t); +extern mps_res_t mps_ap_alloc_pattern_reset(mps_ap_t); + /* Reserve Macros */ /* .reserve: Keep in sync with impl.c.buffer.reserve. */ diff --git a/mps/src/mpsi.c b/mps/src/mpsi.c index 3758fcdd9a1..643493985a0 100644 --- a/mps/src/mpsi.c +++ b/mps/src/mpsi.c @@ -1,6 +1,6 @@ /* impl.c.mpsi: MEMORY POOL SYSTEM C INTERFACE LAYER * - * $HopeName: MMsrc!mpsi.c(trunk.48) $ + * $HopeName: MMsrc!mpsi.c(trunk.49) $ * Copyright (C) 1997. Harlequin Group plc. All rights reserved. * * .purpose: This code bridges between the MPS interface to C, @@ -52,7 +52,7 @@ #include "mps.h" #include "mpsavm.h" /* only for mps_space_create */ -SRCID(mpsi, "$HopeName: MMsrc!mpsi.c(trunk.48) $"); +SRCID(mpsi, "$HopeName: MMsrc!mpsi.c(trunk.49) $"); /* mpsi_check -- check consistency of interface mappings @@ -1263,3 +1263,38 @@ void mps_telemetry_label(mps_addr_t addr, mps_word_t intern_id) { EventLabelAddr((Addr)addr, (Word)intern_id); } + + +/* Allocation Patterns */ + +/* Dummy interface at the moment, ie no useful implementation. */ + +mps_alloc_pattern_t mps_alloc_pattern_ramp(void) +{ + return NULL; +} + +mps_res_t mps_ap_alloc_pattern_begin(mps_ap_t mps_ap, + mps_alloc_pattern_t mps_alloc_pattern) +{ + UNUSED(mps_ap); + UNUSED(mps_alloc_pattern); + + return MPS_RES_OK; +} + +mps_res_t mps_ap_alloc_pattern_end(mps_ap_t mps_ap, + mps_alloc_pattern_t mps_alloc_pattern) +{ + UNUSED(mps_ap); + UNUSED(mps_alloc_pattern); + + return MPS_RES_OK; +} + +mps_res_t mps_ap_alloc_pattern_reset(mps_ap_t mps_ap) +{ + UNUSED(mps_ap); + + return MPS_RES_OK; +}