flat assembler
Message board for the users of flat assembler.

Index > Windows > WHP layer for 64-bit fasmg EXE/DLL

Author
Thread Post new topic Reply to topic
bitRAKE



Joined: 21 Jul 2003
Posts: 4461
Location: vpcmpistri
bitRAKE 23 Apr 2026, 21:53
This directory is a Windows Hypervisor Platform projection of the `fasmg` core. It builds a normal command-line executable and a modern Win64 DLL that both run the same 32-bit assembler core inside a WHP partition.

Features [compressed] cacheable startup state which allows bypassing include files! (slower); support 4GB of memory for the fasmg core. DLL supports timeout, cancel and other options. (Different interface from standard DLL.)

The caching introduces an interesting use case: if you've engineered a product of various micro-controllers and written a DSL for fasmg to compile into code for your product. It's possible to distribute the cache for a special interface without distributing the include files! Be creative, you'll find other use-cases.

* Note: Uncompressing in fasmg/fasm2 directory is the intended structure.


Description: REQUIRES Win10/11 x64 with WHP available.
Download
Filename: whp64.7z
Filesize: 45.11 KB
Downloaded: 33 Time(s)


_________________
¯\(°_o)/¯ AI may [not] have aided with the above reply.
Post 23 Apr 2026, 21:53
View user's profile Send private message Visit poster's website Reply with quote
bitRAKE



Joined: 21 Jul 2003
Posts: 4461
Location: vpcmpistri
bitRAKE 28 Apr 2026, 08:20
The caching feature has been in the works for some time - many prior posts addressed concerns with fasmg/2 startup: cache compiler state in a meaningful way, FASM2 - Candidate to Benefit from Persistent Precompilation?, and I'm sure there are others.

It's possible to have a sufficiently complex source where cached startup would be faster, but presently that is not the case with any sources I'm aware of -- fasmg core is just too dense and algorithm efficient (and the host-side memory system is quite efficient).

This doesn't mean the caching couldn't be used for greater efficiency with fan-out of common source compiles. For example, a directory of small object file sources. They can all use the same memory mapped file, decompressed into the partition. One would need to engineer a WHvClonePartition, likely with a host-side copy-on-write semantic, and dozens of partitions could be spun up quite fast.

I'm not posting this to github -- it's just a feature for the board and those who chose to communicate here. Although the code is in the public domain, I hope you will respect this.
Post 28 Apr 2026, 08:20
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2026, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.