1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
What's new in the NGS JavaScript Interpreter
============================================
Noteworthy changes in js-0.2.4:
- Security options for the virtual machine to disable insecure
methods from the File and System built-in objects.
- New global method `print()' that prints its arguments to the
system's standard output stream.
- User-definable event hooks.
- New built-in object `Directory' to access directories.
- ECMAScript compatibility fixes in: built-in objects, byte-code
operands, compiler
- Optimizations in the memory usage.
- Simple constant folding optimization for additive expressions.
- JavaScript assembler `jsas'.
Noteworthy changes in js-0.2.3:
* Misc
- ECMAScript compatibility fixes in: built-in objects, byte-code
operands, compiler
- fixed the configure option `--with-pthreads' to resolve the system
features
Noteworthy changes in js-0.2.2:
* Misc
- js.h API changes
- better ECMAScript support
* JSC
- do Statement while (Expression);
- switch (Expression) CaseBlock
- try statement (ECMAScript compatible)
- labeled statements
- the continue and break statements now support the labeled
statements
- local variable declarations in for statements
- \xHH and \uHHHH escape sequences in string and regular expression
literals
- strict equals and does-not-equal operators
- the `arguments' property of function instance
- optimizations and code cleanups
Noteworthy changes in js-0.2.1:
* New methods:
** global methods
- callMethod() to call methods from objects with given array of
arguments.
- loadClass() extend the interpreter by calling extension entry
functions from shared libraries.
** File
- chmod() change permissions of a file
** Number
- constructor `new Number()'
- global method `Number()' invocation
* The `js' program
- new option -x, --executable to add execute permissions to the
generated byte-code files
- new warning options: -Wmissing-semicolon, -Wstrict-ecma, -Wpedantic
* js.h API changes
* Misc
- Uses libtool for libraries. Now the libjs can be built to a
shared library.
- New utility program `jswrap' to create C functions that are
implemented in JavaScript.
- Automatic semicolon insertion.
- Support for regular expression literals.
- Support for array initializers.
- updates in the byte-code operands
- new configure option `--disable-jumps' to uncoditionally disable
the `jumps' byte-code instruction dispatch method
- ported to Windows 9x/NT
Noteworthy changes in js-0.2.0:
* The license was changed to GNU Library General Public License LGPL.
* JSC
- Implemented 'foo'-strings. The character constants are now
written as #'a'.
- Implemented the mod operand.
* Implemented the prototype properties for objects.
* Implemented the prototype properties for built-in objects. Now you
can define your own properties for built-in objects.
* Major cleanups in the memory management:
- The interpreter will not exit if memory allocations fail.
- Fixed all known memory leaks.
- Optimized the heap freelist handling. This reduces the memory
consumption noticeably.
* Namespace cleanups.
* Documentation updates.
* Bug fixes and feature updates. Please, see the ChangeLogs for the
details.
|