| 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. |
| |