64302ba2f7
0.3.4 to trunk. Review URL: http://codereview.chromium.org/6265 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
345 lines
12 KiB
Plaintext
345 lines
12 KiB
Plaintext
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.
|
|
|