Skip to content

Add support for JIT on UWP

Nirbheek Chauhan requested to merge nirbheek/orc:uwp-virtualallocfromapp into master

commit f3d55343:

orc: Implement a windows helper for getenv()
On Windows, getenv() is deprecated and does not work in all cases. On
the Universal Windows Platform (UWP) it always returns NULL. Add
a wrapper orc_getenv() that calls GetEnvironmentVariable on Windows.

Also change semantics to always make a copy before returning.

commit 60379802:

orccodemem: Add support for Universal Windows Platform apps
VirtualAlloc is VirtualAllocFromApp when targeting UWP, and you can
only allocate executable pages if you have the codeGeneration
capability set in the app manifest. Check for that capability in
_orc_compiler_init() and switch to backup code or emulation if it
isn't available instead of crashing when VirtualAllocFromApp
returns NULL.

Also you cannot allocate pages that are both READWRITE and EXECUTE, so
we allocate as read-write first, then set the memory as execute-only
after the code has been compiled and copied over.

commit 81380b4a:

orc: Fix some warnings on MSVC and enable --werror

commit 448379ba:

ci: Attempt to fix broken Windows CI
https://gitlab.freedesktop.org/nirbheek/orc/-/pipelines/169274

Update to latest image and use the gstreamer runner tag. Matches the
gst-ci template.

Also try to make MSYS2 CI more resilient by following:
https://github.com/msys2/setup-msys2/blob/master/main.js#L98
Edited by Tim-Philipp Müller

Merge request reports