mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
Issue #445 - Do not inline prims that open ports
It is dangerous to inline these operations because the resource may be opened multiple times and/or not closed properly.
This commit is contained in:
parent
8f7516ce43
commit
71793eca9c
2 changed files with 20 additions and 5 deletions
|
@ -1,5 +1,11 @@
|
|||
# Changelog
|
||||
|
||||
## 0.27 - TBD
|
||||
|
||||
Bug Fixes
|
||||
|
||||
- Prevent the compiler from inlining calls to primitives that open ports, avoiding a range of issues such as an open file operation being inlined across multiple places in the intermediate code.
|
||||
|
||||
## 0.26 - February 3, 2021
|
||||
|
||||
Features
|
||||
|
|
|
@ -156,13 +156,18 @@
|
|||
global
|
||||
defined-by
|
||||
defines-lambda-id
|
||||
const const-value
|
||||
ref-count ref-by
|
||||
const
|
||||
const-value
|
||||
ref-count
|
||||
ref-by
|
||||
mutated-by-set
|
||||
reassigned assigned-value
|
||||
app-fnc-count app-arg-count
|
||||
reassigned
|
||||
assigned-value
|
||||
app-fnc-count
|
||||
app-arg-count
|
||||
cannot-inline
|
||||
inlinable mutated-indirectly
|
||||
inlinable
|
||||
mutated-indirectly
|
||||
cont
|
||||
def-in-loop
|
||||
ref-in-loop
|
||||
|
@ -1173,6 +1178,10 @@
|
|||
Cyc-fast-vector-3
|
||||
Cyc-fast-vector-4
|
||||
Cyc-fast-vector-5
|
||||
open-input-file
|
||||
open-output-file
|
||||
open-binary-input-file
|
||||
open-binary-output-file
|
||||
)))
|
||||
|
||||
(define (prim-calls-inlinable? prim-calls)
|
||||
|
|
Loading…
Add table
Reference in a new issue