summaryrefslogtreecommitdiff
path: root/viengoos/object.c
diff options
context:
space:
mode:
authorneal <neal>2008-05-28 14:15:02 +0000
committerneal <neal>2008-05-28 14:15:02 +0000
commite327ce1313429adbb017c2d79ee619c5035a146c (patch)
tree637998486b661b63b900b920faa043e04d60480a /viengoos/object.c
parent8cb9c4b17b5b4069157547bd80a98882aa1f4a7d (diff)
2008-05-28 Neal H. Walfield <neal@gnu.org>
* object.c (folio_object_alloc): Set CAP's policy to POLICY.
Diffstat (limited to 'viengoos/object.c')
-rw-r--r--viengoos/object.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/viengoos/object.c b/viengoos/object.c
index 6b8ecfa..52d5775 100644
--- a/viengoos/object.c
+++ b/viengoos/object.c
@@ -507,8 +507,6 @@ folio_object_alloc (struct activity *activity,
struct object_policy policy,
uintptr_t return_code)
{
- debug (4, "allocating %s at %d", cap_type_string (type), idx);
-
assert (0 <= idx && idx < FOLIO_OBJECTS);
type = cap_type_strengthen (type);
@@ -517,6 +515,10 @@ folio_object_alloc (struct activity *activity,
assert (fdesc->type == cap_folio);
assert (fdesc->oid % (1 + FOLIO_OBJECTS) == 0);
+ debug (5, OID_FMT ":%d -> %s (%s/%d)",
+ OID_PRINTF (fdesc->oid), idx, cap_type_string (type),
+ policy.discardable ? "discardable" : "precious", policy.priority);
+
oid_t oid = fdesc->oid + 1 + idx;
struct object *object = NULL;
@@ -649,6 +651,7 @@ folio_object_alloc (struct activity *activity,
cap.type = type;
cap.oid = oid;
cap.version = folio_object_version (folio, idx);
+ CAP_POLICY_SET (&cap, policy);
return cap;
}
@@ -705,7 +708,8 @@ object_desc_claim (struct activity *activity, struct object_desc *desc,
if (desc->activity)
{
debug (5, OID_FMT " claims from " OID_FMT,
- OID_PRINTF (object_to_object_desc ((struct object *) desc->activity)->oid),
+ OID_PRINTF (object_to_object_desc ((struct object *) desc
+ ->activity)->oid),
OID_PRINTF (activity
? object_to_object_desc ((struct object *)
activity)->oid
@@ -777,6 +781,12 @@ object_desc_claim (struct activity *activity, struct object_desc *desc,
desc->eviction_candidate = false;
desc->activity = activity;
desc->policy.discardable = policy.discardable;
+
+ debug (5, OID_FMT " claimed " OID_FMT " (%s): %s",
+ OID_PRINTF (object_to_object_desc ((struct object *) activity)->oid),
+ OID_PRINTF (desc->oid),
+ cap_type_string (desc->type),
+ desc->policy.discardable ? "discardable" : "precious");
}
/* Return the first waiter queued on object OBJECT. */