Re: [MLton] stack frame writing and function calls
Matthew Fluet <[email protected]> Wed, 27 May 2020 09:50:11 -0400
| Newsgroups | gmane.comp.lang.ml.mlton.devel |
|---|---|
| Message-ID | <CAMrhFL73ygetNfv-EFXGx=6sUCFT=RPwsck+KJmmJakLoeJ90g@mail.gmail.com> |
T24gV2VkLCBNYXkgMjcsIDIwMjAgYXQgODoxNiBBTSBKZWZmcmV5IE11cnBoeSA8amNtdXJwaHlA YnVmZmFsby5lZHU+IHdyb3RlOgo+IFdlIGFyZSBuZWFyaW5nIHRoZSBlbmQgb2Ygd29ya2luZyBv biBzdGFjayByZWZhY3RvcmluZyAoaW50byBzdGFja2xldHMpIGluIG91ciBwcm9qZWN0LiBBcyBh IHJlbWluZGVyIHdlIGFyZSBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIE1MdG9uOgo+Cj4gJCBnaXQg cmV2LXBhcnNlIC0tc2hvcnQgSEVBRAo+IDA1MDA0YTAKPiAoTWF5IDE1IGNvbW1pdCkKCllvdSBt aWdodCB3YW50IHRvIHJlYmFzZSBvbiBhIG1vcmUgcmVjZW50IGNvbW1pdC4gIFRoZXJlIGhhdmUg YmVlbiBhCm51bWJlciBvZiBpbXByb3ZlbWVudHMgYW5kIGJ1ZyBmaXhlcy4KCj4gSW4gdGhlIHN0 YWNrbGV0IG1vZGVsLCBlYWNoIGZyYW1lIGlzIGluIGEgc2VwYXJhdGUsIG5vbi1jb250aWd1b3Vz LCBtZW1vcnkgc2VnbWVudC4KPgo+IFByaW9yIHRvIGEgZnVuY3Rpb24gY2FsbCBiZWluZyBtYWRl LCB0aGVyZSBhcmUgYmUgd3JpdGVzIGJleW9uZCBlbmQgb2YgdGhlIGN1cnJlbnQgZnJhbWUgdG8g c2V0IHVwIHRoZSBhcmd1bWVudHMgb2YgdGhlIG5leHQgZnVuY3Rpb24gcHJpb3IgdG8gdGhlIGNh bGwgYmVpbmcgbWFkZSAoc3RhY2tUb3AgYmVpbmcgYWR2YW5jZWQpLiBXaGF0IHdlIGFyZSB0cnlp bmcgdG8gZG8gaXMgZGV0ZXJtaW5lIHdoZXJlIHRoZSBjb21waWxlciBpcyB0cmFja2luZyB0aGVz ZSBhcmd1bWVudHMgc28gdGhhdCB3ZSBjYW4gaGF2ZSwgdWx0aW1hdGVseSwgdGhlIHdyaXRlcyBv Y2N1ciBpbiBhIGRpZmZlcmVudCBtZW1vcnkgc2VnbWVudC4KPgo+IFdl4oCZcmUgbG9va2luZyBm b3IgZG9jL3BvaW50ZXJzIG9uIHN0YWNrIHdyaXRpbmcgd2l0aCByZXNwZWN0IHRvIGZ1bmN0aW9u IGNhbGwgc2V0dXAuIFdoZXJlIGluIHRoZSBjb21waWxlciBpcyB0aGUgYXBwcm9wcmlhdGUgcGxh Y2UgdG8gbG9vayBpZiB3ZSB3YW50IHRvIGRldGVybWluZSDigJx0aGlzIHN0YWNrIHNsb3QgaXMg YmV5b25kIHRoZSBmcmFtZSBzaXplIG9mIGN1cnJlbnQgZnJhbWXigJ0/IFdlIGFyZSB3b3JraW5n IGV4Y2x1c2l2ZWx5IHdpdGggdGhlIGMtY29kZWdlbiBhbmQgb3VyIHBsYW4gaXMgdG8gaGF2ZSBh IGRpZmZlcmVudCBTLW1hY3JvIGVtaXR0ZWQgdGhhdCB3cml0ZXMgaW50byB0aGUgbmV4dCBmcmFt ZeKAmXMgbWVtb3J5IHNlZ21lbnQgd2hlbiBhIHN0YWNrIHdyaXRlIGlzIHJlbGF0ZWQgdG8gc2V0 dGluZyB1cCBhIGNhbGwgdG8gYW5vdGhlciBmdW5jdGlvbi4KClRoZSBzZXR1cCBvZiBjYWxsIGFy Z3VtZW50cyBvY2N1cnMgaGVyZToKaHR0cHM6Ly9naXRodWIuY29tL01MdG9uL21sdG9uL2Jsb2Iv MDUwMDRhMDM3NjI0MmYwOWNhNWZhZGY0YjA3MDkxMGNhOTZjYTRkYS9tbHRvbi9iYWNrZW5kL2Jh Y2tlbmQuZnVuI0w4NTYKCkluIHBhcnRpY3VsYXIsIHRoZSBgY2FsbFJldHVyblN0YWNrT2Zmc2V0 cyhhcmdzLCBSLk9wZXJhbmQudHksCmZyYW1lU2l6ZSlgIGNhbGN1bGF0ZXMgc3RhY2sgb2Zmc2V0 cyB0aGF0IGFyZSBiZXlvbmQgdGhlIGZyYW1lICh3aGVuCml0IGlzIGEgbm9uLXRhaWwgY2FsbCBh bmQgYGZyYW1lU2l6ZWAgaXMgbm9uLXplcm8pIGFuZCB0aGUKYHBhcmFsbGVsTW92ZWAgY29waWVz IHRoZSBhY3R1YWwgYXJndW1lbnRzIGludG8gdGhlIGFwcHJvcHJpYXRlIHNsb3RzLgooSXQgaXMg YSBgcGFyYWxsZWxNb3ZlYCBmb3IgdGhlIGNhc2Ugb2YgdGFpbCBjYWxsLCB3aGVyZSB0aGUgY2Fs bGVlCmFyZ3VtZW50IHNsb3RzIHdpbGwgb3ZlcmxhcCB3aXRoIHRoZSBjYWxsZXIncyBmcmFtZS4p ICBUaGlzIGlzCnByb2JhYmx5IHdoZXJlIHlvdSB3b3VsZCB3YW50IHRvIGludHJvZHVjZSBhIG5l dyBraW5kIG9mIG9wZXJhbmQKY29ycmVzcG9uZGluZyB0byBzbG90IGluIGFub3RoZXIgZnJhbWUg KHlvdSBtaWdodCBiZSBhYmxlIHRvIHVzZQpNYWNoaW5lLk9wZXJhbmQuT2Zmc2V0LCBidXQgaWYg YSBmcmFtZSBkb2Vzbid0IGxvb2sgZW5vdWdoIGxpa2UgYW4gTUwKb2JqZWN0LCB0aGVuIHRoZSBN YWNoaW5lIElSIHR5cGUgY2hlY2tpbmcgb2YgTWFjaGluZS5PcGVyYW5kLk9mZnNldAptaWdodCBu b3QgcGFzcykuCgo+IE9uIGEgcmVsYXRlZCBub3RlLCBvbmNlIGEgZnVuY3Rpb24gcmV0dXJucyAo YW5kIHN0YWNrVG9wIGlzIHJlZHVjZWQgdmlhIGEgbmVnYXRpdmUgcHVzaCkgaXMgYWNjZXNzIHRv IHRoZSBzbG90cyBpbiB0aGUgZnJhbWUgZnJvbSB3aGljaCB5b3UgcmV0dXJuIGNvbnNpZGVyZWQg dG8gYmUgdmFsaWQ/IEhvdyBpcyB0aGUgcmV0dXJuIHZhbHVlIGNvbnZleWVkPwoKQmFjayBpbiB0 aGUgY2FsbGVyLCB0aGUgcmV0dXJuIHZhbHVlcyBmcm9tIHRoZSBjYWxsZWUgYXJlIGZldGNoZWQg YXQ6Cmh0dHBzOi8vZ2l0aHViLmNvbS9NTHRvbi9tbHRvbi9ibG9iLzA1MDA0YTAzNzYyNDJmMDlj YTVmYWRmNGIwNzA5MTBjYTk2Y2E0ZGEvbWx0b24vYmFja2VuZC9iYWNrZW5kLmZ1biNMOTcyCgpU aGUgcmVzdWx0IHZhbHVlcyBhcmUgcGFzc2VkIGJhY2sgYXQgdGhlIGJvdHRvbSBvZiB0aGUgY2Fs bGVlIGZyYW1lCihpLmUuLCBpbiB0aGUgc2FtZSBzbG90cyB3aGVyZSB0aGUgYXJndW1lbnRzIHRv IHRoZSBjYWxsZWUgd2VyZQpwYXNzZWQpOyBzbywgeWVzIGl0IGlzIHZhbGlkIHRvIGFjY2VzcyBz b21lIHNsb3RzIG9mIHRoZSBjYWxsZWUgYWZ0ZXIKdGhlIHJldHVybi4KCi1NYXR0aGV3CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTUx0b24tZGV2ZWwg bWFpbGluZyBsaXN0Ck1MdG9uLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldDsgbWx0b24tZGV2 ZWxAbWx0b24ub3JnCmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L21sdG9uLWRldmVsCg==