From 0f46fc2d4f0727b8e975ccda93b6b6045bf879ed Mon Sep 17 00:00:00 2001 From: wanderer Date: Thu, 11 May 2017 23:23:48 -0400 Subject: Remove Mutable Gobals from future features (#1014) * Remove Mutable Gobals from future features * Readded global array types * Update FutureFeatures.md --- FutureFeatures.md | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'FutureFeatures.md') diff --git a/FutureFeatures.md b/FutureFeatures.md index 4d61da2..060d759 100644 --- a/FutureFeatures.md +++ b/FutureFeatures.md @@ -472,20 +472,9 @@ lighter-weight alternative to load-time polyfilling (approach 2 in were to be standardized and performed natively such that no user-space translation pass was otherwise necessary. -### Mutable global variables - -In the MVP, there are no global variables; C/C++ global variables are stored in -linear memory and thus accessed through normal -[linear memory operators](Semantics.md#linear-memory-operators). -[Dynamic linking](DynamicLinking.md) will add some form of immutable global -variable analogous to "symbols" in native binaries. In some cases, though, -it may be useful to have a fully mutable global variable which lives outside -linear memory. This would allow more aggressive compiler optimizations (due to -better alias information). If globals are additionally allowed array types, -significant portions of memory could be moved out of linear memory which could -reduce fragmentation issues. Languages like Fortran which limit aliasing would be -one use case. C/C++ compilers could also determine that some global variables never -have their address taken. +### Array globals + +If globals are allowed array types, significant portions of memory could be moved out of linear memory which could reduce fragmentation issues. Languages like Fortran which limit aliasing would be one use case. C/C++ compilers could also determine that some global variables never have their address taken. ### Streaming Compilation -- cgit v1.2.3