61650a0ece
Review URL: http://codereview.chromium.org/267004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
1330 lines
41 KiB
Plaintext
1330 lines
41 KiB
Plaintext
2009-10-07: Version 1.3.15
|
|
|
|
Expand the maximum size of the code space to 512MB for 64-bit mode.
|
|
|
|
Fixed a crash bug happening when starting profiling (issue
|
|
http://crbug.com/23768).
|
|
|
|
|
|
2009-10-07: Version 1.3.14
|
|
|
|
Added GetRealNamedProperty to the API to lookup real properties
|
|
located on the object or in the prototype chain skipping any
|
|
interceptors.
|
|
|
|
Fix the stack limits setting API to work correctly with threads. The
|
|
stack limit now needs to be set to each thread thich is used with V8.
|
|
|
|
Remove the high-priority flag from IdleNotification()
|
|
|
|
Ensure V8 is initialized before locking and unlocking threads.
|
|
|
|
Implemented a new JavaScript minifier for compressing the source of
|
|
the built-in JavaScript. This Remove non-Open Source code from Douglas
|
|
Crockford from the project.
|
|
|
|
Added a missing optimization in StringCharAt.
|
|
|
|
Fixed some flaky socket tests.
|
|
|
|
Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
|
|
in 64-bit mode.
|
|
|
|
Fixed memory leaks in the thread management code.
|
|
|
|
Fixed the result of assignment to a pixel array. The assigned value
|
|
is now the result.
|
|
|
|
Error reporting for invalid left-hand sides in for-in statements, pre-
|
|
and postfix count expressions, and assignments now matches the JSC
|
|
behavior in Safari 4.
|
|
|
|
Follow the spec in disallowing function declarations without a name.
|
|
|
|
Always allocate code objects within a 2 GB range. On x64 architecture
|
|
this is used to use near calls (32-bit displacement) in Code objects.
|
|
|
|
Optimized array construction ported to x64 and ARM architectures.
|
|
|
|
[ES5] Changed Object.keys to return strings for element indices.
|
|
|
|
|
|
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.
|
|
|