changeset 710:0d35a152b4e7

...
author anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
date Mon, 24 Aug 2020 21:20:48 +0900
parents ed7183a46dca
children 41d605d48780
files src/parallel_execution/CMakeLists.txt src/parallel_execution/examples/pop_and_push/StackTest.h src/parallel_execution/examples/pop_and_push/StackTestImpl.cbc
diffstat 3 files changed, 16 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/CMakeLists.txt	Mon Aug 24 21:20:34 2020 +0900
+++ b/src/parallel_execution/CMakeLists.txt	Mon Aug 24 21:20:48 2020 +0900
@@ -85,15 +85,15 @@
     GearsCommand(
       TARGET
           CUDAtwice
-      SOURCES 
-          examples/twice/main.cbc examples/twice/twice.cbc examples/twice/CUDAtwice.cu examples/twice/createArray.cbc examples/twice/printArray.cbc CPUWorker.cbc TimerImpl.cbc examples/twice/twice.cbc TaskManagerImpl.cbc SingleLinkedQueue.cbc SynchronizedQueue.cbc CUDAWorker.cbc cuda.c MultiDimIterator.cbc CUDAExecutor.cbc AtomicReference.cbc 
+      SOURCES
+          examples/twice/main.cbc examples/twice/twice.cbc examples/twice/CUDAtwice.cu examples/twice/createArray.cbc examples/twice/printArray.cbc CPUWorker.cbc TimerImpl.cbc examples/twice/twice.cbc TaskManagerImpl.cbc SingleLinkedQueue.cbc SynchronizedQueue.cbc CUDAWorker.cbc cuda.c MultiDimIterator.cbc CUDAExecutor.cbc AtomicReference.cbc
     )
     set_target_properties(CUDAtwice PROPERTIES COMPILE_FLAGS "-Wall -g -DUSE_CUDAWorker=1")
 
     GearsCommand(
       TARGET
           CUDAbitonicSort
-      SOURCES 
+      SOURCES
           examples/bitonicSort/bitonicSort.cbc examples/bitonicSort/bitonicSwap.cbc examples/bitonicSort/CUDAbitonicSwap.cu examples/bitonicSort/makeArray.cbc examples/bitonicSort/printArray.cbc CPUWorker.cbc CUDAWorker.cbc TaskManagerImpl.cbc SingleLinkedQueue.cbc SynchronizedQueue.cbc cuda.c MultiDimIterator.cbc TimerImpl.cbc CUDAExecutor.cbc AtomicReference.cbc
     )
     set_target_properties(CUDAbitonicSort PROPERTIES COMPILE_FLAGS "-Wall -g -DUSE_CUDAWorker=1")
@@ -102,14 +102,14 @@
 GearsCommand(
   TARGET
       queue_test
-  SOURCES 
+  SOURCES
       test/queue_test.cbc SingleLinkedQueue.cbc
 )
 
 GearsCommand(
   TARGET
       stack_test
-  SOURCES 
+  SOURCES
       test/stack_test.cbc SingleLinkedStack.cbc SingleLinkedQueue.cbc
 )
 
@@ -146,7 +146,7 @@
   TARGET
   pop_and_push
   SOURCES
-  examples/pop_and_push/main.cbc  examples/pop_and_push/StackTestImpl.cbc TaskManagerImpl.cbc CPUWorker.cbc SynchronizedQueue.cbc AtomicReference.cbc SingleLinkedStack.cbc
+  examples/pop_and_push/main.cbc  examples/pop_and_push/StackTestImpl.cbc TaskManagerImpl.cbc CPUWorker.cbc SynchronizedQueue.cbc AtomicReference.cbc SingleLinkedStack.cbc examples/pop_and_push/StackTest2Impl.cbc
 )
 
 
--- a/src/parallel_execution/examples/pop_and_push/StackTest.h	Mon Aug 24 21:20:34 2020 +0900
+++ b/src/parallel_execution/examples/pop_and_push/StackTest.h	Mon Aug 24 21:20:48 2020 +0900
@@ -1,6 +1,7 @@
 typedef struct StackTest <Type, Impl> {
   __code insertTest1(Impl* stackTest, struct Stack* stack, __code next(...));
   __code insertTest2(Impl* stackTest, struct Stack* stack, __code next(...));
+  __code insertTest3(Impl* stackTest, struct Stack* stack, __code next(...));
   __code pop2Test(Impl* stackTest, struct Stack* stack, __code next(...));
   __code pop2Test1(Impl* stackTest, union Data* data, union Data* data1, struct Stack* stack, __code next(...));
   __code next(...);
--- a/src/parallel_execution/examples/pop_and_push/StackTestImpl.cbc	Mon Aug 24 21:20:34 2020 +0900
+++ b/src/parallel_execution/examples/pop_and_push/StackTestImpl.cbc	Mon Aug 24 21:20:48 2020 +0900
@@ -1,5 +1,6 @@
 #include "../../../context.h"
 #interface "StackTest.h"
+#interface "StackTest2.h"
 #interface "Stack.h"
 #include <stdio.h>
 
@@ -55,11 +56,12 @@
     goto next(...);
 }
 
-__code pop2Test1_StackTestImpl_stub(struct Context* context) {
-  struct StackTestImpl* stackTest = GearImpl(context, StackTest, stackTest);
-  Data* data = Gearef(context, Stack)->data;
-  Data* data1 = Gearef(context, Stack)->data1;
-  Stack* stack = Gearef(context, StackTest)->stack;
-  enum Code next = Gearef(context, StackTest)->next;
-  goto pop2Test1_StackTestImpl(context, stackTest, data, data1, stack, next);
+
+__code insertTest3_StackTestImpl(struct StackTestImpl* stackTest, struct Stack* stack, __code next(...)) {
+    StackTest2* stackTest2 = createStackTest2Impl(context);
+    String* str = NEW(String);
+    str->size = 100;
+    goto stackTest2->insertTest1((union Data*)str, pop2Test_StackTestImpl);
 }
+
+//insertTest1_StackTest2Impl