mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-13 17:20:21 +02:00
Refactor pop_handle to not take the handle
This commit is contained in:
parent
32ddaa7624
commit
7dda5b992d
4 changed files with 16 additions and 16 deletions
|
@ -4,4 +4,4 @@ struct handle { void *unused; };
|
|||
#define HANDLE_REF(h) h.v
|
||||
#define HANDLE_SET(h,val) do { h.v = val; } while (0)
|
||||
#define PUSH_HANDLE(cx, h) do { (void) &h; } while (0)
|
||||
#define POP_HANDLE(cx, h) do { (void) &h; } while (0)
|
||||
#define POP_HANDLE(cx) do { } while (0)
|
||||
|
|
20
gcbench.c
20
gcbench.c
|
@ -145,9 +145,9 @@ static void Populate(struct context *cx, int iDepth, Node *node) {
|
|||
set_field((void**)&HANDLE_REF(self)->right, HANDLE_REF(r));
|
||||
Populate (cx, iDepth, HANDLE_REF(self)->left);
|
||||
Populate (cx, iDepth, HANDLE_REF(self)->right);
|
||||
POP_HANDLE(cx, r);
|
||||
POP_HANDLE(cx, l);
|
||||
POP_HANDLE(cx, self);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -162,8 +162,8 @@ static Node* MakeTree(struct context *cx, int iDepth) {
|
|||
PUSH_HANDLE(cx, right);
|
||||
Node *result = allocate_node(cx);
|
||||
init_Node(result, HANDLE_REF(left), HANDLE_REF(right));
|
||||
POP_HANDLE(cx, right);
|
||||
POP_HANDLE(cx, left);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -216,7 +216,7 @@ static void TimeConstruction(struct context *cx, int depth) {
|
|||
tFinish - tStart);
|
||||
}
|
||||
|
||||
POP_HANDLE(cx, tempTree);
|
||||
POP_HANDLE(cx);
|
||||
}
|
||||
|
||||
int main() {
|
||||
|
@ -294,9 +294,9 @@ int main() {
|
|||
printf("Completed in %ld msec\n", tElapsed);
|
||||
print_end_gc_stats(cx);
|
||||
|
||||
POP_HANDLE(cx, array);
|
||||
POP_HANDLE(cx, tempTree);
|
||||
POP_HANDLE(cx, longLivedTree);
|
||||
POP_HANDLE(cx, root);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
POP_HANDLE(cx);
|
||||
}
|
||||
|
||||
|
|
|
@ -7,13 +7,13 @@ struct handle {
|
|||
#define HANDLE_REF(h) h.v
|
||||
#define HANDLE_SET(h,val) do { h.v = val; } while (0)
|
||||
#define PUSH_HANDLE(cx, h) push_handle(&cx->roots, &h.handle)
|
||||
#define POP_HANDLE(cx, h) pop_handle(&cx->roots, &h.handle)
|
||||
#define POP_HANDLE(cx) pop_handle(&cx->roots)
|
||||
|
||||
static inline void push_handle(struct handle **roots, struct handle *handle) {
|
||||
handle->next = *roots;
|
||||
*roots = handle;
|
||||
}
|
||||
|
||||
static inline void pop_handle(struct handle **roots, struct handle *handle) {
|
||||
*roots = handle->next;
|
||||
static inline void pop_handle(struct handle **roots) {
|
||||
*roots = (*roots)->next;
|
||||
}
|
||||
|
|
4
quads.c
4
quads.c
|
@ -52,7 +52,7 @@ static Quad* make_tree(struct context *cx, int depth) {
|
|||
init_field((void**)&result->kids[i], HANDLE_REF(kids[i]));
|
||||
|
||||
for (size_t i = 0; i < 4; i++)
|
||||
POP_HANDLE(cx, kids[3 - i]);
|
||||
POP_HANDLE(cx);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
@ -162,7 +162,7 @@ int main(int argc, char *argv[]) {
|
|||
|
||||
print_end_gc_stats(cx);
|
||||
|
||||
POP_HANDLE(cx, quad);
|
||||
POP_HANDLE(cx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue