Mercurial > hg > Gears > Gears
changeset 672:ea992fc94130
...
author | anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 19 Aug 2020 12:44:41 +0900 |
parents | dbefe3a266ec |
children | f7c0509e3ab6 |
files | src/parallel_execution/generate_context.pl src/parallel_execution/generate_stub.pl |
diffstat | 2 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/parallel_execution/generate_context.pl Wed Aug 19 09:20:43 2020 +0900 +++ b/src/parallel_execution/generate_context.pl Wed Aug 19 12:44:41 2020 +0900 @@ -139,6 +139,7 @@ $constructor{$implementation} = [$interface, $constructorArgs]; } } + close $fd; open my $cx,"<","context.h" or die("can't open context.h $!"); my $inUnionData = 0; @@ -266,7 +267,10 @@ } EOFEOF + #gears or xv6 + if ($project->{name} eq "gears") { + $meta_call .= <<"EOFEOF"; __code exit_code(struct Context* ${context_name}) { free(${context_name}->code); @@ -276,6 +280,7 @@ } EOFEOF + #xv6 case } else { $meta_call .= <<"EOFEOF";
--- a/src/parallel_execution/generate_stub.pl Wed Aug 19 09:20:43 2020 +0900 +++ b/src/parallel_execution/generate_stub.pl Wed Aug 19 12:44:41 2020 +0900 @@ -302,7 +302,7 @@ sub generateStubArgs { my($codeGearName, $varName, $typeName, $ptrType, $typeField, $interface,$output) = @_; - my $varname1 = $output?"O_$varName":$varName; + my $varname1 = $output ? "O_$varName" : $varName; for my $n ( @{$dataGearVar{$codeGearName}} ) { # we already have it return 0 if ( $n eq $varname1); @@ -779,21 +779,20 @@ # return sub is create clojure return sub { my ($codeGearName, $filename) = @_; - my $cbc_files_ref = $cbc_name2_source_path->{$codeGearName} // []; - my @cbc_files = @$cbc_files_ref; + my $cbc_files = $cbc_name2_source_path->{$codeGearName} // []; - if (scalar(@cbc_files) == 0) { # Not Found + if (scalar(@{$cbc_files}) == 0) { # Not Found return 0; #false case } - if (scalar(@cbc_files) == 1) { # this case $codeGearName.cbc is single (SingleLinkedQueue.cbc) - return shift @cbc_files; # return "/Users/anatofuz/src/firefly/hg/Gears/Gears/src/parallel_execution/SingleLinkedQueue.cbc" + if (scalar(@{$cbc_files}) == 1) { # this case $codeGearName.cbc is single (SingleLinkedQueue.cbc) + return $cbc_files->[0]; # return "/Users/anatofuz/src/firefly/hg/Gears/Gears/src/parallel_execution/SingleLinkedQueue.cbc" } my $cbc_dir_name = dirname $filename; - for my $cbc_file (@cbc_files) { + for my $cbc_file (@{$cbc_files}) { if ($cbc_file =~ /$cbc_dir_name/) { return $cbc_file; }