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 124 125 126 127 128 129 130 131
|
What's new in the NGS JavaScript Interpreter
============================================
Noteworthy changes in js-0.2.5:
- Implemented nested function declarations, e.g. function
declarations as statements.
- Ported to 64 bit Alpha chip.
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'.
- Many bug fixes.
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.
|