NEW JSLIBS RELEASE

2 views
Skip to first unread message

soubok

unread,
Feb 26, 2008, 6:56:18 PM2/26/08
to jslibs
Hello,

I am pleased to announce the release of a new devsnapshot of jslibs
for windows.
This release is available in the download section (http://
code.google.com/p/jslibs/downloads/list).

This release includes several API enhancements and new functions, bug
and memory leak fixes and a lot of code optimizations. jsdebug is a
new module that has been created to manage basic debugging tasks and
help to monitor memory usage (cf. end of file
http://code.google.com/p/jslibs/source/browse/trunk/jsdebug/static.cpp).
Unforgettably, the documentation is not up to date yet but I will
update it soon.

Note that jslibs compiles fine under Linux 32-bit (check this page:
http://code.google.com/p/jslibs/wiki/jslibsBuild)

Changes:
======

- in jshost:
- remove -w, -s flags from the command line.
- add -c command line option for only compiling the script.
- by default, memory usage is unlimited but maxMem and maxAlloc are
configurable with -m and -n command line flags (use megabytes as
unit).
- the global property 'endSignal' is retriggerable (it is set to
<true> each time a break signal is detected)
- on win32, endSignal is trigged by: CTRL_C_EVENT, CTRL_BREAK_EVENT,
CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, CTRL_SHUTDOWN_EVENT.
- reset signals at exit (SIG_DFL)
- stop using BranchCallback limit to break the script execution but
enable BranchCallback to run JS_MaybeGC periodically.
- enhance module absolute path detection (arguments[0]).
- in unsafe mode (-u 1 command line option), show only errors (no
warnings) and stop reporting exceptions.
- stop using atexit when jshost exists.
- call the GC before compiling a JS file.
- fix executable file name detection (argv[0]).

- in jsstd module:
- Do not failed when Clear() something that is not an object, just
return <false>.
- disable NativeInterface for Buffer class to fix some memory leaks.
- Pack class supports host/big/little endian conversion.
- add TimeCounter(), a very accurate time counter (win32 only).
- add MaybeCollectGarbage(), that call the GC only if needed.
- fix some memory leaks in Buffer class.
- fix issue #26 (crash in std:Buffer class).
- in Buffer, avoid empty chunks to be added in the chunk list (avoid
waste of memory).
- in Buffer, onunderflow is called until it do not fill the buffer
any more (see ReadRawAmount).
- Buffer constructor accepts a buffer object (kind of copy
constructor) or a first chunk of data.
- add Buffer::toString() function (cast to string).
- add Buffer::IndexOf() function to locate a string in the buffer
(returns -1 if not found).
- add Buffer::Match().
- add Buffer::Skip().
- add Buffer::ReadUntil() function that read data until a
boundaryString is reash (boundaryString is skip by default).
- add Pack::WriteInt().

- in jsio module
- a Descriptor::Read or Socket::RecvFrom operation on a eof or a
disconnected descriptor returns <undefined> instead of an empty
string.
- before Poll() returns, callback functions are called in this
order: error, exception, hangup, readable, writable.
- optimize Poll() when descriptor list is empty.
- File::content property returns <undefined> if the file do not
exists.
- Socket::Listen() supports <undefined> value as first argument
(same as no arguments).
- enhance Socket::connectContinue function.
- Socket::Bind() returns <false> if the address/port is already in
use and <true> otherwise, and now, ip argument may be <undefined>.
- IoError::os property is the operating system error code.
- add UIntervalNow() that uses IntervalToMicroseconds.
- add IoError::toString() (cast to string).
- add Descriptor::closed property is <true> if the descriptor is
closed (NULL).
- Socket::Accept() and Socket::TransmitFile() have a timeout
argument.
- new Socket::SendTo() and jsio::Socket::RecvFrom() functions.
- add Socket::maxSegment, Socket::broadcast and
Socket::multicastLoopback socket options.
- add Socket::peerPort and jsio::Socket::sockPort properties.
- add Socket::connectContinue and Socket::connectionClosed from the
old jsnspr module.
- add Socket::GetHostsByName().

Miscellaneous:
- use sqlite-amalgamation sources instead sqlite sources.
- jsfastcgi now use fastcgi library.
- in jsobjex, make object used by objex more generic: remove
__parent__, __proto__, __count__ to avoid conflicts with user data.

Rui Tang

unread,
Mar 16, 2008, 9:34:23 AM3/16/08
to jslibs
Cool.

On Feb 27, 7:56 am, soubok <sou...@gmail.com> wrote:
> Hello,
>
> I am pleased to announce the release of a new devsnapshot of jslibs
> for windows.
> This release is available in the download section (http://
> code.google.com/p/jslibs/downloads/list).
>
> This release includes several API enhancements and new functions, bug
> and memory leak fixes and a lot of code optimizations. jsdebug is a
> new module that has been created to manage basic debugging tasks and
> help to monitor memory usage (cf. end of filehttp://code.google.com/p/jslibs/source/browse/trunk/jsdebug/static.cpp).
Reply all
Reply to author
Forward
0 new messages