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