Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
Ocarina
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
2
Issues
2
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
Operations
Operations
Incidents
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
TASTE
Ocarina
Commits
1fa29dbd
Commit
1fa29dbd
authored
Aug 27, 2013
by
yoogx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* Allow support for subprogram classifier in compute
entrypoint
parent
842a9df5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
20 deletions
+43
-20
src/backends/ocarina-backends-po_hi_ada-activity.adb
src/backends/ocarina-backends-po_hi_ada-activity.adb
+43
-20
No files found.
src/backends/ocarina-backends-po_hi_ada-activity.adb
View file @
1fa29dbd
...
...
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2006-2009 Telecom ParisTech, 2010-201
2
ESA & ISAE. --
-- Copyright (C) 2006-2009 Telecom ParisTech, 2010-201
3
ESA & ISAE. --
-- --
-- Ocarina is free software; you can redistribute it and/or modify --
-- it under terms of the GNU General Public License as published by the --
...
...
@@ -2767,24 +2767,11 @@ package body Ocarina.Backends.PO_HI_Ada.Activity is
when
Thread_With_Compute_Entrypoint
=>
declare
use
ATN
;
Value
:
constant
Node_Id
:=
Expanded_Single_Value
(
AIN
.
Property_Association_Value
(
Get_Thread_Compute_Entrypoint
(
E
)));
Property
:
constant
Node_Id
:=
Get_Thread_Compute_Entrypoint
(
E
);
Value
:
Node_Id
;
begin
if
ATN
.
Kind
(
Value
)
=
ATN
.
K_Reference_Term
then
-- Get IN ports values and dequeue them
if
Has_In_Ports
(
E
)
then
Make_Fetch_In_Ports
;
Make_Dequeue_In_Ports
;
end
if
;
-- Handle the thread call sequences
Make_Call_Sequence
(
ATN
.
Entity
(
ATN
.
Reference_Term
(
Value
)));
else
if
AIN
.
Kind
(
Property
)
=
K_Component_Instance
then
-- Call the compute entrypoint. The code of the
-- compute entry point will include the setting
-- of the thread OUT ports.
...
...
@@ -2793,14 +2780,50 @@ package body Ocarina.Backends.PO_HI_Ada.Activity is
-- Send OUT ports.
--
FIXME
: Depending on an AADL property, the
--
XXX
: Depending on an AADL property, the
-- code of the thread entrypoint may include the
-- sending of OUT ports.
-- sending of OUT ports.
Which AADL property?
if
Has_Out_Ports
(
E
)
then
Make_Set_Out_Ports
;
Make_Send_Out_Ports
;
end
if
;
else
Value
:=
Expanded_Single_Value
(
AIN
.
Property_Association_Value
(
Property
));
if
ATN
.
Kind
(
Value
)
=
ATN
.
K_Reference_Term
then
-- Get IN ports values and dequeue them
if
Has_In_Ports
(
E
)
then
Make_Fetch_In_Ports
;
Make_Dequeue_In_Ports
;
end
if
;
-- Handle the thread call sequences
Make_Call_Sequence
(
ATN
.
Entity
(
ATN
.
Reference_Term
(
Value
)));
else
-- Call the compute entrypoint. The code of the
-- compute entry point will include the setting
-- of the thread OUT ports.
Make_Thread_Compute_Entrypoint
;
-- Send OUT ports.
-- XXX: Depending on an AADL property, the
-- code of the thread entrypoint may include the
-- sending of OUT ports. Which AADL property?
if
Has_Out_Ports
(
E
)
then
Make_Set_Out_Ports
;
Make_Send_Out_Ports
;
end
if
;
end
if
;
end
if
;
end
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment