Mercurial > hg > Gears > Gears
changeset 1009:2c73de738917
merge
author | ichikitakahiro <e165713@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 13 Jan 2022 03:24:14 +0900 |
parents | 8c7015f602cf (current diff) 0fc5916a1f64 (diff) |
children | 906ad9656e7a |
files | |
diffstat | 2 files changed, 26 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parallel_execution/examples/gearsDirectory/GearsDirectoryImpl.cbc Thu Jan 13 03:23:46 2022 +0900 +++ b/src/parallel_execution/examples/gearsDirectory/GearsDirectoryImpl.cbc Thu Jan 13 03:24:14 2022 +0900 @@ -45,7 +45,10 @@ __code mkdir2(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) { Node* dir = new Node(); dir->key = name->value; - dir->value = gearsDirectory->INodeNumber; + Integer* iNum = new Integer(); + iNum->value = gearsDirectory->INodeNumber; + dir->value = iNum; + gearsDirectory->INodeNumber = gearsDirectory->INodeNumber + 1; struct FTree* cDirectory = new FTree(); cDirectory = gearsDirectory->currentDirectory; goto cDirectory->put(dir, next(...)); @@ -59,11 +62,18 @@ goto cDirectory->get(dir, ls2); } -__code ls2(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) { - printf("%d\n", gearsDirectory->currentDirectory->fTree->Node.value->Node.key); +__code ls2(struct GearsDirectoryImpl* gearsDirectory, struct Node* node, __code next(...)) { + printf("%d\n", node->key); goto next(...); } +__code ls2_stub(struct Context* context) { + GearsDirectoryImpl* gearsDirectory = (GearsDirectoryImpl*)GearImpl(context, GearsDirectory, gearsDirectory); + Integer* name = Gearef(context, FTree)->node; + enum Code next = Gearef(context, GearsDirectory)->next; + goto ls2(context, gearsDirectory, name, next); +} + __code cd2Child(struct GearsDirectoryImpl* gearsDirectory, struct Integer* name, __code next(...)) { // 現在のtreeからnode->keyがnameと一致するものをsearch struct FTree* cDirectory = new FTree();
--- a/src/parallel_execution/examples/gearsDirectory/GearsDirectory_test.cbc Thu Jan 13 03:23:46 2022 +0900 +++ b/src/parallel_execution/examples/gearsDirectory/GearsDirectory_test.cbc Thu Jan 13 03:24:14 2022 +0900 @@ -6,7 +6,7 @@ __code task1(GearsDirectory* gearsDirectory){ Integer* name = new Integer(); name->value = 1; - goto gearsDirectory->mkdir(name, task5); + goto gearsDirectory->mkdir(name, task4); } __code task1_stub(struct Context* context){ @@ -34,9 +34,20 @@ goto task3(context, gearsDirectory); } +__code task4(GearsDirectory* gearsDirectory){ + Integer* name = new Integer(); + name->value = 2; + goto gearsDirectory->mkdir(name, task5); +} + +__code task4_stub(struct Context* context){ + GearsDirectory* gearsDirectory = createGearsDirectoryImpl(context); + goto task4(context, gearsDirectory); +} + __code task5(GearsDirectory* gearsDirectory){ Integer* name = new Integer(); - name->value = 1; + name->value = 2; goto gearsDirectory->ls(name, exit_code); }