# Zend Optimizer+ Source Code now available

- Thread: https://externals.io/message/65786
- Original archive: https://news-web.php.net/php.internals/65786
- Started by Zeev Suraski on 2013-02-13T14:51:39+00:00
- Messages: 53
- Page 1 of 3: messages 1 to 25 (25 per page, add `?page=N` to the URL)
- Next page: https://externals.io/message/65786.md?page=2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #65786 — Zeev Suraski — 2013-02-13T14:51:39+00:00

URL: https://externals.io/message/65786#65786

For your browsing pleasure:



https://github.com/zend-dev/ZendOptimizerPlus/



An initial README with some instructions is available at
http://bit.ly/VSs5KC

We’ve put it under the PHP license, with the same PHP Group copyright
header as all files in PHP.



As per Derick’s idea, we can arrange a webinar for those interested in
better understanding how it works.  Note that this will not be a webinar
for the faint of heart – opcode caches are complicated pieces of software;
Attendees should have very good engine-development knowledge to have a good
chance of understanding what’s going on…  Stas – your help in that webinar
would be very welcome J



Zeev

---

## #65787 — Julien Pauli — 2013-02-13T15:03:41+00:00

URL: https://externals.io/message/65786#65787 · In reply to: #65786

> For your browsing pleasure:
>
>
>
> https://github.com/zend-dev/ZendOptimizerPlus/
>
>
>
> An initial README with some instructions is available at
> http://bit.ly/VSs5KC
>
> We’ve put it under the PHP license, with the same PHP Group copyright
> header as all files in PHP.
>
>
>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.  Note that this will not be a webinar
> for the faint of heart – opcode caches are complicated pieces of software;
> Attendees should have very good engine-development knowledge to have a good
> chance of understanding what’s going on…  Stas – your help in that webinar
> would be very welcome J
>
>
>
> Zeev
>

Great !

I'm in for the webinar !

Julien.Pauli

---

## #65788 — Yahav Gindi Bar — 2013-02-13T15:06:03+00:00

URL: https://externals.io/message/65786#65788 · In reply to: #65787

Me too :)




> 
>
> > […]
> software;
> > […]
> good
> > […]
> webinar
> > […]
>
> Great !
>
> I'm in for the webinar !
>
> Julien.Pauli

---

## #65789 — Pierrick Charron — 2013-02-13T15:06:39+00:00

URL: https://externals.io/message/65786#65789 · In reply to: #65786

That's a good idea :) I'm also in



>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.

---

## #65791 — Daniel Brown — 2013-02-13T15:09:27+00:00

URL: https://externals.io/message/65786#65791 · In reply to: #65786

>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.  Note that this will not be a webinar
> for the faint of heart – opcode caches are complicated pieces of software;
> Attendees should have very good engine-development knowledge to have a good
> chance of understanding what’s going on…  Stas – your help in that webinar
> would be very welcome J

    I'm interested in attending the webinar, as well, Zeev.  Any
general idea when it would be (e.g. - next week, March, sometime
during the summer)?

---

## #65790 — Julien SALLEYRON — 2013-02-13T15:09:36+00:00

URL: https://externals.io/message/65786#65790 · In reply to: #65786

+1 for webinar


2013/2/13 Zeev Suraski <zeev@zend.com>

> For your browsing pleasure:
>
>
>
> https://github.com/zend-dev/ZendOptimizerPlus/
>
>
>
> An initial README with some instructions is available at
> http://bit.ly/VSs5KC
>
> We’ve put it under the PHP license, with the same PHP Group copyright
> header as all files in PHP.
>
>
>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.  Note that this will not be a webinar
> for the faint of heart – opcode caches are complicated pieces of software;
> Attendees should have very good engine-development knowledge to have a good
> chance of understanding what’s going on…  Stas – your help in that webinar
> would be very welcome J
>
>
>
> Zeev

---

## #65795 — Terry Ellison — 2013-02-13T16:16:03+00:00

URL: https://externals.io/message/65786#65795 · In reply to: #65786

> For your browsing pleasure:
>
>
>
> https://github.com/zend-dev/ZendOptimizerPlus/
>
>
>
> An initial README with some instructions is available at
> http://bit.ly/VSs5KC
>
> We’ve put it under the PHP license, with the same PHP Group copyright
> header as all files in PHP.
>
>
>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.  Note that this will not be a webinar
> for the faint of heart – opcode caches are complicated pieces of software;
> Attendees should have very good engine-development knowledge to have a good
> chance of understanding what’s going on…  Stas – your help in that webinar
> would be very welcome J
>
>
>
> Zeev
>
Thanks Zeev.  I've pulled a copy and will review with interest //Terry

---

## #65801 — Remi Collet — 2013-02-13T17:47:25+00:00

URL: https://externals.io/message/65786#65801 · In reply to: #65786

Le 13/02/2013 15:51, Zeev Suraski a écrit :

> https://github.com/zend-dev/ZendOptimizerPlus/

Great News !


Do you know if any control panel (like the one provided with APC)
already exists ?

I notice accelerator_reset, accelerator_get_configuration and
accelerator_get_status functions, so should be possible.


Regards,
Remi.



P.S. RPM already available in my repo for Fedora / RHEL / CentOS users
of php 5.4 and Fedora users of php 5.5.

---

## #65806 — Christopher Jones — 2013-02-13T20:50:09+00:00

URL: https://externals.io/message/65786#65806 · In reply to: #65786

> For your browsing pleasure:
>
>
>
> https://github.com/zend-dev/ZendOptimizerPlus/
>
>
>
> An initial README with some instructions is available at
> http://bit.ly/VSs5KC
>
> We’ve put it under the PHP license, with the same PHP Group copyright
> header as all files in PHP.


Great to see.

The README covers much of the content (and in more detail) that I
previously wanted to see in the RFC.

There are some things still missing from the RFC, though:

  - do you see Optimizer+ being enabled (if not in PECL) or disabled by
    default, etc.

  - your email comment to John Carter about Zend Guard decoder

  - There are still open questions in the RFC; these need to be closed
    before voting.

Comments:

  - The README gives recommended parameters.  Taking that advice at
    face value, I think these should be default settings.

  - Should the name reflect the code's main purpose (op-code caching),
    and allowing a future use of "optimizer" for a more sophisticated
    optimizer implementation?  Or do you see Optimizer+ being the
    framework for such optimizations?

Questions (I haven't dug through the code):

  - What do CLI processes share?

  - Is there an architectural reason why the 'embed' embedded SAPI
    couldn't be supported? (Lack of parent forking??)

Chris


-- 
christopher.jones@oracle.com  http://twitter.com/ghrd
Newly updated, free PHP & Oracle book:
http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html

---

## #65807 — Pierrick Charron — 2013-02-13T21:42:46+00:00

URL: https://externals.io/message/65786#65807 · In reply to: #65786

Hi,

I tried to install the ZendOptimizer+ provided earlier today but wasn't
able to make it work. I compiled it with success but when I looked at the
 `phpinfo()`; I had this :

Opcode Caching Disabled
Optimization Enabled
Startup Failed no value

I'm using the apache2handler (MPM Worker - multi-threaded), PHP Version
5.4.13-dev.

Here's my configure :

'./configure' '--enable-debug' '--enable-bcmath' '--enable-calendar'
'--enable-gd-native-ttf' '--enable-maintainer-zts' '--enable-mbstring'
'--enable-soap' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm'
'--enable-zip' '--with-apxs2=/usr/bin/apxs2'
'--with-config-file-path=/etc/php5/PHP-5.4'
'--with-config-file-scan-dir=/etc/php5/PHP-5.4/conf.d' '--with-curl'
'--with-freetype-dir=/usr/lib' '--with-gd' '--with-jpeg-dir'
'--with-kerberos' '--with-mcrypt'
'--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--with-mysql=mysqlnd'
'--with-mysqli=mysqlnd' '--with-openssl' '--with-pdo-mysql=mysqlnd'
'--with-png-dir' '--with-readline' '--with-xsl' '--with-zlib-dir'

I only added the zend_extension line in my php.ini file.

I tried to look at the log but did not found anything that could explain
why the Startup Failed. I looked a little bit at the code and
the accel_startup worked as expected at the apache start
and ZCG(startup_ok) was equal to 1 at the end of it. I'm suspecting that my
problem is related to the fact that I'm using a multi-threaded environment.
Could it be because the startup_ok variable is in the zend_accel_globals
structure and not in the zend_accel_shared_globals ? And that a
new zend_accel_globals is created for my request where the startup_ok is
not 1 ?

If you have any idea of anything I could have done wrong please let me
know. Also if you need more informations just ask and I'll try to provide
them to you.

Thanks for the help !
Pierrick



> For your browsing pleasure:
>
>
>
> https://github.com/zend-dev/ZendOptimizerPlus/
>
>
>
> An initial README with some instructions is available at
> http://bit.ly/VSs5KC
>
> We’ve put it under the PHP license, with the same PHP Group copyright
> header as all files in PHP.
>
>
>
> As per Derick’s idea, we can arrange a webinar for those interested in
> better understanding how it works.  Note that this will not be a webinar
> for the faint of heart – opcode caches are complicated pieces of software;
> Attendees should have very good engine-development knowledge to have a good
> chance of understanding what’s going on…  Stas – your help in that webinar
> would be very welcome J
>
>
>
> Zeev

---

## #65809 — Pierre Joye — 2013-02-14T06:54:14+00:00

URL: https://externals.io/message/65786#65809 · In reply to: #65786

hi,



For those willing to play with it on Windows, here are the bins for 5.5/VC11

https://twitter.com/PierreJoye/status/301946818835652608

5.3/5.4/5.5 VC9 are coming.

Cheers,
--
Pierre

@pierrejoye

---

## #65810 — Dmitry Stogov — 2013-02-14T07:38:00+00:00

URL: https://externals.io/message/65786#65810 · In reply to: #65807

Hi Pierrick,

We didn't use ZTS in Zend commercial products, so it wasn't tested for a
long time.
O+ may definitely have some ZTS related problems.
Please, report an issue at
https://github.com/zend-dev/ZendOptimizerPlus/issues
I'll look into it later

Thanks. Dmitry.

On Thu, Feb 14, 2013 at 1:42 AM, Pierrick Charron <pierrick@webstart.fr>wrote:

> Hi,
>
> I tried to install the ZendOptimizer+ provided earlier today but wasn't
> able to make it work. I compiled it with success but when I looked at the
> `phpinfo()`; I had this :
>
> Opcode Caching Disabled
> Optimization Enabled
> Startup Failed no value
>
> I'm using the apache2handler (MPM Worker - multi-threaded), PHP Version
> 5.4.13-dev.
>
> Here's my configure :
>
> './configure' '--enable-debug' '--enable-bcmath' '--enable-calendar'
> '--enable-gd-native-ttf' '--enable-maintainer-zts' '--enable-mbstring'
> '--enable-soap' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm'
> '--enable-zip' '--with-apxs2=/usr/bin/apxs2'
> '--with-config-file-path=/etc/php5/PHP-5.4'
> '--with-config-file-scan-dir=/etc/php5/PHP-5.4/conf.d' '--with-curl'
> '--with-freetype-dir=/usr/lib' '--with-gd' '--with-jpeg-dir'
> '--with-kerberos' '--with-mcrypt'
> '--with-mysql-sock=/var/run/mysqld/mysqld.sock' '--with-mysql=mysqlnd'
> '--with-mysqli=mysqlnd' '--with-openssl' '--with-pdo-mysql=mysqlnd'
> '--with-png-dir' '--with-readline' '--with-xsl' '--with-zlib-dir'
>
> I only added the zend_extension line in my php.ini file.
>
> I tried to look at the log but did not found anything that could explain
> why the Startup Failed. I looked a little bit at the code and
> the accel_startup worked as expected at the apache start
> and ZCG(startup_ok) was equal to 1 at the end of it. I'm suspecting that my
> problem is related to the fact that I'm using a multi-threaded environment.
> Could it be because the startup_ok variable is in the zend_accel_globals
> structure and not in the zend_accel_shared_globals ? And that a
> new zend_accel_globals is created for my request where the startup_ok is
> not 1 ?
>
> If you have any idea of anything I could have done wrong please let me
> know. Also if you need more informations just ask and I'll try to provide
> them to you.
>
> Thanks for the help !
> Pierrick
>
> 
>
> > […]
> software;
> > […]
> good
> > […]
> webinar
> > […]

---

## #65811 — Jan Ehrhardt — 2013-02-14T10:09:09+00:00

URL: https://externals.io/message/65786#65811 · In reply to: #65786

Zeev Suraski in php.internals (Wed, 13 Feb 2013 16:51:39 +0200):
>For your browsing pleasure:
>
>https://github.com/zend-dev/ZendOptimizerPlus/
>
>An initial README with some instructions is available at
>http://bit.ly/VSs5KC

Is my impression right that there is still a lot to be done to get this
compiled under Windows? I did not succeed and then looked into
config.m4. There are huge differenced with config.w32,

Jan

---

## #65812 — Zeev Suraski — 2013-02-14T10:13:50+00:00

URL: https://externals.io/message/65786#65812 · In reply to: #65811

It should build ok under Windows - Pierre published binaries even...

Sent from my mobile



> Zeev Suraski in php.internals (Wed, 13 Feb 2013 16:51:39 +0200):
> > […]
>
> Is my impression right that there is still a lot to be done to get this
> compiled under Windows? I did not succeed and then looked into
> config.m4. There are huge differenced with config.w32,
>
> Jan

---

## #65813 — Pierre Joye — 2013-02-14T10:21:33+00:00

URL: https://externals.io/message/65786#65813 · In reply to: #65811

hi Jan,


> Zeev Suraski in php.internals (Wed, 13 Feb 2013 16:51:39 +0200):
> > […]
>
> Is my impression right that there is still a lot to be done to get this
> compiled under Windows? I did not succeed and then looked into
> config.m4. There are huge differenced with config.w32,

There are a couple of mistakes in config.w32, Dmitry merged a PR this
morning that should fix them.

In the meantime, I uploaded binaries for all supported PHP versions here:

https://twitter.com/PierreJoye/status/301999105591373824

VC11 builds of PHP 5.5 (php itself :) snapshots are coming shortly too.

Cheers,
--
Pierre

@pierrejoye

---

## #65814 — Jan Ehrhardt — 2013-02-14T10:36:59+00:00

URL: https://externals.io/message/65786#65814 · In reply to: #65813

Pierre Joye in php.internals (Thu, 14 Feb 2013 11:21:33 +0100):
>
> > […]
>
>There are a couple of mistakes in config.w32, Dmitry merged a PR this
>morning that should fix them.

OK, I will take another shot. It failed with "Don't know how to make
Optimizer\zend_optimizer.c".

>In the meantime, I uploaded binaries for all supported PHP versions here:
>https://twitter.com/PierreJoye/status/301999105591373824
>
>VC11 builds of PHP 5.5 (php itself :) snapshots are coming shortly too.

I also tried to compile it as a normal extension (in PHP 5.4 and PHP
5.5). The standard Windows (VC9) build script tries to make
php_ZendOptimizerPlus.dll in stead of ZendOptimizerPlus.dll. Are there
any tweaks needed in configure.js or something like that to make it part
of the normal build routine?

Jan

---

## #65815 — Pierre Joye — 2013-02-14T11:09:57+00:00

URL: https://externals.io/message/65786#65815 · In reply to: #65814

hi,


> Pierre Joye in php.internals (Thu, 14 Feb 2013 11:21:33 +0100):
> > […]
>
> OK, I will take another shot. It failed with "Don't know how to make
> Optimizer\zend_optimizer.c".

Yes, this bug is fixed in master, I submitter the PR earlier today.

> > […]
>
> I also tried to compile it as a normal extension (in PHP 5.4 and PHP
> 5.5). The standard Windows (VC9) build script tries to make
> php_ZendOptimizerPlus.dll in stead of ZendOptimizerPlus.dll. Are there
> any tweaks needed in configure.js or something like that to make it part
> of the normal build routine?

Updating your tree should do it.


-- 
Pierre

@pierrejoye

---

## #65816 — Jan Ehrhardt — 2013-02-14T11:34:46+00:00

URL: https://externals.io/message/65786#65816 · In reply to: #65815

Pierre Joye in php.internals (Thu, 14 Feb 2013 12:09:57 +0100):
>Yes, this bug is fixed in master, I submitter the PR earlier today.

OK. It builds now.

> > […]
>
>Updating your tree should do it.

It still builds php_ZendOptimizerPlus.dll but that might be because I
added --enable-optimizer-plus=shared to my configure options. I like to
show in my configure line all the extensions I compile in one pass ;-)
I will see what happens if I leave that out.

Anyway, I suppose adding this to my php.ini will work as well:
zend_extension=ext/php_ZendOptimizerPlus.dll

Jan

---

## #65817 — Pierre Joye — 2013-02-14T11:44:30+00:00

URL: https://externals.io/message/65786#65817 · In reply to: #65816

hi Jan,



> > […]
>
> It still builds php_ZendOptimizerPlus.dll but that might be because I
> added --enable-optimizer-plus=shared to my configure options. I like to
> show in my configure line all the extensions I compile in one pass ;-)
> I will see what happens if I leave that out.
>
> Anyway, I suppose adding this to my php.ini will work as well:
> zend_extension=ext/php_ZendOptimizerPlus.dll

I misread the question, it is expected, like php_xdebug, php_apc, etc.

Cheers,
-- 
Pierre

@pierrejoye

---

## #65818 — Jan Ehrhardt — 2013-02-14T12:07:04+00:00

URL: https://externals.io/message/65786#65818 · In reply to: #65817

Pierre Joye in php.internals (Thu, 14 Feb 2013 12:44:30 +0100):
>I misread the question, it is expected, like php_xdebug, php_apc, etc.

Loaded from the command line (PHP 5.5.0alpha4 TS):

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.5.0-dev, Copyright (c) 1998-2013 Zend Technologies
    with Zend Optimizer+ v7.0.0-dev, Copyright (c) 1999-2013, by Zend
Technologies

Time for real tests!

Jan

PS. X64 was a step too far. And php_apc.dll does not compile anymore
under PHP 5.5 after I went back to apc 3.1.13.

---

## #65819 — Jan Ehrhardt — 2013-02-14T13:40:16+00:00

URL: https://externals.io/message/65786#65819 · In reply to: #65813

Pierre Joye in php.internals (Thu, 14 Feb 2013 11:21:33 +0100):
>VC11 builds of PHP 5.5 (php itself :) snapshots are coming shortly too.

I will stick with VC9 for the moment ;-)
http://dl.dropbox.com/u/8954372/php-5.5.0alpha4-Win32-VC9-x86.zip
http://dl.dropbox.com/u/8954372/php-5.5.0alpha4-nts-Win32-VC9-x86.zip

The PHP 5.4.11 and PHP 5.3.21 zips are in my dropbox as well.

Jan

---

## #65820 — Pierre Joye — 2013-02-14T13:47:48+00:00

URL: https://externals.io/message/65786#65820 · In reply to: #65819

> Pierre Joye in php.internals (Thu, 14 Feb 2013 11:21:33 +0100):
> > […]
>
> I will stick with VC9 for the moment ;-)
> http://dl.dropbox.com/u/8954372/php-5.5.0alpha4-Win32-VC9-x86.zip
> http://dl.dropbox.com/u/8954372/php-5.5.0alpha4-nts-Win32-VC9-x86.zip
>
> The PHP 5.4.11 and PHP 5.3.21 zips are in my dropbox as well.

VC9 snaps are already available for all almost all commits at
http://windows.php.net/downloads/snaps/

Releases are at:

http://windows.php.net/qa/ (f.e. a4)

--
Pierre

@pierrejoye

---

## #65822 — Jan Ehrhardt — 2013-02-14T14:21:42+00:00

URL: https://externals.io/message/65786#65822 · In reply to: #65820

Pierre Joye in php.internals (Thu, 14 Feb 2013 14:47:48 +0100):
>VC9 snaps are already available for all almost all commits at
>http://windows.php.net/downloads/snaps/

http://windows.php.net/downloads/snaps/php-5.4/r4b900f4/ do not include
php_ZendOptimizerPlus.dll yet.

>http://windows.php.net/qa/ (f.e. a4)

http://windows.php.net/downloads/snaps/php-5.5/r1bde2b4/ do not include
php_ZendOptimizerPlus.dll yet.

Or am I looking with my nose?

Jan

---

## #65829 — Pierre Joye — 2013-02-14T14:58:21+00:00

URL: https://externals.io/message/65786#65829 · In reply to: #65822

hi Jan,


> Pierre Joye in php.internals (Thu, 14 Feb 2013 14:47:48 +0100):
> > […]
>
> http://windows.php.net/downloads/snaps/php-5.4/r4b900f4/ do not include
> php_ZendOptimizerPlus.dll yet.
>
> > […]
>
> http://windows.php.net/downloads/snaps/php-5.5/r1bde2b4/ do not include
> php_ZendOptimizerPlus.dll yet.
>
> Or am I looking with my nose?

Yes ;-)

PHP does not bundle Optimizer, at least not yet. Snaps for pecl (or
other external exts) are at:

http://windows.php.net/downloads/pecl/snaps/

And today snaps for Optimizer is at:

http://windows.php.net/downloads/pecl/snaps/Optimizer/7.0.0-dev/


Cheers,
--
Pierre

@pierrejoye

---

## #65830 — Zeev Suraski — 2013-02-14T15:21:48+00:00

URL: https://externals.io/message/65786#65830 · In reply to: #65806

> Great to see.
>
> The README covers much of the content (and in more detail) that I
> previously
> wanted to see in the RFC.

Excellent!

> There are some things still missing from the RFC, though:
>
>   - do you see Optimizer+ being enabled (if not in PECL) or disabled by
>     default, etc.

I *think* we should strive to have it enabled by default, but it should
definitely be possible to turn it off too.  I guess that can be another
voting possibility - bundle & turn on by default (vs. just bundle).

>   - your email comment to John Carter about Zend Guard decoder

We don't want to create any special cases in O+;  We would either take care
of integrating it by having slightly patching our O+ build, or we'd add
generalized facilities to O+ that will allow the loader to interact with it
directly (that would not be unique to the Zend loader but could be used by
any extension).  From my point of view, it's nice-to-have to solve it before
5.5.0, not a must-have.

>   - There are still open questions in the RFC; these need to be closed
>     before voting.

I think the only open question is integration with other modules, most
notably debuggers.  This is something we'd like to tackle sooner rather than
later, and I think it'll be easier to just go ahead and do that now that the
source code is available.  Any other open questions that need answering?

> Comments:
>
>   - The README gives recommended parameters.  Taking that advice at
>     face value, I think these should be default settings.

The default settings are designed to minimize the chance that an app or a
workflow - which worked fine w/o O+ - will suddenly fail after O+ is
installed.  The 'recommended' settings are for max-performance.  You can
view it like 'Safe' vs. 'Extreme' settings.  Personally I think the default
settings should be closer to the Safe ones...

>   - Should the name reflect the code's main purpose (op-code caching),
>     and allowing a future use of "optimizer" for a more sophisticated
>     optimizer implementation?  Or do you see Optimizer+ being the
>     framework for such optimizations?

O+ does perform some optimizations in addition to caching code, in a pretty
sophisticated manner actually (block optimizations).  Optimizations - which
can be expensive to carry out - are definitely a good fit with an opcode
cache, that ensures that you wouldn't have to do these optimizations more
than once.  I'm obviously subjective but I think the name Optimizer+ does a
good job at suggesting that it's both an Optimizer but also something else.
Perhaps we should call it OptiCache? :)

> Questions (I haven't dug through the code):
>
>   - What do CLI processes share?

IIRC nothing, presently it's not very useful for CLI except for testing
(it'll only apply to a single run).  I could be wrong though, Dmitry?

>   - Is there an architectural reason why the 'embed' embedded SAPI
>     couldn't be supported? (Lack of parent forking??)

As long as we can map the shared memory piece to the same base address,
there's no inherent reason why we couldn't make it work with SAPI/embed.
That's how we work on Windows where there's no concept of fork();  We could
apply a similar concept on Linux - although note that it's not 100%
reliable, a base address that's free in one process may not be available in
another...

Zeev

---

Next page: https://externals.io/message/65786.md?page=2
