42ec772bd5
Set 1ms as the base time of run_timers
2020-12-30 06:27:50 +01:00
2c7466e2de
Reset only stateful async nodes
2020-12-30 02:13:19 +01:00
e23fce0285
WIP: Call reset method on global async objects
...
It will probably be necessary to disable interrupts before calling
the reset method.
2020-12-30 01:28:36 +01:00
215b602383
Add a simple_simul compiler option
2020-12-30 01:10:45 +01:00
e536ec17d6
Use external linkage for global async variables
2020-12-26 04:28:39 +01:00
74f5e9a2e8
Generate run_timers with correct timing
2020-12-25 23:06:30 +01:00
5346c720d2
WIP: Generate the body of run_timers
2020-12-25 22:24:45 +01:00
58e6a951e4
Declaration of static variables in Cfundef
2020-12-25 21:54:58 +01:00
1ba3284031
Extract timers from obj_dec.o_ack
2020-12-25 19:44:01 +01:00
9b44a7a7ab
Create run_timers function for async calls
2020-12-25 15:36:05 +01:00
5b1a286999
Fix bug of async calls of stateless functions
2020-12-25 13:17:31 +01:00
eca2974bba
Define global variables for async state
2020-12-24 06:41:47 +01:00
2bd04ed02d
Generate calls to async stub (with a dummy _async)
2020-12-24 06:01:48 +01:00
9687050f25
Remove MstepAsync and add stub function for calls
2020-12-24 05:28:47 +01:00
73db32c6be
Fix bug and generate MstepAsync call in MiniLS
...
Easync applications were not flowing throw some Heptagon passes.
2020-12-23 13:08:10 +01:00
fbad83a61d
Add and use atomic_memcpy for the AVR backend
2020-12-22 21:33:04 +01:00
f72a092af3
Add support for _local_in in cexprs
2020-12-22 20:54:16 +01:00
622a55ed81
Use _local_out variable for _async_step method
2020-12-22 17:45:56 +01:00
e0fd48562b
Add argument for out variable name
2020-12-22 03:34:56 +01:00
c36ab43ab1
WIP: Add _async_step method
...
Copy functions are called, but the body doesn't use the good variable
names.
2020-12-22 01:54:19 +01:00
34902b58f0
Add basic copy functions
...
Warning: These functions are not yet atomic.
2020-12-22 00:30:59 +01:00
5376d9993e
Add _in struct for async
2020-12-21 11:27:30 +01:00
fdee5b68c0
WIP: Add MstepAsync method to ObC
2020-12-21 00:16:04 +01:00
Adrien Guatto
54cbec9190
C backend: generate A_types.{h,c} when compiling A.epi
...
Before this commit, the C backend would put the translated definitions
of an interface file A.epi into A.{h,c}. This is inconsistent with the
C code generated for source files, which expects to find A_types.{h,c}.
2019-10-13 13:27:52 +02:00
Adrien Guatto
0435a2420d
Fix miscompilation of Pervasives.xor to C
2018-10-12 16:56:01 +02:00
Gwenaël Delaval
7d6106d0aa
Passes optimization
...
Translation to tail-recursive versions of functions
for handling of (very) big nodes.
2017-05-23 22:13:32 +02:00
Gwenaël Delaval
028c564a31
Clean-up of verbose output
...
Leave only comments about compilation passes.
Remove output of intermediate code on standard output: added
generation of <module>.log containing all intermediate code.
2017-05-23 11:37:30 +02:00
Gwenaël Delaval
e4f51fea68
Switch to non-deprecated String functions
...
Use of String.*_ascii non-deprecated versions.
NB: Heptagon becomes available only for Ocaml versions >= 4.03.0.
2017-03-14 12:24:29 +01:00
Gwenaël Delaval
2f18926bf4
Clean up documentation comments
2017-03-03 11:41:57 +01:00
Gwenaël Delaval
69b8cc5a18
Added operator (=>) in Pervasives module
...
Operator (=>) for implication added in Pervasives module.
"a => b" is translated into "not a or b" at code generation.
2016-06-25 08:37:47 +02:00
Gwenaël Delaval
83905f9039
Remove traces and warnings
2016-06-02 01:33:02 +02:00
Gwenaël Delaval
d8d24ffd95
Handle modularity/several controllers by module
...
* Several controllers by module : added option "-m <Module>" in ctrl2ept
Generate controllers for each node of one module in <module>_controller.ept
* Types of <Module> no longer moved to <Module>_controller
* Added "_types" suffix for type dependencies for C target
2016-06-02 01:33:02 +02:00
Gwenaël Delaval
05150f2078
[ctrl-n] Suppression of type declarations in Heptagon controller
...
TODO : move type declarations in separated module.
2016-06-02 01:33:02 +02:00
Gwenaël Delaval
2aed0f6537
Deadcode removal improvement
...
Deadcode removal in Obc :
- suppression of switch unused cases :
switch(true) {
case false: ...
}
- activation with -deadcode option
2016-01-18 14:32:54 +01:00
Gwenaël Delaval
64b8c0592a
Pretty-printing class parameters in obc
2016-01-18 14:31:04 +01:00
Gwenaël Delaval
e8ec3e012c
Merge branch 'ctrl-n' into decade
2015-12-15 09:33:25 +01:00
Adrien Guatto
dc47767ba4
Print an empty default statement at the end of all C switches
...
This prevents modern compilers from emitting warnings when the generated C code
contains switch statements with (intentionally) missing cases.
2015-06-12 17:49:59 +02:00
Gwenaël Delaval
0d1aef8c78
Bug correction: support of enumerated types as input for simulation
...
- use of a buffer to translate enumerated types from string to enum value
- hepts : correct interface with main
2015-02-27 15:39:39 +01:00
Nicolas Berthier
cbcf8b9ac0
Using unqualified names for string representation of constructors in C backend.
...
+ minor modifications in various places.
2014-11-13 09:45:15 +01:00
Nicolas Berthier
d4fe017864
Bug correction in names of C functions for converting constructors to string.
2014-10-31 15:40:05 +01:00
Nicolas Berthier
5506690de5
Merge branch 'decade' into ctrl-n
2014-10-03 10:58:41 +02:00
Valentin Perrelle
1f2e084e6e
Fixed a bug where loops were not generated for copying arrays.
2014-06-25 18:53:34 +02:00
Nicolas Berthier
99ab12aa13
Fixed warnings.
2014-03-18 11:01:56 +01:00
Nicolas Berthier
216550c0d1
Fixed warnings & documentation comments.
...
- gitignore: ignore files generated by `configure' script.
2013-11-08 18:51:06 +01:00
Gwenal Delaval
ee7ef158e7
Bug correction: java code generation for "~-."
...
Bug correction: handling of unary float "~-."
2013-08-02 14:14:13 +02:00
Cédric Pasteur
a00620ca19
Fixed interference of fast memories
...
A fast memory should be considered alive during
the whole step function when its clock is false.
2013-05-06 11:47:05 +02:00
Nicolas Berthier
899d33afb6
Corrected a bug in generation of C records.
...
Corrected a somewhat unnoticeable but ugly bug in the generation of C
records, that could mess up the field names when they were not
assigned in the same order as in the declaration of the type.
2013-03-15 09:31:19 +01:00
Gwenal Delaval
9b3ba83bb1
Bug correction in java generation
2013-03-11 16:04:12 +01:00
Gwenaël Delaval
3e8af67e07
Added Java 1.4 target (experimental)
...
Experimental : remains some bugs on arrays
2012-11-17 23:29:19 +01:00
Gwenaël Delaval
6dd1c743d6
Records in Java
...
Added support of records in Java
2012-09-30 01:40:18 +02:00