on NSPR. In fact, the JS C-engine no longer depends on NSPR at all in
a single-threaded environment and the multi-threaded version relies on
NSPR strictly for its threading primitives. This change was made for
several reasons:
+ To merge the js/src and js/ref directories, which differ only in that
the former is designed to link with NSPR2, but the latter makes use of
an NSPR1 subset. The automatic generation of src from ref often led
to confusion and sometimes to merge-related errors.
+ To avoid the requirement to link against multiple versions of NSPR
when delivering JS binaries. (Different internal customers of JS have
standardized upon different NSPR releases.)
+ To shield JS from incompatible changes to NSPR.
Most of the changes involved simple renaming of types, macros,
identifiers and file names, i.e. from pr* to js*. In some cases, this
transformation resulted in name collisions and a different name was
chosen. One place where renaming was *not* performed was in the
definition of simple scalar types, i.e. int32, uint16, etc. The
jsotypes.h header file was specially handled so as to avoid typename
collision with NSPR types of the same name.
git-svn-id: svn://10.0.0.236/branches/SpiderMonkey140_BRANCH@10585 18797224-902f-48f8-a5cc-f745e15eee43
and development branches, including but
not limited to:
- Preliminary exception handling per
ECMA proposal; try, multiple
catchblocks, and finally. Catchblocks
are of the form catch (v) or
catch(v:<guard>), where guard is an
optional boolean expression that is
evaluated to determine whether the
exception is to be caught by that block.
- ECMA-proposed 'in' operator; "'foo' in
o" or "4 in o" asks if o has property
foo or element 4.
- Added a new set of defines in
jsconfig.h for js 1.4
features-in-progress. (in, instanceof,
exception handling.) Default build
version is now 1.4. Fixed a few
conditional features that had become
broken.
- Progress towards porting to FreeBSD
and Alpha; casts of NaN and friends to
int are a little more localized. Not
there yet...
- New config files to compile on more
OSes; various fixes to improve
portability.
git-svn-id: svn://10.0.0.236/trunk@6907 18797224-902f-48f8-a5cc-f745e15eee43