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
|
# 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
|
## 0.26 - February 3, 2021
|
||||||
|
|
||||||
Features
|
Features
|
||||||
|
|
|
@ -156,13 +156,18 @@
|
||||||
global
|
global
|
||||||
defined-by
|
defined-by
|
||||||
defines-lambda-id
|
defines-lambda-id
|
||||||
const const-value
|
const
|
||||||
ref-count ref-by
|
const-value
|
||||||
|
ref-count
|
||||||
|
ref-by
|
||||||
mutated-by-set
|
mutated-by-set
|
||||||
reassigned assigned-value
|
reassigned
|
||||||
app-fnc-count app-arg-count
|
assigned-value
|
||||||
|
app-fnc-count
|
||||||
|
app-arg-count
|
||||||
cannot-inline
|
cannot-inline
|
||||||
inlinable mutated-indirectly
|
inlinable
|
||||||
|
mutated-indirectly
|
||||||
cont
|
cont
|
||||||
def-in-loop
|
def-in-loop
|
||||||
ref-in-loop
|
ref-in-loop
|
||||||
|
@ -1173,6 +1178,10 @@
|
||||||
Cyc-fast-vector-3
|
Cyc-fast-vector-3
|
||||||
Cyc-fast-vector-4
|
Cyc-fast-vector-4
|
||||||
Cyc-fast-vector-5
|
Cyc-fast-vector-5
|
||||||
|
open-input-file
|
||||||
|
open-output-file
|
||||||
|
open-binary-input-file
|
||||||
|
open-binary-output-file
|
||||||
)))
|
)))
|
||||||
|
|
||||||
(define (prim-calls-inlinable? prim-calls)
|
(define (prim-calls-inlinable? prim-calls)
|
||||||
|
|
Loading…
Add table
Reference in a new issue