[Info-vax] New PHP kits available (and a programming question)
Arne Vajhøj
arne at vajhoej.dk
Mon Jul 10 19:51:16 EDT 2023
On 7/10/2023 1:47 PM, Mark Berryman wrote:
> I have made some new ports of PHP available as follows:
>
> PHP 8.0.29
> https://theberrymans.com/php_kits/php_axp_8_0_29.zip
> https://theberrymans.com/php_kits/php_i64_8_0_29.zip
> https://theberrymans.com/php_kits/php_x86_8_0_29.zip
>
> PHP 8.1.20
> https://theberrymans.com/php_kits/php_x86_8_1_20.zip
Thanks.
> PHP 8.1 and later implement a new feature named fibers. It is
> advertised as allowing a program running in a single thread to run
> multiple threads. In reality, it simply allows one to create co-routines.
Fibers are a known concept.
https://en.wikipedia.org/wiki/Fiber_(computer_science)
Besides Boost they are also part of Windows:
https://learn.microsoft.com/en-us/windows/win32/procthread/fibers
> In order to implement this feature, PHP needs to be able to save and
> restore execution context, as well as the ability to jump to a saved PC
> location. PHP uses the boost library to implement this and the boost
> library provides code in x86 assembly for the save/restore functions. I
> had planned to implement similar functionality for Alpha and Integrity
> using Macro32, only to discover that Macro32 doesn't provide access to
> the floating point registers.
It would be nice if VMS had Boost!
> So, I'd to like to request an informal poll. How many folks would like
> to have a version of PHP later than 8.0 for their Alpha or Integrity
> systems?
I am for. Not because I really need it (I do little PHP), but
because I want VMS on all platforms to have as much software
as possible available.
> While I'm waiting for the answers, if anyone knows how I can
> save/restore execution context and jump to a saved PC location, I would
> appreciate any hints. I had hoped to use the various *INVO* functions
> for this but, while I have found routines that will save the current
> context, I haven't found any that will load the contents of an INVO
> block back into the registers.
>
> Also, what languages have access to all of the registers?
Native assembler and languages that allow inline assembler??
Arne
More information about the Info-vax
mailing list