diff src/parallel_execution/stack.c @ 131:a4507906938c

Fix compile error but not work
author Tatsuki IHA <e125716@ie.u-ryukyu.ac.jp>
date Tue, 25 Oct 2016 00:49:28 +0900
parents 2bb5e4f0fd35
children 7c309e1aea73
line wrap: on
line diff
--- a/src/parallel_execution/stack.c	Mon Oct 10 20:19:26 2016 +0900
+++ b/src/parallel_execution/stack.c	Tue Oct 25 00:49:28 2016 +0900
@@ -1,31 +1,44 @@
 #include "stack.h"
+#include "context.h"
+#include "origin_cs.h"
+extern union Data* allocator(struct Context* context);
 
-__code createSingleLinkedStack(enum Code next) {
+__code createSingleLinkedStack(struct Context* context, enum Code next) {
+    /*
     struct SingleLinkedStack* stack = allocate(context, SignleLinkedStack);
     stack->top = NULL;
     stack->i.push = PushSingleLinkedStack;
     stack->i.pop = PopsingleLinkedStack;
     stack->i.isEmpty = _;
+    */
     goto meta(context, next);
 }
 
-__code pushSingleLinkedStack(struct Context* context, struct SingleLinekedStack* stack, struct Element* element, union Data* data, enum Code next) {
+__code pushSingleLinkedStack(struct Context* context, struct SingleLinkedStack* stack, struct Element* element, union Data* data, enum Code next) {
     element->next = stack->top;
     element->data = data;
     stack->top = element;
     goto meta(context, next);
 }
 
-__code popSingleLinkedStack(struct Context* context, struct SingleLinekedStack* stack, enum Code next) {
+__code pushSingleLinkedStack_stub(struct Context* context) {
+    struct Allocate* allocate = &context->data[Allocate]->allocate;
+    allocate->size = sizeof(struct Element);
+    struct Element* element = &(allocator(context)->element);
+    goto pushSingleLinkedStack(context,
+                               &context->data[Stack]->stack.stack,
+                               element,
+                               context->data[Stack]->stack.data,
+                               context->data[Stack]->stack.next);
+}
+
+__code popSingleLinkedStack(struct Context* context, struct SingleLinkedStack* stack, enum Code next) {
     stack->top = stack->top->next;
     goto meta(context, next);
 }
 
-__code pushSingleLinkedStack_stub(struct Context* context) {
-    stuct Element* element = allocate(struct Element);
-    goto pushSingleLinkedStack(context,
-                               &context->data[Stack]->stack,
-                               element,
-                               context->data[Stack]->data,
-                               context->data[Stack]->next);
+__code popSingleLinkedStack_stub(struct Context* context) {
+    goto popSingleLinkedStack(context,
+                               &context->data[Stack]->stack.stack,
+                               context->data[Stack]->stack.next);
 }