diff options
Diffstat (limited to 'docs/Extensions.rst')
-rw-r--r-- | docs/Extensions.rst | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/docs/Extensions.rst b/docs/Extensions.rst index cd489c0e54..271c08598b 100644 --- a/docs/Extensions.rst +++ b/docs/Extensions.rst @@ -195,3 +195,17 @@ range via a slight deviation. It will generate an indirect jump as follows: blx r12 sub.w sp, sp, r4 +Variable Length Arrays +^^^^^^^^^^^^^^^^^^^^^^ + +The reference implementation (Microsoft Visual Studio 2012) does not permit the +emission of Variable Length Arrays (VLAs). + +The Windows ARM Itanium ABI extends the base ABI by adding support for emitting +a dynamic stack allocation. When emitting a variable stack allocation, a call +to ``__chkstk`` is emitted unconditionally to ensure that guard pages are setup +properly. The emission of this stack probe emission is handled similar to the +standard stack probe emission. + +The MSVC environment does not emit code for VLAs currently. + |