Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
vava committed Mar 30, 2010
0 parents commit ddd4e91
Show file tree
Hide file tree
Showing 351 changed files with 100,408 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .cvsignore
@@ -0,0 +1,4 @@
nekokey
SERVER_UPDATE.bat
key
TODO.txt
1 change: 1 addition & 0 deletions .gitignore
@@ -0,0 +1 @@
CVS
279 changes: 279 additions & 0 deletions CHANGES
@@ -0,0 +1,279 @@
2010-??-?? : 1.8.2
vm : use 15 digits (instead of 10) for float display
std : allow up to 512MB array/string size in serialize (instead of 1MB)
std : bugfix in utf8 (with 4 bytes codes)
vm : finalizers bugfix on Windows
std : added sys_thread_cpu_time()
vm : use VEXTERN for neko_kind_module and neko_id_module
std : hide process console in process_run
nekoml : added Math core module
std : fixed timeout error for sockets on Windows

2009-07-26 : 1.8.1
nekoc : small fix in evaluation of using jump tables for switch on integers
regexp : use a recursion limit to prevent stack overflows in pcre
mysql5 : completely rewrote mysql client
mod_tora : complete rearchitecture with abstract protocol
std : added socket_set_fast_send
mod_tora : use socket fast send to optimize timing
mod_tora : fixed bug when .n file does not exists
mod_tora : fix for Apache 2.x - does not set the content-type if declined
mod_tora : added port range configuration (for random tora server)
std, mod_tora : propagate jit mode to created threads
nekoc : optimization for debug infos : precompute file table at compile-time
threads : added neko_gc_register_thread (but buggy, so not used)
mysql5 : added 5 hours network timeout while waiting for an answer
mysql5 : fixed some additional errors handling
mysql5 : allow big requests (more than 16MB)
vm : optimize object table - one word and one memory block saved per object
jit : one more crash fix for the + operation and unexisting overloaded operator
nekoml : added Sys.is_directory, Sys.read_directory and Regexp.split
nekoml : don't allow empty match
vm : create pthreads in detached mode (prevent leak on osx/linux)
std : added math_fceil,math_ffloor,math_fround,math_int,process_kill
nekoc : forbidden usage of 'var' outside blocks

2008-09-23 : 1.8.0
added mod_tora (neko application server)
changed mod_neko get_host_name : return the http host instead of the server IP
bugfix in nekoml : fixed usage of nekoml.std + added -nostd
std : added EINTR handling in send/recv socket operations and fread/fwrite
gc : upgraded windows version to 7.1
vm : fixed comparison of bool
vm : moved threads stuff into threads.c
nekoml : fixed lexing engine, allow escape sequences in char groups
mysql : link with thread_safe version on linux
std : fixed threads issues with host_resolve and host_reverse
libs : compile with -pthread on linux/osx to ensure thread safety
main : turned ON jit by default for bootable executables
std : added set_trusted primitive
gc : use alloc_ignore_off_page for large blocks
gc : use finalizers with no_order (prevent cycles)
mysql : prevent hashing the fields that looks like inner requests
vm : optimized global fields cache
std : string_split doesn't copy the string anymore if the pattern is not found
vm : added neko_vm_dump_stack
std : use per-thread locale on POSIX systems
std : url_encode does not encode anymore - and . chars
std : fixed sleep() for unix (more accurate and deal with signals)
std : added module_read_string and module_set_name
std : fixed some file descriptor issues with processes and threads
jit : fixed crash whith unsupported OO overloading
vm : added $getkind and $iskind builtins
std : added same_closure for closure comparison

2008-07-28 : 1.7.1
nekotools : fixed set_return_code in web server
std : display windowed application in process_run
mod_neko : allowed to uncache module with set_main(null)
mod_neko : use strmcpi for set_header("Content-Type")
nekoc : one last fix for big arrays (first element was not compiled)
mod_neko : added get_http_method
nekoml : minor fixes in lexer
nekoml : added -pack and -use, auto build nekoml.std
include nekoml as part of standard distribution
vm/security : $smake now fills the string with 0
std/int32 : fixed need_32_bits macro (negative values)
bugfix : >> and >>> were reversed in JIT
bugfix : date functions are now MT-safe
removed context.h and context.c
added lock and tls multithread API to neko.h
std : added date_get_tz()
mod_neko : added log_message
regexp : fix for unmatched optional groups, return null instead of empty string
threads : for windows, use critical_section instead of mutex for locks
threads : for posix, use a recursive mutex which match windows behavior
std : added mutex and deque api (threads)

2008-03-16 : 1.7.0
nekoc : allow binary ast format with -p, don't allow inline nxml
std : allow int32_new float parameter
vm : reduce debug infos memory size by 16
vm : fixed $int in case of overflow
regexp : upgraded windows ndll to use pcre 7.3 with utf8 support
fixed : math_round(0.5) is now 1
fixed : date_set_hour and date_set_day crash with invalid dates
fixed : bug in vm/callback.c when stack address is >2GB
sockets : added support for socket_poll for Windows
sockets : added socket_poll_prepare and socket_poll_events
thread : added tls_create, tls_set, tls_get
vm : threaded interpreter (gcc only)
vm : always use COMPACT_TABLE for objects
mod_neko : log some errors into apache log
neko+vm : added perf statistics hooks (-stats)
mod_neko : scriptable configuration and statistics
regexp : allow more than 10 matches
std : added process_close
vm : added $aconcat
nekoc : fixed big arrays declarations
std : added sys_is64

2007-07-25 : 1.6.0
display error message when uncaught exception in neko thread
fix bug in long run JIT programs : no C functions callable anymore
use a smarter way to prevent C stack overflow
nekoc : stack align error message
set max-stack-per-function to 128 and default-stack-size to 256
jit now check stack overflow on function entry and not on every push
mod_neko2 set MOD_NEKO=2 env var (for version detection)
mod_neko2 : remove Apache 2.0 error message, use 302 http code for redirect
fixed fallback of interp operator overloading
fix for 64-bit CPU
minor optimization for [0] jit array access
gnuk/freebsd support
fixed thread messages on Windows (do not use system queue)
thread_current returns unique value
remove kind_import, kind_export, added kind_share
added ui library
added libs/std/process api functions
new binary ast format (faster than nxml)

2007-01-28 : 1.5.3
minor fixes in mod_neko multipart and POST data handling
fixed $objremove result (was always true)
fixed one-last-bug when using more-than-five-arguments method call return value
fixed bug in dev webserver when accessing a directory
added xcross support
fixed bug with $setresolver in bytecode interpreter
changed bootable vm implementation (easier, allow compressed bin)
added .mode in sys_stat
change in $version format

2006-11-22 : 1.5.2
fixed std math_pow float
minor thread cleanup
added MySQL5.ndll for Windows
fields hash cache is now global (instead of per-thread)
socket_select retry on EINTR
fixed under-second lock timeout for Linux/OSX
added socket_poll for Linux/OSX (emulate with select() on Windows)
fixed compilation bug when accessing 'this' in arguments and more than 5 args
fixed string_split with empty string (was causing infinite loop)
fixes in more-than-five-arguments-calls
added $varargs

2006-10-29 : 1.5
neko web server : get_client_header is now case-insensitive
std : new thread and lock api
neko : when run from commandline, SEGV on Linux are turned into exceptions
+ added mod_neko2 error if used with Apache 2.0.x

2006-10-09 : 1.4.5
sqlite : added BOOL handling
jit : added mmap support (for execution protection)
jit : fixed bug when unsupported operation exception
vm : fixed bug in debug infos reading when nfiles > 255
vm : fixed bug in interp -> jit call
vm : default NEKOPATH is now the same on OSX/Linux
vm : optimized debug infos runtime memory size
std : added misc.c (float & double bytes manipulations + gc/vm functions)
std : fixed buf in sys_read_dir on windows (directory not closed correctly)
std : added sys_getch, sys_get_pid
std : fixed socket_host (was returning the same as socket_peer)
std : improved performances of serialize/unserialize
allowed break & continues in try/catch if they don't break outside
nekoml : fixed bug in lexer allocating too bug memory when small reads
nekotools : bugfixes in server, added static file streaming
nekotools : fixed boot for universal binaries
mod_neko : minor updates for better memory handling
mod_neko : use soft timeout for Apache 1.3

2006-08-02 : 1.4
std : added a SO_REUSEADDR before socket_bind (except windows)
nekoc/nekovm : allowed more than 127 filenames in debug infos
nekotools server : added -rewrite for mod_rewrite'style urls
added zlib wrapper
mod_neko for apache 2.0
added sqlite wrapper
std : fixed socket_set_timeout (changed unit from millisec to seconds)
std : fixed math_pow (integer overflow) , fixed readdir (missing closedir on Linux)
added PPC registers
neko.h : added NEKO_* OS/CPU flags
added JIT for x86
vm : (int mod 0) is now an exception (and not NaN)
neko.h : added kind_import and kind_export to share abstracts between libraries
std : handle signals in socket send and recv
allowed OSX universal build
added $setresolver for unknown object field handling

2006-05-11 : 1.3
neko : fixed endianness bug needed to boot, exported neko_is_big_endian
neko : fixed bug on Linux x86 gcc with object operators (eax get overwritten)
neko : fixed bug : error when __string or __compare does not exist
neko : allowed runtime printer redirection (+ added std@print_redirect)
neko : defined a default NEKOPATH when not specified (less configuration)
neko : fixed int32 calculus bug (need_32_bits macro)
neko : fixed calls with a lot of arguments (some cases were failing)
neko : fixed preservation of 'this' through tailcall, if changed inside the call
neko : added unary operator minus parsing
neko : fixed error reporting of unclosed parenthesis
nekoml : added Net core module for sockets
nekoml : when catching Neko errors, wrap them using Neko_error constructor
std : supported serialization of C primitives and __serialize/__unserialize overrides
added nekotools (merged nekoboot and neko webserver)
std : fixed math_round, fixed math docs
std : fixed bug in utf8_resize, utf8_get and utf8_iter.
regexp : added regexp_new_options for matching options and regexp_replace_fun
regexp : fixed invalid matched length when not index 0
added some benchmarks in src/benchs
neko : fixed $ablit and $sblit (when used with same array/string)
neko : fixed multithread win32 support
mod_neko : changed Content-Type handling for POST data
std : added blocking sockets support
std : changed sys_time to sys_cpu_time, added sys_time (local time).
std : fixed put_env on Linux (GC issue)
cleanup of some stuff needed by experimental JIT
std : added memory module

2006-01-09 : 1.2
nekoc:
added linker : provide linked versions of neko & nekoml compilers
added tail calls optimization
nekoml:
little improved nekoml->neko patterns generator
libs:
added md5 digest , utf8 api and base_encode/base_decode in std
some changes in mod_neko api
mysql api now threat tinyint(1) as booleans
improved xml parser : support for doctype
some fixes for OSX and C++ compilation
neko:
renamed 'nekovm' to 'neko'
experimental jit support
object prototypes
moved args from builtin ($args) to loader ($loader.args)
makeboot can create standalone binaries
runtime errors on :
- calls with invalid number of arguments
- field accesses of not-an-object
- binary operations on invalid types
- array accesses on not-an-array and not-an-object
license change : from GPL to LGPL

2005-11-10 : 1.1
vm :
ports PPC (big endian) and AMD64
added stack conservation check at bytecode loadtime : faster VM runtime
some more opcodes for better speed
added exception and call stack traces
added debug informations for bytecode
added dispatch tables (for integer switchs)
tuned GC usage
reorganized VM apis
neko:
added labels in the language specification
added $goto and $apply
added switchs
added documentation generator
nekoml:
added NekoML
bootstrapped the language (no more need for ocaml)
libs:
rewrote and completed standard library
added generated documentation

2005-08-17 : 1.0
compiler in ocaml
virtual machine
mod_neko
some small libraries

0 comments on commit ddd4e91

Please sign in to comment.