From 1479899726b1e2292f0012a1378e4bfb90b68e87 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 13 Apr 2017 09:11:31 +0200 Subject: support heap code to declare global variables used by the benchmark --- lib/Kratos/DFADriver.pm | 5 +++++ lib/Kratos/DFADriver/Model.pm | 9 +++++++++ 2 files changed, 14 insertions(+) (limited to 'lib') diff --git a/lib/Kratos/DFADriver.pm b/lib/Kratos/DFADriver.pm index 046a013..b7e1200 100644 --- a/lib/Kratos/DFADriver.pm +++ b/lib/Kratos/DFADriver.pm @@ -911,6 +911,11 @@ sub to_test_cc { DeclareThread(DriverEvalThread, driverEvalThread, 256); +EOF + + $buf .= $self->model->heap_code; + + $buf .= <<"EOF"; void DriverEvalThread::action() { Guarded_Buzzer buzzer; diff --git a/lib/Kratos/DFADriver/Model.pm b/lib/Kratos/DFADriver/Model.pm index e6f8142..ef821e7 100644 --- a/lib/Kratos/DFADriver/Model.pm +++ b/lib/Kratos/DFADriver/Model.pm @@ -156,6 +156,9 @@ sub parse_xml { if ( my ($node) = $xml->findnodes('/data/startup/code') ) { $self->{startup}{code} = $node->textContent; } + if ( my ($node) = $xml->findnodes('/data/heap/code') ) { + $self->{heap}{code} = $node->textContent; + } if ( my ($node) = $xml->findnodes('/data/after-transition/code') ) { $self->{after_transition}{code} = $node->textContent; } @@ -453,6 +456,12 @@ sub startup_code { return $self->{startup}{code} // q{}; } +sub heap_code { + my ($self) = @_; + + return $self->{heap}{code} // q{}; +} + sub after_transition_code { my ($self) = @_; -- cgit v1.2.3