· Fixed bug with inlining 'Array' function.
· Fixed initialization of literal objects.
· Fixed function name inferred inside closures.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Deprecated Context::New which returns Persistent.
· Added Persistent<T>::Reset which disposes the handle and redirects it to point to another object.
· Deprecated WriteAscii and MayContainNonAscii.
· Exposed AssertNoAllocation to API.
· Performance and stability improvements on all platforms.
· Allowed setting debugger breakpoints on CompareNilICs.
· Fixed beyond-heap load on x64 Crankshafted StringCharFromCode.
· Change 'Parse error' to three more informative messages.
· Performance and stability improvements on all platforms.
· OS::MemMove/OS::MemCopy: Don't call through to generated code when size == 0 to avoid prefetching invalid memory.
· Removed heap snapshot size limit.
· Performance and stability improvements on all platforms.
· Stack trace API: poison stack frames below the first strict mode frame.
· Made Isolate::GetHeapStatistics robust against half-initialized isolates.
· Finished implementation of ES6 symbols aka. private names.
· Performance and stability improvements on all platforms.
· Rolled back API changes to maintain compatibility with older 3.17.x versions of V8.
· Disable zapping of global handles in release mode.
· Always mark the entire valid prefix of the descriptor array.
· Use internal memcpy for CopyWords and when copying code.
· Performance and stability improvements on all platforms.
· Added a version of the v8::HandleScope constructor with an v8::Isolate parameter and made AdjustAmountOfExternalAllocatedMemory an instance method of v8::Isolate.
· Fixed two register allocator bugs (off-by-one error/failure propagation).
· Fixed huge heap snapshot when a heavily shared context has many variables.
· Performance and stability improvements on all platforms.
· Restored Function()'s expected string representation.
· Enabled deprecatations (again).
· Avoid bool to Oddball conversions by being lazy.
· Added %p option to --logfile.
· Hardened Function()'s parsing of function literals.
· ES6 symbols: Refine test for getOwnPropertyNames.
· Performance and stability improvements on all platforms.
· Fixed materialization of arguments objects with unknown values.
· Set default number of sweeper threads to at most four.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Made the Isolate parameter mandatory in Locker and Unlocker classes.
· Avoid pointer underflow in CopyCharsUnsigned.
· Generate shim headers when using system V8.
· Fixed arguments materialization for inlined apply().
· Performance and stability improvements on all platforms.
· Added Makefile options to build for the Raspberry Pi (armv7=0, arm_fpu=vfp2).
· Performance and stability improvements on all platforms.
· V8_Fatal now prints C++ stack trace in debug mode.
· Added HTML-based tick processor.
· Continued implementation of Object.observe.
· Performance and stability improvements on all platforms.
· Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP flags.
· Performance and stability improvements on all platforms.
· Ensure double arrays are filled with holes when extended from variations of empty arrays.
· Performance and stability improvements on all platforms.
· Perform CPU sampling by CPU sampling thread only iff processing thread is not running.
· When using an Object as a set in Object.getOwnPropertyNames, null out the proto.
· Disabled EXTRA_CHECKS in Release build.
· Heap explorer: Show representation of strings.
· Removed 'type' and 'arguments' properties from Error object.
· Changed sample shell to send non-JS output (e.g. errors) to stderr instead of stdout.
· Correctly check for stack overflow even when interrupt is pending.
· Collect stack trace on stack overflow.
· Performance and stability improvements on all platforms.
· Put incremental code flushing behind a flag.
· Performance and stability improvements on all platforms.
· Loosened aligned code target requirement on ARM.
· Fixed JSON.parse to treat leading zeros correctly.
· Performance and stability improvements on all platforms.
· Allow evals for debugger even if they are prohibited in the debugee context.
· Enabled --verify-heap in release mode.
· Performance and stability improvements on all platforms.
· ARM: allowed VFP3 instructions when hardfloat is enabled.
· Fixed instance_descriptors() and PushStackTraceAndDie regressions.
· Made GDBJIT interface compile again.
· Fixed Accessors::FunctionGetPrototype's proto chain traversal.
· Made sure that names of temporaries do not clash with real variables.
· Rejected local module declarations.
· Rejected uses of lexical for-loop variable on the RHS.
· Fixed slot recording of code target patches.
· Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
· Performance and stability improvements on all platforms.
· Don't set -m32 flag when compiling with Android ARM compiler.
· Restore the descriptor array before returning allocation failure.
· Lowered kMaxVirtualRegisters.
· Pull more recent gyp in 'make dependencies'.
· Made sure that the generic KeyedStoreIC changes length and element_kind atomically.
· Bumped number of allowed variables per scope to 65535, to address GWT.
· Support sourceURL for dynamically inserted scripts.
· Performance and stability improvements on all platforms.
· Fixed missing slot recording during clearing of CallICs.
· Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
· Fixed minus zero test.
· Fixed setting array length to zero for slow elements.
· Fixed lost arguments dropping in HLeaveInlined.
· Fixed casting error for receiver of interceptors.
· Throw a more descriptive exception when blocking 'eval' via CSP.
· Fixed debugger's eval when close to stack overflow.
· Added checks to live edit.
· Switched on code compaction on incremental GCs.
· Fixed caching of optimized code for OSR.
· Not mask exception thrown by toString in String::UtfValue etc.
· Enable/disable LiveEdit using the (C++) debug API.
· Performance and stability improvements on all platforms.
· Added validity checking to API functions and calls.
· Disabled accessor inlining.
· Fixed bug in Math.min/max in optimized code.
· Directly use %ObjectKeys in json stringify.
· Fixed VS2005 build.
· Activated fixed ES5 readonly semantics by default.
· Added hardfp flag to the Makefile.
· Performance and stability improvements on all platforms.
· Print reason for disabling optimization. Kill --trace-bailout flag.
· Provided option to disable full DEBUG build on Android.
· Introduced global contexts to represent lexical global scope(s).
· Fixed rounding in Uint8ClampedArray setter.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Added histograms for total allocated/live heap size, as well as allocated size and percentage of total for map and cell space.
· Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
· Added checks for interceptors to negative lookup code in Crankshaft.
· Made incremental marking clear ICs and type feedback cells.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Forced using bit-pattern for signed zero double.
· Made sure double to int conversion is correct.
· Performance and stability improvements on all platforms.
· Added PRESERVE_ASCII_NULL option to String::WriteAscii.
· Added dependency to HLoadKeyed* instructions to prevent invalid hoisting.
· Enabled building d8 for Android on Mac.
· Interpret negative hexadecimal literals as NaN.
· Expose counters in javascript when using --track-gc-object-stats.
· Enabled building and testing V8 on Android IA.
· Added --trace-parse flag to parser.
· Performance and stability improvements on all platforms.
· Deactivated optimization of packed arrays.
· Fixed broken accessor transition.
· Performance and stability improvements on all platforms.
· Renamed "mips" arch to "mipsel" in the GYP build.
· Fixed computation of call targets on prototypes in Crankshaft.
· Removed use of __lookupGetter__ when generating stack trace.
· Turned on ES 5.2 globals semantics by default.
· Synced preparser and parser wrt syntax error in switch..case.
· Fixed reporting of octal literals in strict mode when preparsing.
· Fixed inline constructors for Harmony Proxy prototypes.
· Performance and stability improvements on all platforms.
· Re-enabled and fixed issue with array bounds check elimination.
· Fixed Debug::Break crash.
· Added optimizing compiler support for JavaScript getters.
· Performance and stability improvements on all platforms.
· Correctly advance the scanner when scanning unicode regexp flag.
· Fixed unhandlified code calling Harmony Proxy traps.
· Performance and stability improvements on all platforms.
· Implemented TypedArray.set and ArrayBuffer.slice in d8.
· Performance and stability improvements on all platforms.
· Fixed lazy compilation for strict eval scopes.
· Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
· Report "hidden properties" in heap profiler for properties case.
· Activated optimization of packed arrays by default.
· Performance and stability improvements on all platforms.
· Cleaned up hardfp ABI detection for ARM.
· Extended TypedArray support in d8.
· Fixed lazy parsing heuristics to respect outer scope.
· Allow using test-wrapper-gypbuild.py on Windows when no Python interpreter is registered.
· Performance and stability improvements on all platforms.
· Removed -fomit-frame-pointer flag from Release builds to make the stack walkable by TCMalloc.
· Ported r7868 (constant masking) to x64.
· Expose more detailed memory statistics.
· Fixed Harmony Maps and WeakMaps for undefined values.
· Correctly throw reference error in strict mode with ICs disabled.
· Performance and stability improvements on all platforms.
· Reverted r11835 'Unify promotion and allocation limit computation' due to V8 Splay performance regression on Mac.
· Fixed sharing of literal boilerplates for optimized code.
· Performance and stability improvements on all platforms.
· Made near-jump check more strict in LoadNamedFieldPolymorphic on ia32/x64.
· Fixed lazy sweeping heuristics to prevent old-space expansion.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Fixed Chromium issues.
· Fixed V8 issues.
· Added --extra-code flag to mksnapshot to load JS code into the VM before creating the snapshot.
· Support 'restart call frame' command in the debugger.
· Performance and stability improvements on all platforms.
· Implemented heap profiler memory usage reporting.
· Preserved error message during finally block in try..finally.
· Fixed EnsureCanContainElements to properly handle double values.
· Improved heuristics to keep objects in fast mode with inherited constructors.
· Performance and stability improvements on all platforms.
· Implemented ES5-conformant semantics for inherited setters and read-only properties. Currently behind --es5_readonly flag, because it breaks WebKit bindings.
· Exposed last seen heap object id via V8 public API.
· Performance and stability improvements on all platforms.
· Avoid overdeep recursion in regexp where a guarded expression with a minimum repetition count is inside another quantifier.
· Fixed missing write barrier in store field stub.
· Proxies: Fixed receiver for setters inherited from proxies.
· Proxies: Fixed ToStringArray function so that it does not reject some keys.
· Performance and stability improvements on all platforms.
· Get better function names in stack traces.
· Performance and stability improvements on all platforms.
· Fixed RegExp.prototype.toString for incompatible receivers.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Some cleanup to common.gypi. This fixes some host/target combinations that weren't working in the Make build on Mac.
· Handle EINTR in socket functions and continue incomplete sends.
· Fixed python deprecations.
· Made socket send and receive more robust and return 0 on failure.
· Fixed GCC 4.7 (C++11) compilation.
· Set '-m32' option for host and target platforms.
· Performance and stability improvements on all platforms.
· Disable optimization for functions that have scopes that cannot be reconstructed from the context chain.
· Define V8_EXPORT to nothing for clients of V8.
· Correctly check for native error objects.
· Performance and stability improvements on all platforms.
· Implement map collection for incremental marking.
· Add toString method to CallSite (which describes a frame of the stack trace).
· Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
· Fixed FreeBSD build.
· Performance and stability improvements on all platforms.
· Fixed compose-discard crasher from r11524.
· Activated new global semantics by default. Global variables can now shadow properties of the global object (ES5.1 erratum).
· Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when transitioning.
· Made Error.prototype.name writable again, as required by the spec and the web.
· Implemented map collection with incremental marking.
· Regexp: Fixed overflow in min-match-length calculation.
· MIPS: Fixed illegal instruction use on Loongson in code for Math.random().
· Fixed crash bug in VisitChoice.
· Fixed unsigned-Smi check in MappedArgumentsLookup.
· Fixed LiveEdit for function with no locals.
· Fixed register clobbering in LoadIC for interceptors.
· Implemented clearing of CompareICs.
· Performance and stability improvements on all platforms.
· Enabled MIPS cross-compilation.
· Ensured reload of elements pointer in StoreFastDoubleElement stub.
· Fixed corner cases in truncation behavior when storing to TypedArrays.
· Fixed failure to properly recognize and report out-of-memory conditions when allocating code space pages.
· Fixed idle notifications to perform a round of incremental GCs after context disposal.
· Fixed preparser for try statement.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Fixed some bugs in accessing details of the last regexp match.
· Fixed source property of empty RegExp objects.
· Enabled inlining some V8 API functions.
· Performance and stability improvements on all platforms.
· Put new global var semantics behind a flag until WebKit tests are cleaned up.
· Enabled stepping into callback passed to built-ins.
· Performance and stability improvements on all platforms.
· Fixed issues when stressing compaction with WeakMaps.
· Fixed missing GVN flag for new-space promotion.
· Simplify invocation sequence at monomorphic function invocation sites.
· Performance and stability improvements on all platforms.
· Fixed several bugs in heap profiles.
· Throw syntax errors on illegal escape sequences.
· Implemented rudimentary module linking (behind --harmony flag)
· Implemented ES5 erratum: Global declarations should shadow inherited properties.
· Made handling of const more consistent when combined with 'eval' and 'with'.
· Fixed V8 on MinGW-x64.
· Performance and stability improvements on all platforms.
· Fixed native ARM build.
· Return LOOKUP variable instead of CONTEXT for non-context allocated outer scope parameters.
· Fixed regular and ElementsKind transitions interfering with each other.
· Improved performance of keyed loads/stores which have a HeapNumber index.
· Fixed WeakMap processing for evacuation candidates.
· Bailout on possible direct eval calls.
· Do not assume that names of function expressions are context-allocated.
· Performance and stability improvements on all platforms.
· Fixed bug with arguments object in inlined functions.
· Fixed performance bug with lazy initialization.
· Added suppport for Mac OS X 64bit builds with GYP.
· Fixed bug with hidden properties.
· Fixed a performance bug when reloading pages.
· Fixed bug when optimizing throw in top-level code.
· Fixed two bugs with array literals.
· Fixed bug with Math.min/Math.max with NaN inputs.
· Fixed a bug with the new runtime profiler.
· Fixed compilation of V8 using uClibc.
· Optimized boot-up memory use.
· Optimized regular expressions.
· Fixed store IC writability check in strict mode.
· Resynchronize timers if the Windows system time was changed.
· Removed "-mfloat-abi=hard" from host compiler cflags when building for hardfp ARM.
· Fixed edge case for case independent regexp character classes.
· Reset function info counters after context disposal.
· Fixed missing write barrier in CopyObjectToObjectElements.
· Fixed missing bounds check in HasElementImpl.
· Performance and stability improvements on all platforms.
· Activated count-based profiler for ARM. Fixed use of proxies as f.prototype properties.
· Enabled snapshots on MIPS. Performance and stability improvements on all platforms.
· Use correct arguments adaptation environment when inlining function containing arguments.
· Performance and stability improvements on all platforms.
· Enabled count-based profiler by default.
· Implemented a hash based look-up to speed up address checks in large object space.
· Performance and stability improvements on all platforms.
· Fixed push-to-trunk script (and re-push).
· Added API call that identifies strings that are guaranteed only to contain ASCII characters.
· Ensure there is a smi check of the receiver for global load and call ICs.
· Performance and stability improvements on all platforms.
· Ensure consistency of Math.sqrt on Intel platforms.
· Remove static initializers in V8.
· Add explicit dependency on v8_base in the GYP-based build.
· Performance and stability improvements on all platforms.
· Added basic interface inference for modules (behind the --harmony flag).
· Added Object.is, Number.isFinite, Number.isNaN.
· Updated the Unicode tables to Unicode version 6.1.0.
· Performance and stability improvements on all platforms.
· Fixed the heap profiler crash caused by memory layout changes between passes.
· Fixed Error.prototype.toString to throw TypeError.
· Fixed double-rounding in strtod for MinGW.
· Fixed corrupted snapshot serializaton on ia32.
· Performance and stability improvements on all platforms.
· Performance and stability improvements on all platforms.
· Add code kind check before preparing for OSR.
· Pass zone explicitly to zone-allocation on x64 and ARM.
· Port string construct stub to x64.
· Performance and stability improvements on all platforms.
· Fix the negative lookup stub to handle deleted entries in a dictionary.
· Add a new API where the host can supply a callback function. The callback function can resolve the location of a return address on stack to the location where a return-address rewriting profiler stashed the original return address.
· When compiling for-in pass correct context value to the increment instruction.
· Update breakpoints set with partial file name after compile.
· Make 'module' a context-sensitive keyword.
· Fixed V8 issues 1322, 1772 and 1969.
· Conformance improvements.
· Performance and stability improvements on all platforms.
· Supported fast case for-in in Crankshaft.
· Sped up heap snapshot serialization and dominators construction.
· Randomized allocation addresses on Windows.
· Fixed compilation with MinGW-w64.
· Fixed incorrect value of assignments to non-extensible properties.
· Fixed a crash bug in generated code on ia32.
· Performance and stability improvements on all platforms.
· Fixed memory leak and missing #include in StartupDataDecompressor.
· Renamed static methods to avoid shadowing virtual methods and fix Clang C++11 compile error.
· Fixed sequence of element access in array built-ins.
· Performance and stability improvements on all platforms.
· Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
· Fixed GCC-4.7 warnings.
· Added Navier-Stokes benchmark.
· Performance and stability improvements on all platforms.
· Fix template-related linker error.
· Allow inlining of functions containing object literals.
· Add --call-graph-size option to tickprocessor.
· Heap Snapshot maximum size limit is too low for really big apps. At the moment the limit is 256MB.
· Performance and stability improvements on all platforms.
· Removed unused command line flags.
· Performance and stability improvements on all platforms.
· Properly initialize element-transitioning array literals on ARM.
· Bug fixes on all platforms.
· When rethrowing an exception, print the stack trace of its original site instead of rethrow site.
· Increased size of small stacks from 32k to 64k to avoid hitting limits in Chromium.
· Added timestamp to --trace-gc output.
· Heap profiler reports implicit references.
· Optionally export metadata with libv8 to enable debuggers to inspect V8 state.
· Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo.
· Fixed a crash in dev tools.
· Added 'dependencies_traverse': 1 to v8 GYP target.
· Performance and stability improvements on all platforms.
· Reduced memory use immediately after starting V8.
· Stability fixes and performance improvements on all platforms.
· Flush number string cache on GC.
· Provide access to function inferred name with v8::Function::GetInferredName in V8 public API.
· Fixed building with Clang.
· Reduced the space used by the stack for the profiling thread.
· Fixed misleading documentation of v8::Locker.
· Introduced readbinary function in d8 to read binary files.
· Performance and stability improvements on all platforms.
· Limited number of loop iterations in Heap::ReserveSpace (Chromium issue 99027).
· Fixed Solaris build (VirtualMemory).
· Fixed strict vs. non-strict handling of function proxies in higher-order array and string methods.
· Enabled asynchronous remote debugging with d8.
· Stability and performance improvements on all platforms.
· Ensure that LRandom restores rsi after call to the C function on x64.
· Fixing include issues on *bsd when building with scons.
· Provide a switch to specify -fno-strict-aliasing
· Move WIN32 define from standalone.gypi to common.gypi
· Fix corner-case in heap size estimation.
· Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
· Performance improvements and bug fixes.
· Add primitive WebGL array support to d8.
· Improve heap size estimation.
· Hash collision DOS workaround extended from string keys to numeric keys.
· Provide an API for iterating through all external strings referenced from the JS heap.
· Adjust position recorded for call expressions.
· Fix GC crash related to instanceof.
· Performance improvements and bug fixes.
· Fixed broken test that assumes that no GC can clear the regexp cache (GC can happen at any time due to Crankshaft).
· Fixed handling of bogus receivers for Harmony collections. (issue 1884)
· Added netbsd support to gyp build.
· Determine page size at runtime on posix platforms.
· Ensure that store buffer filtering hash sets are cleared after StoreBuffer::Filter.
· Randomize the seed used for string hashing. This helps guard against CPU-eating DOS attacks against node.js servers.
· Implemented callback when script finishes running in V8 API.
· Improved performance of Math.min and Math.max for the case of two arguments.
· Performance improvements for large Smi-only arrays.
· Fixed InternalArrays construction.
· Avoid embedding new space objects into code objects in the lithium gap resolver.
· Bug fixes and performance optimizations on all platforms.
· Add max optimization flag to v8 gyp build to ensure V8 is always built fully optimized in Chrome.
· MIPS: Bring MIPS to parity with other platforms.
· Optimizations and stability improvements on all platforms.
· Fixed GCC 4.7 warnings.
· Stability improvements on all platforms.
· Increase tick interval for the android platform.
· Fix a bug in the register allocator.
· Fix handling of recompiling code.
· Start incremental marking on idle notification.
· Build fixes for various platforms.
· Various performance improvements.
· Fixed bug when generating padding to ensure space for lazy deoptimization.
· Further reduced pause times due to GC.
· Stability and performance improvements on all platforms.
· Set maximum length of FixedArray in terms of elements instead an absolute number of bytes.
· Stability and performance improvements on all platforms.
· Removed hidden prototype from builtins, i.e., deleting an overridden function on builtins will not make the original function reappear.
· Added NetBSD support for scons build.
· Performance improvements on all platforms.
· Fixed filtering of store buffer for large object pages.
· Fixed generated hash function on all platforms.
· Fixed Heap::Shrink to ensure that it does not free pages that are still in use.
· Stability and performance improvements on all platforms.
· Added initial gyp infrastructure for MIPS.
· Implemented performance improvements to the incremental garbage collector.
· Added optimizations and stability improvements on all platforms.
· Proper "libv8.so.3.7.4" SONAME for Linux shared library.
· Fix Harmony sets and maps to allow null and undefined as keys (still hidden behind --harmony flag).
· Implement VirtualMemory on FreeBSD to fix build.
· Enable VFP instructions for Android.
· Fix error handling in Date.prototype.toISOString.
· Bug fixes and performance improvements for all platforms.
· Not officially supported but noteworthy.
· Slight deoptimization as a workaround for issue with jslint: Issue 1789.
· Fixed array handling for Object.defineOwnProperty (ES5 conformance).
· Fixed issue 1757 (string slices of external strings).
· Fixed issue 1759 (ARM).
· Added flag --noclever-optimizations to disable some things that caused trouble in the past.
· Added flag --stress-compaction for testing.
· Added flag --harmony to activate all experimental Harmony features.
· Added a GC pause visualization tool.
· Added presubmit=no and werror=no flags to Makefile.
· ES5/Test262 conformance improvements.
· Fixed compilation issues with GCC 4.5.x.
· Bug fixes and performance improvements on all platforms.
· New incremental garbage collector.
· Removed the hard heap size limit (soft heap size limit is still 700/1400Mbytes by default).
· Implemented ES5 generic Array.prototype.toString (Issue 1361).
· V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
· Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
· Fixed propertyIsEnumerable for numeric properties (Issue 1692).
· Fixed the MinGW and Windows 2000 builds.
· Fixed "Prototype chain is not searched if named property handler does not set a property" (Issue 1636).
· Made the RegExp.prototype object be a RegExp object (Issue 1217).
· Disallowed future reserved words as labels in strict mode.
· Fixed string split to correctly coerce the separator to a string (Issue 1711).
· API: Added an optional source length field to the Extension constructor.
· API: Added Debug::DisableAgent to match existing Debug::EnableAgent (Issue 1573).
· Added "native" target to Makefile for the benefit of Linux distros.
· Fixed: debugger stops stepping outside evaluate (Issue 1639).
· More work on ES-Harmony proxies. Still hidden behind a flag.
· Bug fixes and performance improvements on all platforms.
· Fixed d8's broken readline history.
· Removed the need for code delete events in CPU profiler.
· Fixed debugger stepping next with trycatch recursion.
· Fixing parallel execution in d8 (with -p) and some memory leaks.
· Support for precise stepping in functions compiled before debugging was started (step 1).
· Fixed a bug when optimizing named function expression.
· Fixed a bug when optimizing f.call.apply.
· Made arguments and caller always be null on native functions.
· Fixed issue 1648 (cross-compiling x64 targeting ia32).
· Fixed issue 371 (d8 printing of strings containing \0).
· Fixed order of evaluation in arguments to parseInt.
· Fixed a problem with large heap snapshots in Chrome DevTools.
· Upped default maximum heap size from 512M to 700M.
· Added dependency of v8_base on WinSocket2 Windows library in the GYP-build.
· Various bugfixes.
· Added V8EXPORT attributes for v8::Array::CheckCast and v8::Number::CheckCast.
· Made a slight API change enabling opting out from null termination in String::Write*().
· Fixed arm build for gcc-4.6.
· Make scanner handle invalid Unicode escapes in identifiers correctly.
· Make regexp flag parsing stricter.
· Fix several memory leaks.
· Fixed issue that could cause crashes when running with --heap-stats.
· Fixed compilation on Linux 2.6.9 and older.
· Fixed live-object-list to work with isolates.
· Fixed memory leaks in zones and isolates.
· Fixed a performance regression for TypedArrays on x64.
· Stability improvements on all platforms.
· Added a preliminary implementation of ES Harmony weak maps. Weak maps can be enabled by the flag --harmony-weakmaps.
· Introduced a toplevel Makefile to support GYP-based building. GYP can be obtained from http://gyp.googlecode.com.
· Fixed a bug in the length property of functions created by Function.prototype.bind.
· Reduced malloc heap allocation on process startup.
· Several important code generation bug fixes.
· Performance improvements on all platforms.
· MIPS: Port of fix to ClassOf check from ARM.
· Stopped using mprotect on Cygwin.
· Avoided uninitialized member warning on gcc 4.3.4.
· Bug fixes and performance improvements on all platforms.
· Performance improvements on all platforms.
· Fixed setting the readonly flag on the prototype property using the API call FunctionTemplate::SetPrototypeAttributes.
· Changed the tools/test.py script to use d8 instead of shell for testing.
· Fixed crash in ToBooleanStub when GC happens during invocation.
· Enabled automatic unboxing of double arrays.
· Performance improvements on all platforms.
· Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for proxies.
· Removed logging to memory support.
· Bugfixes and performance work.
· Improved debugger support to allow inspection of optimized frames.
· Fixed a bug in prototype transitions cache clearing introduced by r8165.
· Fixed shortcutting bug in HInferRepresentation.
· Fixed a memory leak in sample/shell.cc (dispose semaphores).
· Simplified HClampToUint8. Patch by Andy Wingo.
· Exposed APIs for detecting boxed primitives, native errors.
· Added map check for COW elements to crankshaft array handling code.
· Sample shell and (a light version of) D8 links against a shared library now.
· Fixed bug in array filter and reduce functions.
· Avoid TLS load in AstNode constructor.
· Introduced a random entropy source which can optionally be provided at initialization.
· Added --prof profiling option to d8 shell.
· Fixed a bug where reading a directory in d8 shell hangs.
· Fixed a potential assertion failure in const declarations.
· Fixed an assertion failure in descriptor arrays.
· Enabled fast thread-local storage by default on supported platforms.
· Improved reporting of source position for global variable loads.
· Added support for debugger inspection of locals in optimized frames.
· Fixed SConstruct to pass correct defines to samples/preparser when building with library=shared.
· Made date parser handle ES5 Date Time Strings correctly.
· Fixed a bug in Object.defineProperty on the arguments object.
· Performance improvements on all platforms.
· Ensure 16-byte stack alignment on Solaris.
· Fix "illegal access" when calling parseInt with a radix that is not a smi.
· Fixed 64-bit build on FreeBSD.
· Added API to set the property attributes for the prototype property on functions created from FunctionTemplates.
· Bug fixes and performance work.
· Lowered limit on code space for systems with low memory supply.
· Allowed compiling v8_shell with the 'host' toolset.
· Extended setBreakpoint API to accept partial script name.
· Made multi-line comments not count when deciding whether the '-->' comment starter is first on a line. This matches Safari.
· Made handling of non-array recievers in Array length setter correct.
· Added ability to heap profiler to iterate over snapshot's node.
· Added snapshot compression support and --stress-opt flag to d8.
· Improved performance of try/catch.
· Several GYP-related changes: Added support for building Xcode project files. Make the ARM simulator build with GYP again. Generate Makefiles for all architectures on Linux.
· Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the receiver for strict mode callbacks.
· Fixed a bug where an array load was incorrectly hoisted by GVN.
· Handle 'undefined' correctly when === has been specialized for doubles.
· Corrected the limit of local variables in an optimized function from 64 to 63.
· Correctly set ReadOnly flag on indexed properties when using the API Set method.
· Give the correct error message when Object.isExtensible is called on a non-object.
· Added GetOwnPropertyNames method for Object in the API.
· Do not redefine properties unneccesarily in seal and freeze.
· IsExecutionTerminating has an Isolate parameter now.
· Distinguish keyed loads with a symbol key from fast elements loads, avoiding some useless deoptimizations.
· Fixed crash bug on ARM with no VFP3 hardware.
· Fixed compilation of V8 without debugger support.
· Improved performance on JSLint.
· Added support Float64 WebGL arrays.
· Fixed crash bug in regexp replace.
· Added isolates which allows several V8 instances in the same process. This is controlled through the new Isolate class in the API.
· Implemented more of EcmaScript 5 strict mode.
· Reduced the time it takes to make detailed heap snapshot.
· Added a number of commands to the ARM simulator and enhanced the ARM disassembler.
· Fixed a bug in deletion of lookup slots that could cause global variables to be accidentally deleted.
· Added support for strict mode octal literal verification.
· Fixed a couple of crash bugs.
· Added Date::ResetCache() to the API so that the cached values in the Date object can be reset to allow live DST / timezone changes.
· Extended existing support for printing (while debugging) the contents of objects. Added support for printing objects from release builds.
· Fixed V8 issues 989, 1006, and 1007.
· Removed dependency on Gay's dtoa.
· Improved heap profiler precision and speed.
· Reduced overhead of callback invocations on ARM.
· Performance improvements in the x64 and ARM backends.