diff options
author | Steve Block <steveblock@google.com> | 2009-10-30 11:49:00 +0000 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2009-11-03 17:23:38 +0000 |
commit | a7e24c173cf37484693b9abb38e494fa7bd7baeb (patch) | |
tree | 4aeefe31292fbed0d94f1b93fe86c51849b001c2 /ChangeLog | |
parent | af654c46444383e0baed1cb27a4c1d1bdcac8dd9 (diff) | |
download | android_external_v8-a7e24c173cf37484693b9abb38e494fa7bd7baeb.tar.gz android_external_v8-a7e24c173cf37484693b9abb38e494fa7bd7baeb.tar.bz2 android_external_v8-a7e24c173cf37484693b9abb38e494fa7bd7baeb.zip |
Move V8 to external/v8
Change-Id: If68025d67453785a651c5dfb34fad298c16676a4
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 1278 |
1 files changed, 1278 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..8c745916 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,1278 @@ +2009-09-23: Version 1.3.13 + + Fixed uninitialized memory problem. + + Improved heap profiler support. + + +2009-09-22: Version 1.3.12 + + Changed behavior of |function|.toString() on built-in functions to + be compatible with other implementations. Patch by Jan de Mooij. + + Added Object::IsDirty in the API. + + Optimized array construction; it is now handled purely in native + code. + + [ES5] Made properties of the arguments array enumerable. + + [ES5] Added test suite adapter for the es5conform test suite. + + [ES5] Added Object.keys function. + + +2009-09-15: Version 1.3.11 + + Fixed crash in error reporting during bootstrapping. + + Optimized generated IA32 math code by using SSE2 instructions when + available. + + Implemented missing pieces of debugger infrastructure on ARM. The + debugger is now fully functional on ARM. + + Make 'hidden' the default visibility for gcc. + + +2009-09-09: Version 1.3.10 + + Fixed profiler on Mac in 64-bit mode. + + Optimized creation of objects from simple constructor functions on + ARM. + + Fixed a number of debugger issues. + + Reduced the amount of memory consumed by V8. + + +2009-09-02: Version 1.3.9 + + Optimized stack guard checks on ARM. + + Optimized API operations by inlining more in the API. + + Optimized creation of objects from simple constructor functions. + + Enabled a number of missing optimizations in the 64-bit port. + + Implemented native-code support for regular expressions on ARM. + + Stopped using the 'sahf' instruction on 64-bit machines that do + not support it. + + Fixed a bug in the support for forceful termination of JavaScript + execution. + + +2009-08-26: Version 1.3.8 + + Changed the handling of idle notifications to allow idle + notifications when V8 has not yet been initialized. + + Fixed ARM simulator compilation problem on Windows. + + +2009-08-25: Version 1.3.7 + + Reduced the size of generated code on ARM platforms by reducing + the size of constant pools. + + Changed build files to not include the 'ENV' user environment + variable in the build environment. + + Changed the handling of idle notifications. + + +2009-08-21: Version 1.3.6 + + Add support for forceful termination of JavaScript execution. + + Add low memory notification to the API. The embedding host can signal + a low memory situation to V8. + + Changed the handling of global handles (persistent handles in the API + sense) to avoid issues regarding allocation of new global handles + during weak handle callbacks. + + Changed the growth policy of the young space. + + Fixed a GC issue introduced in version 1.3.5. + + +2009-08-19: Version 1.3.5 + + Optimize initialization of some arrays in the builtins. + + Fix mac-nm script to support filenames with spaces. + + Support for using the V8 profiler when V8 is embedded in a Windows DLL. + + Changed typeof RegExp from 'object' to 'function' for compatibility. + Fixed bug where regexps were not callable across contexts. + + Added context independent script compilation to the API. + + Added API call to get the stack trace for an exception. + + Added API for getting object mirrors. + + Make sure that SSE3 instructions are used whenever possible even when + running off a snapshot generated without using SSE3 instructions. + + Tweaked the handling of the initial size and growth policy of the heap. + + Added native code generation for RegExp to 64-bit version. + + Added JavaScript debugger support to 64-bit version. + + +2009-08-13: Version 1.3.4 + + Added a readline() command to the d8 shell. + + Fixed bug in json parsing. + + Added idle notification to the API and reduced memory on idle + notifications. + + +2009-08-12: Version 1.3.3 + + Fix issue 417: incorrect %t placeholder expansion. + + Add .gitignore file similar to Chromium's one. + + Fix SConstruct file to build with new logging code for Android. + + API: added function to find instance of template in prototype + chain. Inlined Object::IsInstanceOf. + + Land change to notify valgrind when we modify code on x86. + + Add api call to determine whether a string can be externalized. + + Add a write() command to d8. + + +2009-08-05: Version 1.3.2 + + Started new compiler infrastructure for two-pass compilation using a + control flow graph constructed from the AST. + + Profiler stack sampling for X64. + + Safe handling of NaN to Posix platform-dependent time functions. + + Added a new profiler control API to unify controlling various aspects + of profiling. + + Fixed issue 392. + + +2009-07-30: Version 1.3.1 + + Speed improvements to accessors and interceptors. + + Added support for capturing stack information on custom errors. + + Added support for morphing an object into a pixel array where its + indexed properties are stored in an external byte array. Values written + are always clamped to the 0..255 interval. + + Profiler on x64 now handles C/C++ functions from shared libraries. + + Changed the debugger to avoid stepping into function.call/apply if the + function is a built-in. + + Initial implementation of constructor heap profile for JS objects. + + More fine grained control of profiling aspects through the API. + + Optimized the called as constructor check for API calls. + + +2009-07-27: Version 1.3.0 + + Allowed RegExp objects to be called as functions (issue 132). + + Fixed issue where global property cells would escape after + detaching the global object; see http://crbug.com/16276. + + Added support for stepping into setters and getters in the + debugger. + + Changed the debugger to avoid stopping in its own JavaScript code + and in the code of built-in functions. + + Fixed issue 345 by avoiding duplicate escaping labels. + + Fixed ARM code generator crash in short-circuited boolean + expressions and added regression tests. + + Added an external allocation limit to avoid issues where small V8 + objects would hold on to large amounts of external memory without + causing garbage collections. + + Finished more of the inline caching stubs for x64 targets. + + +2009-07-13: Version 1.2.14 + + Added separate paged heap space for global property cells and + avoid updating the write barrier when storing into them. + + Improved peep-hole optimization on ARM platforms by not emitting + unnecessary debug information. + + Re-enabled ICs for loads and calls that skip a global object + during lookup through the prototype chain. + + Allowed access through global proxies to use ICs. + + Fixed issue 401. + + +2009-07-09: Version 1.2.13 + + Fixed issue 397, issue 398, and issue 399. + + Added support for breakpoint groups. + + Fixed bugs introduced with the new global object representation. + + Fixed a few bugs in the ARM code generator. + + +2009-07-06: Version 1.2.12 + + Added stack traces collection to Error objects accessible through + the e.stack property. + + Changed RegExp parser to use a recursive data structure instead of + stack-based recursion. + + Optimized Date object construction and string concatenation. + + Improved performance of div, mod, and mul on ARM platforms. + + +2009-07-02: Version 1.2.11 + + Improved performance on IA-32 and ARM. + + Fixed profiler sampler implementation on Mac OS X. + + Changed the representation of global objects to improve + performance of adding a lot of new properties. + + +2009-06-29: Version 1.2.10 + + Improved debugger support. + + Fixed bug in exception message reporting (issue 390). + + Improved overall performance. + + +2009-06-23: Version 1.2.9 + + Improved math performance on ARM. + + Fixed profiler name-inference bug. + + Fixed handling of shared libraries in the profiler tick processor + scripts. + + Fixed handling of tests that time out in the test scripts. + + Fixed compilation on MacOS X version 10.4. + + Fixed two bugs in the regular expression engine. + + Fixed a bug in the string type inference. + + Fixed a bug in the handling of 'constant function' properties. + + Improved overall performance. + + +2009-06-16: Version 1.2.8 + + Optimized math on ARM platforms. + + Fixed two crash bugs in the handling of getters and setters. + + Improved the debugger support by adding scope chain information. + + Improved the profiler support by compressing log data transmitted + to clients. + + Improved overall performance. + + +2009-06-08: Version 1.2.7 + + Improved debugger and profiler support. + + Reduced compilation time by improving the handling of deferred + code. + + Optimized interceptor accesses where the property is on the object + on which the interceptors is attached. + + Fixed compilation problem on GCC 4.4 by changing the stack + alignment to 16 bytes. + + Fixed handle creation to follow stric aliasing rules. + + Fixed compilation on FreeBSD. + + Introduced API for forcing the deletion of a property ignoring + interceptors and attributes. + + +2009-05-29: Version 1.2.6 + + Added a histogram recording hit rates at different levels of the + compilation cache. + + Added stack overflow check for the RegExp analysis phase. Previously a + very long regexp graph could overflow the stack with recursive calls. + + Use a dynamic buffer when collecting log events in memory. + + Added start/stop events to the profiler log. + + Fixed infinite loop which could happen when setting a debug break while + executing a RegExp compiled to native code. + + Fixed handling of lastIndexOf called with negative index (issue 351). + + Fixed irregular crash in profiler test (issue 358). + + Fixed compilation issues with some versions of gcc. + + +2009-05-26: Version 1.2.5 + + Fixed bug in initial boundary check for Boyer-Moore text + search (issue 349). + + Fixed compilation issues with MinGW and gcc 4.3+ and added support + for armv7 and cortex-a8 architectures. Patches by Lei Zhang and + Craig Schlenter. + + Added a script cache to the debugger. + + Optimized compilation performance by improving internal data + structures and avoiding expensive property load optimizations for + code that's infrequently executed. + + Exposed the calling JavaScript context through the static API + function Context::GetCalling(). + + +2009-05-18: Version 1.2.4 + + Improved performance of floating point number allocation for ARM + platforms. + + Fixed crash when using the instanceof operator on functions with + number values in their prototype chain (issue 341). + + Optimized virtual frame operations in the code generator to speed + up compilation time and allocated the frames in the zone. + + Made the representation of virtual frames and jump targets in the + code generator much more compact. + + Avoided linear search for non-locals in scope code when resolving + variables inside with and eval scopes. + + Optimized lexical scanner by dealing with whitespace as part of + the token scanning instead of as a separate step before it. + + Changed the scavenging collector so that promoted objects do not + reside in the old generation while their remembered set is being + swept for pointers into the young generation. + + Fixed numeric overflow handling when compiling count operations. + + +2009-05-11: Version 1.2.3 + + Fixed bug in reporting of out-of-memory situations. + + Introduced hidden prototypes on certain builtin prototype objects + such as String.prototype to emulate JSC's behavior of restoring + the original function when deleting functions from those prototype + objects. + + Fixed crash bug in the register allocator. + + +2009-05-04: Version 1.2.2 + + Fixed bug in array sorting for sparse arrays (issue 326). + + Added support for adding a soname when building a shared library + on Linux (issue 151). + + Fixed bug caused by morphing internal ASCII strings to external + two-byte strings. Slices over ASCII strings have to forward ASCII + checks to the underlying buffer string. + + Allowed API call-as-function handlers to be called as + constructors. + + Fixed a crash bug where an external string was disposed but a + slice of the external string survived as a symbol. + + +2009-04-27: Version 1.2.1 + + Added EcmaScript 5 JSON object. + + Fix bug in preemption support on ARM. + + +2009-04-23: Version 1.2.0 + + Optimized floating-point operations on ARM. + + Added a number of extensions to the debugger API. + + Changed the enumeration order for unsigned integer keys to always + be numerical order. + + Added a "read" extension to the shell sample. + + Added support for Array.prototype.reduce and + Array.prototype.reduceRight. + + Added an option to the SCons build to control Microsoft Visual C++ + link-time code generation. + + Fixed a number of bugs (in particular issue 315, issue 316, + issue 317 and issue 318). + + +2009-04-15: Version 1.1.10 + + Fixed crash bug that occurred when loading a const variable in the + presence of eval. + + Allowed using with and eval in registered extensions in debug mode + by fixing bogus assert. + + Fixed the source position for function returns to enable the + debugger to break there. + + +2009-04-14: Version 1.1.9 + + Made the stack traversal code in the profiler robust by avoiding + to look into the heap. + + Added name inferencing for anonymous functions to facilitate + debugging and profiling. + + Re-enabled stats timers in the developer shell (d8). + + Fixed issue 303 by avoiding to shortcut cons-symbols. + + +2009-04-11: Version 1.1.8 + + Changed test-debug/ThreadedDebugging to be non-flaky (issue 96). + + Fixed step-in handling for Function.prototype.apply and call in + the debugger (issue 269). + + Fixed v8::Object::DeleteHiddenValue to not bail out when there + are no hidden properties. + + Added workaround for crash bug, where external symbol table + entries with deleted resources would lead to NPEs when looking + up in the symbol table. + + +2009-04-07: Version 1.1.7 + + Added support for easily importing additional environment + variables into the SCons build. + + Optimized strict equality checks. + + Fixed crash in indexed setters on objects without a corresponding + getter (issue 298). + + Re-enabled script compilation cache. + + +2009-04-01: Version 1.1.6 + + Reverted an unsafe code generator change. + + +2009-04-01: Version 1.1.5 + + Fixed bug that caused function literals to not be optimized as + much as other functions. + + Improved profiler support. + + Fixed a crash bug in connection with debugger unloading. + + Fixed a crash bug in the code generator caused by losing the + information that a frame element was copied. + + Fixed an exception propagation bug that could cause non-null + return values when exceptions were thrown. + + +2009-03-30: Version 1.1.4 + + Optimized String.prototype.match. + + Improved the stack information in profiles. + + Fixed bug in ARM port making it possible to compile the runtime + system for thumb mode again. + + Implemented a number of optimizations in the code generator. + + Fixed a number of memory leaks in tests. + + Fixed crash bug in connection with script source code and external + strings. + + +2009-03-24: Version 1.1.3 + + Fixed assertion failures in compilation of loop conditions. + + Removed STL dependency from developer shell (d8). + + Added infrastructure for protecting the V8 heap from corruption + caused by memory modifications from the outside. + + +2009-03-24: Version 1.1.2 + + Improved frame merge code generated by the code generator. + + Optimized String.prototype.replace. + + Implemented __defineGetter__ and __defineSetter__ for properties + with integer keys on non-array objects. + + Improved debugger and profiler support. + + Fixed a number of portability issues to allow compilation for + smaller ARM devices. + + Exposed object cloning through the API. + + Implemented hidden properties. This is used to expose an identity + hash for objects through the API. + + Implemented restarting of regular expressions if their input + string changes representation during preemption. + + Fixed a code generator bug that could cause assignments in loops + to be ignored if using continue to break out of the loop (issue + 284). + + +2009-03-12: Version 1.1.1 + + Fixed an assertion in the new compiler to take stack overflow + exceptions into account. + + Removed exception propagation code that could cause crashes. + + Fixed minor bug in debugger line number computations. + + 8-byte align the C stack on Linux and Windows to speed up floating + point computations. + + +2009-03-12: Version 1.1.0 + + Improved code generation infrastructure by doing simple register + allocation and constant folding and propagation. + + Optimized regular expression matching by avoiding to create + intermediate string arrays and by flattening nested array + representations of RegExp data. + + Traverse a few stack frames when recording profiler samples to + include partial call graphs in the profiling output. + + Added support for using OProfile to profile generated code. + + Added remote debugging support to the D8 developer shell. + + Optimized creation of nested literals like JSON objects. + + Fixed a bug in garbage collecting unused maps and turned it on by + default (--collect-maps). + + Added support for running tests under Valgrind. + + +2009-02-27: Version 1.0.3 + + Optimized double-to-integer conversions in bit operations by using + SSE3 instructions if available. + + Optimized initialization sequences that store to multiple + properties of the same object. + + Changed the D8 debugger frontend to use JSON messages. + + Force garbage collections when disposing contexts. + + Align code objects at 32-byte boundaries. + + +2009-02-25: Version 1.0.2 + + Improved profiling support by performing simple call stack + sampling for ticks and by fixing a bug in the logging of code + addresses. + + Fixed a number of debugger issues. + + Optimized code that uses eval. + + Fixed a couple of bugs in the regular expression engine. + + Reduced the size of generated code for certain regular expressions. + + Removed JSCRE completely. + + Fixed issue where test could not be run if there was a dot in the + checkout path. + + +2009-02-13: Version 1.0.1 + + Fixed two crash-bugs in irregexp (issue 231 and 233). + + Fixed a number of minor bugs (issue 87, 227 and 228). + + Added support for morphing strings to external strings on demand + to avoid having to create copies in the embedding code. + + Removed experimental support for external symbol callbacks. + + +2009-02-09: Version 1.0.0 + + Fixed crash-bug in the code generation for case independent 16 bit + backreferences. + + Made shells more robust in the presence of string conversion + failures (issue 224). + + Fixed a potential infinite loop when attempting to resolve + eval (issue 221). + + Miscellaneous fixes to the new regular expression engine. + + Reduced binary by stripping unneeded text from JavaScript library and + minifying some JavaScript files. + + +2009-01-27: Version 0.4.9 + + Enabled new regular expression engine. + + Made a number of changes to the debugger protocol. + + Fixed a number of bugs in the preemption support. + + Added -p option to the developer shell to run files in parallel + using preemption. + + Fixed a number of minor bugs (including issues 176, 187, 189, 192, + 193, 198 and 201). + + Fixed a number of bugs in the serialization/deserialization + support for the ARM platform. + + +2009-01-19: Version 0.4.8.1 + + Minor patch to debugger support. + + +2009-01-16: Version 0.4.8 + + Fixed string length bug on ARM (issue 171). + + Made most methods in the API const. + + Optimized object literals by improving data locality. + + Fixed bug that caused incomplete functions to be cached in case of + stack overflow exceptions. + + Fixed bugs that caused catch variables and variables introduced by + eval to behave incorrectly when using accessors (issues 186, 190 + and 191). + + +2009-01-06: Version 0.4.7 + + Minor bugfixes and optimizations. + + Added command line debugger to D8 shell. + + Fixed subtle bug that caused the wrong 'this' to be used when + calling a caught function in a catch clause. + + Inline array loads within loops directly in the code instead of + always calling a stub. + + +2008-12-11: Version 0.4.6 + + Fixed exception reporting bug where certain exceptions were + incorrectly reported as uncaught. + + Improved the memory allocation strategy used during compilation to + make running out of memory when compiling huge scripts less + likely. + + Optimized String.replace by avoiding the construction of certain + sub strings. + + Fixed bug in code generation for large switch statements on ARM. + + Fixed bug that caused V8 to change the global object template + passed in by the user. + + Changed the API for creating object groups used during garbage + collection. Entire object groups are now passed to V8 instead of + individual members of the groups. + + +2008-12-03: Version 0.4.5 + + Added experimental API support for allocating V8 symbols as + external strings. + + Fixed bugs in debugging support on ARM. + + Changed eval implementation to correctly detect whether or not a + call to eval is aliased. + + Fixed bug caused by a combination of the compilation cache and + dictionary probing in native code. The bug caused us to sometimes + call functions that had not yet been compiled. + + Added platform support for FreeBSD. + + Added support for building V8 on Windows with either the shared or + static version of MSVCRT + + Added the v8::jscre namespace around the jscre functions to avoid + link errors (duplicate symbols) when building Google Chrome. + + Added support for calling a JavaScript function with the current + debugger execution context as its argument to the debugger + interface. + + Changed the type of names of counters from wchar_t to char. + + Changed the Windows system call used to compute daylight savings + time. The system call that we used to use became four times + slower on WinXP SP3. + + Added support in the d8 developer shell for memory-mapped counters + and added a stats-viewer tool. + + Fixed bug in upper/lower case mappings (issue 149). + + +2008-11-17: Version 0.4.4 + + Reduced code size by using shorter instruction encoding when + possible. + + Added a --help option to the shell sample and to the d8 shell. + + Added visual studio project files for building the ARM simulator. + + Fixed a number of ARM simulator issues. + + Fixed bug in out-of-memory handling on ARM. + + Implemented shell support for passing arguments to a script from + the command line. + + Fixed bug in date code that made certain date functions return -0 + instead of 0 for dates before the epoch. + + Restricted applications of eval so it can only be used in the + context of the associated global object. + + Treat byte-order marks as whitespace characters. + + +2008-11-04: Version 0.4.3 + + Added support for API accessors that prohibit overwriting by + accessors defined in JavaScript code by using __defineGetter__ and + __defineSetter__. + + Improved handling of conditionals in test status files. + + Introduced access control in propertyIsEnumerable. + + Improved performance of some string operations by caching + information about the type of the string between operations. + + Fixed bug in fast-case code for switch statements that only have + integer labels. + + +2008-10-30: Version 0.4.2 + + Improved performance of Array.prototype.concat by moving the + implementation to C++ (issue 123). + + Fixed heap growth policy to avoid growing old space to its maximum + capacity before doing a garbage collection and fixed issue that + would lead to artificial out of memory situations (issue 129). + + Fixed Date.prototype.toLocaleDateString to return the date in the + same format as WebKit. + + Added missing initialization checks to debugger API. + + Added removing of unused maps during GC. + + +2008-10-28: Version 0.4.1 + + Added caching of RegExp data in compilation cache. + + Added Visual Studio project file for d8 shell. + + Fixed function call performance regression introduced in version + 0.4.0 when splitting the global object in two parts (issue 120). + + Fixed issue 131 by checking for empty handles before throwing and + reporting exceptions. + + +2008-10-23: Version 0.4.0 + + Split the global object into two parts: The state holding global + object and the global object proxy. + + Fixed bug that affected the value of an assignment to an element + in certain cases (issue 116). + + Added GetPropertyNames functionality (issue 33) and extra Date + functions (issue 77) to the API. + + Changed WeakReferenceCallback to take a Persistent<Value> instead + of a Persistent<Object> (issue 101). + + Fixed issues with message reporting for exceptions in try-finally + blocks (issues 73 and 75). + + Optimized flattening of strings and string equality checking. + + Improved Boyer-Moore implementation for faster indexOf operations. + + Added development shell (d8) which includes counters and + completion support. + + Fixed problem with the receiver passed to functions called from + eval (issue 124). + + +2008-10-16: Version 0.3.5 + + Improved string hash-code distribution by excluding bit-field bits + from the hash-code. + + Changed string search algorithm used in indexOf from KMP to + Boyer-Moore. + + Improved the generated code for the instanceof operator. + + Improved performance of slow-case string equality checks by + specializing the code based on the string representation. + + Improve the handling of out-of-memory situations (issue 70). + + Improved performance of strict equality checks. + + Improved profiler output to make it easier to see anonymous + functions. + + Improved performance of slow-case keyed loads. + + Improved property access performance by allocating a number of + properties in the front object. + + Changed the toString behavior on the built-in object constructors + to print [native code] instead of the actual source. Some web + applications do not like constructors with complex toString + results. + + +2008-10-06: Version 0.3.4 + + Changed Array.prototype.sort to use quick sort. + + Fixed code generation issue where leaving a finally block with + break or continue would accumulate elements on the expression + stack (issue 86). + + Made sure that the name accessor on functions returns the expected + names for builtin JavaScript functions and C++ callback functions. + + Added fast case code for extending the property storage array of + JavaScript objects. + + Ported switch statement optimizations introduced in version 0.3.3 + to the ARM code generator. + + Allowed GCC to use strict-aliasing rules when compiling. + + Improved performance of arguments object allocation by taking care + of arguments adaptor frames in the generated code. + + Updated the V8 benchmark suite to version 2. + + +2008-09-25: Version 0.3.3 + + Improved handling of relocation information to enable more + peep-hole optimizations. + + Optimized switch statements where all labels are constant small + integers. + + Optimized String.prototype.indexOf for common cases. + + Fixed more build issues (issue 80). + + Fixed a couple of profiler issues. + + Fixed bug where the body of a function created using the Function + constructor was not allowed to end with a single-line comment + (issue 85). + + Improved handling of object literals by canonicalizing object + literal maps. This will allow JSON objects with the same set of + properties to share the same map making inline caching work better + for JSON objects. + + +2008-09-17: Version 0.3.2 + + Generalized the EvalCache into a CompilationCache and enabled it + for scripts too. The current strategy is to retire all entries + whenever a mark-sweep collection is started. + + Fixed bug where switch statements containing only a default case + would lead to an unbalanced stack (issue 69). + + Fixed bug that made access to the function in a named function + expression impossible in certain situations (issue 24). + + Fixed even more build issues. + + Optimized calling conventions on ARM. The conventions on ARM and + IA-32 now match. + + Removed static initializers for flags and counters. + + Improved inline caching behavior for uncommon cases where lazily + loading Date and RegExp code could force certain code paths go + megamorphic. + + Removed arguments adaption for builtins written in C++. This + makes Array.prototype.push and Array.prototype.pop slightly + faster. + + +2008-09-11: Version 0.3.1 + + Fixed a number of build issues. + + Fixed problem with missing I-cache flusing on ARM. + + Changed space layout in memory management by splitting up + code space into old data space and code space. + + Added utf-8 conversion support to the API (issue 57). + + Optimized repeated calls to eval with the same strings. These + repeated calls are common in web applications. + + Added Xcode project file. + + Optimized a couple of Array operation. + + Fixed parser bug by checking for end-of-string when parsing break + and continue (issue 35). + + Fixed problem where asian characters were not categorized as + letters. + + Fixed bug that disallowed calling functions fetched from an array + using a string as an array index (issue 32). + + Fixed bug where the internal field count on object templates were + sometimes ignored (issue 54). + + Added -f option to the shell sample for compatibility with other + engines (issue 18). + + Added source info to TryCatches in the API. + + Fixed problem where the seed for the random number generator was + clipped in a double to unsigned int conversion. + + Fixed bug where cons string symbols were sometimes converted to + non-symbol flat strings during GC. + + Fixed bug in error reporting when attempting to convert null to an + object. + + +2008-09-04: Version 0.3.0 + + Added support for running tests on the ARM simulator. + + Fixed bug in the 'in' operator where negative indices were not + treated correctly. + + Fixed build issues on gcc-4.3.1. + + Changed Date.prototype.toLocaleTimeString to not print the + timezone part of the time. + + Renamed debug.h to v8-debug.h to reduce the risk of name conflicts + with user code. + + +2008-09-02: Version 0.2.5 + + Renamed the top level directory 'public' to 'include'. + + Added 'env' option to the SCons build scripts to support + overriding the ENV part of the build environment. This is mostly + to support Windows builds in cases where SCons cannot find the + correct paths to the Windows SDK, as these paths cannot be passed + through shell environment variables. + + Enabled "Buffer Security Check" on for the Windows SCons build and + added the linker option /OPT:ICF as an optimization. + + Added the V8 benchmark suite to the repository. + + +2008-09-01: Version 0.2.4 + + Included mjsunit JavaScript test suite and C++ unit tests. + + Changed the shell sample to not print the result of executing a + script provided on the command line. + + Fixed issue when building samples on Windows using a shared V8 + library. Added visibility option on Linux build which makes the + generated library 18% smaller. + + Changed build system to accept multiple build modes in one build + and generate separate objects, libraries and executables for each + mode. + + Removed deferred negation optimization (a * -b => -(a * b)) since + this visibly changes operand conversion order. + + Improved parsing performance by introducing stack guard in + preparsing. Without a stack guard preparsing always bails out + with stack overflow. + + Changed shell sample to take flags directly from the command-line. + Added API call that implements this. + + Added load, quit and version functions to the shell sample so it's + easier to run benchmarks and tests. + + Fixed issue with building samples and cctests on 64-bit machines. + + Fixed bug in the runtime system where the prototype chain was not + always searched for a setter when setting a property that does not + exist locally. + + +2008-08-14: Version 0.2.3 + + Improved performance of garbage collection by moving the + function that updates pointers during compacting collection + into the updating visitor. This gives the compiler a better + chance to inline and avoid a function call per (potential) + pointer. + + Extended the shell sample with a --runtime-flags option. + + Added Visual Studio project files for the shell.cc and + process.cc samples. + + +2008-08-13: Version 0.2.2 + + Improved performance of garbage collection by changing the way + we use the marking stack in the event of stack overflow during + full garbage collection and by changing the way we mark roots. + + Cleaned up ARM version by removing top of stack caching and by + introducing push/pop elimination. + + Cleaned up the way runtime functions are called to allow + runtime calls with no arguments. + + Changed Windows build options to make sure that exceptions are + disabled and that optimization flags are enabled. + + Added first version of Visual Studio project files. + + +2008-08-06: Version 0.2.1 + + Improved performance of unary addition by avoiding runtime calls. + + Fixed the handling of '>' and '<=' to use right-to-left conversion + and left-to-right evaluation as specified by ECMA-262. + + Fixed a branch elimination bug on the ARM platform where incorrect + code was generated because of overly aggressive branch + elimination. + + Improved performance of code that repeatedly assigns the same + function to the same property of different objects with the same + map. + + Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler + no longer expects DEBUG to be defined. + + Added platform-nullos.cc to serve as the basis for new platform + implementations. + + +2008-07-30: Version 0.2.0 + + Changed all text files to have native svn:eol-style. + + Added a few samples and support for building them. The samples + include a simple shell that can be used to benchmark and test V8. + + Changed V8::GetVersion to return the version as a string. + + Added source for lazily loaded scripts to snapshots and made + serialization non-destructive. + + Improved ARM support by fixing the write barrier code to use + aligned loads and stores and by removing premature locals + optimization that relied on broken support for callee-saved + registers (removed). + + Refactored the code for marking live objects during garbage + collection and the code for allocating objects in paged + spaces. Introduced an abstraction for the map word of a heap- + allocated object and changed the memory allocator to allocate + executable memory only for spaces that may contain code objects. + + Moved StringBuilder to utils.h and ScopedLock to platform.h, where + they can be used by debugging and logging modules. Added + thread-safe message queues for dealing with debugger events. + + Fixed the source code reported by toString for certain builtin + empty functions and made sure that the prototype property of a + function is enumerable. + + Improved performance of converting values to condition flags in + generated code. + + Merged disassembler-{arch} files. + + +2008-07-28: Version 0.1.4 + + Added support for storing JavaScript stack traces in a stack + allocated buffer to make it visible in shallow core dumps. + Controlled by the --preallocate-message-memory flag which is + disabled by default. + + +2008-07-25: Version 0.1.3 + + Fixed bug in JSObject::GetPropertyAttributePostInterceptor where + map transitions would count as properties. + + Allowed aliased eval invocations by treating them as evals in the + global context. This may change in the future. + + Added support for accessing the last entered context through the + API and renamed Context::Current to Context::GetCurrent and + Context::GetSecurityContext to Context::GetCurrentSecurityContext. + + Fixed bug in the debugger that would cause the debugger scripts to + be recursively loaded and changed all disabling of interrupts to + be block-structured. + + Made snapshot data read-only to allow it to be more easily shared + across multiple users of V8 when linked as a shared library. + + +2008-07-16: Version 0.1.2 + + Fixed building on Mac OS X by recognizing i386 and friends as + IA-32 platforms. + + Added propagation of stack overflow exceptions that occur while + compiling nested functions. + + Improved debugger with support for recursive break points and + handling of exceptions that occur in the debugger JavaScript code. + + Renamed GetInternal to GetInternalField and SetInternal to + SetInternalField in the API and moved InternalFieldCount and + SetInternalFieldCount from FunctionTemplate to ObjectTemplate. + + +2008-07-09: Version 0.1.1 + + Fixed bug in stack overflow check code for IA-32 targets where a + non-tagged value in register eax was pushed to the stack. + + Fixed potential quadratic behavior when converting strings to + numbers. + + Fixed bug where the return value from Object::SetProperty could + end up being the property holder instead of the written value. + + Improved debugger support by allowing nested break points and by + dealing with stack-overflows when compiling functions before + setting break points in them. + + +2008-07-03: Version 0.1.0 + + Initial export. + |