blob: 98c9b7c54843fef223d7fb059c54b6ba04cb9a16 [file] [log] [blame]
2014-08-12: Version 3.28.71
ToNumber(Symbol) should throw TypeError (issue 3499).
Performance and stability improvements on all platforms.
2014-08-11: Version 3.28.69
Performance and stability improvements on all platforms.
2014-08-09: Version 3.28.65
Performance and stability improvements on all platforms.
2014-08-08: Version 3.28.64
ES6: Implement WeakMap and WeakSet constructor logic (issue 3399).
Enable ES6 unscopables (issue 3401).
Turn on harmony_unscopables for es_staging (issue 3401).
Remove proxies from --harmony switch for M38, because problems.
Reland "Add initial support for compiler unit tests using GTest/GMock."
(issue 3489).
Enable ES6 iteration by default (issue 2214).
Performance and stability improvements on all platforms.
2014-08-07: Version 3.28.62
Only escape U+0022 in argument values of `String.prototype` HTML methods
(issue 2217).
Update webkit test for expected own properties.
This implements unscopables (issue 3401).
Add `CheckObjectCoercible` for the `String.prototype` HTML methods
(issue 2218).
Add initial support for compiler unit tests using GTest/GMock (issue
3489).
Trigger exception debug events on Promise reject (Chromium issue
393913).
Refactor unit tests for the base library to use GTest (issue 3489).
Performance and stability improvements on all platforms.
2014-08-06: Version 3.28.60
Enable ES6 Map and Set by default (issue 1622).
Performance and stability improvements on all platforms.
2014-08-06: Version 3.28.59
Removed GetConstructor from the API. Instead either get the
"constructor" property stored in the prototype, or keep a side-table.
Enable ES6 Symbols by default (issue 2158).
Performance and stability improvements on all platforms.
2014-08-05: Version 3.28.57
Add dependencies on gtest and gmock.
Performance and stability improvements on all platforms.
2014-08-04: Version 3.28.54
Performance and stability improvements on all platforms.
2014-08-01: Version 3.28.53
Performance and stability improvements on all platforms.
2014-07-31: Version 3.28.52
Performance and stability improvements on all platforms.
2014-07-31: Version 3.28.51
Drop deprecated memory related notification API (Chromium issue 397026).
Performance and stability improvements on all platforms.
2014-07-31: Version 3.28.50
Use emergency memory in the case of out of memory during evacuation
(Chromium issue 395314).
Performance and stability improvements on all platforms.
2014-07-30: Version 3.28.48
Fix Object.freeze with field type tracking. Keep the descriptor properly
intact while update the field type (issue 3458).
Performance and stability improvements on all platforms.
2014-07-29: Version 3.28.45
Performance and stability improvements on all platforms.
2014-07-28: Version 3.28.43
Performance and stability improvements on all platforms.
2014-07-25: Version 3.28.38
Fix issue with setters and their holders in accessors.cc (Chromium issue
3462).
Introduce more debug events for promises (issue 3093).
Move gc notifications from V8 to Isolate and make idle hint mandatory
(Chromium issue 397026).
The accessors should get the value from the holder and not from this
(issue 3461).
Performance and stability improvements on all platforms.
2014-07-24: Version 3.28.35
Rebaseline/update the intl tests with ICU 52 (issue 3454).
Expose the content of Sets and WeakSets through SetMirror (issue 3093).
Performance and stability improvements on all platforms.
2014-07-23: Version 3.28.32
Update ICU to 5.2 (matching chromium) (issue 3452).
Performance and stability improvements on all platforms.
2014-07-22: Version 3.28.31
Remove harmony-typeof.
Implement String.prototype.codePointAt and String.fromCodePoint (issue
2840).
Performance and stability improvements on all platforms.
2014-07-21: Version 3.28.30
Performance and stability improvements on all platforms.
2014-07-21: Version 3.28.29
Performance and stability improvements on all platforms.
2014-07-18: Version 3.28.28
Performance and stability improvements on all platforms.
2014-07-17: Version 3.28.26
Ship ES6 Math functions (issue 2938).
Make ToPrimitive throw on symbol wrappers (issue 3442).
Performance and stability improvements on all platforms.
2014-07-16: Version 3.28.25
Performance and stability improvements on all platforms.
2014-07-16: Version 3.28.24
Removed some copy-n-paste from StackFrame::Foo API entries (issue 3436).
Performance and stability improvements on all platforms.
2014-07-15: Version 3.28.23
Fix error message about read-only symbol properties (issue 3441).
Include symbol properties in Object.{create,defineProperties} (issue
3440).
Performance and stability improvements on all platforms.
2014-07-14: Version 3.28.22
Performance and stability improvements on all platforms.
2014-07-11: Version 3.28.21
Make `let` usable as an identifier in ES6 sloppy mode (issue 2198).
Support ES6 Map and Set in heap profiler (issue 3368).
Performance and stability improvements on all platforms.
2014-07-10: Version 3.28.20
Remove deprecate counter/histogram methods.
Fixed printing of external references (Chromium issue 392068).
Fix several issues with ES6 redeclaration checks (issue 3426).
Performance and stability improvements on all platforms.
2014-07-09: Version 3.28.19
Performance and stability improvements on all platforms.
2014-07-09: Version 3.28.18
Reland "Postpone termination exceptions in debug scope." (issue 3408).
Performance and stability improvements on all platforms.
2014-07-08: Version 3.28.17
MIPS: Fix computed properties on object literals with a double as
propertyname (Chromium issue 390732).
Performance and stability improvements on all platforms.
2014-07-08: Version 3.28.16
Fix computed properties on object literals with a double as propertyname
(Chromium issue 390732).
Avoid brittle use of .bind in Promise.all (issue 3420).
Performance and stability improvements on all platforms.
2014-07-07: Version 3.28.15
Remove a bunch of Isolate::UncheckedCurrent calls.
Performance and stability improvements on all platforms.
2014-07-07: Version 3.28.14
Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
390732).
Introduce debug events for Microtask queue (Chromium issue 272416).
Split out libplatform into a separate libary.
Add clang-format to presubmit checks.
Stack traces exposed to Javascript should omit extensions (issue 311).
Remove deprecated v8::Context::HasOutOfMemoryException.
Postpone termination exceptions in debug scope (issue 3408).
Performance and stability improvements on all platforms.
2014-07-04: Version 3.28.13
Rollback to r22134.
2014-07-04: Version 3.28.12
Use the HeapObjectIterator to scan-on-scavenge map pages (Chromium issue
390732).
Introduce debug events for Microtask queue (Chromium issue 272416).
Performance and stability improvements on all platforms.
2014-07-03: Version 3.28.11
Split out libplatform into a separate libary.
Performance and stability improvements on all platforms.
2014-07-03: Version 3.28.10
Add clang-format to presubmit checks.
Stack traces exposed to Javascript should omit extensions (issue 311).
Remove deprecated v8::Context::HasOutOfMemoryException.
Postpone termination exceptions in debug scope (issue 3408).
Performance and stability improvements on all platforms.
2014-07-02: Version 3.28.9
Make freeze & friends ignore private properties (issue 3419).
Introduce a builddeps make target (issue 3418).
Performance and stability improvements on all platforms.
2014-07-01: Version 3.28.8
Remove static initializer from isolate.
ES6: Add missing Set.prototype.keys function (issue 3411).
Introduce debug events for promises (issue 3093).
Performance and stability improvements on all platforms.
2014-06-30: Version 3.28.7
Performance and stability improvements on all platforms.
2014-06-30: Version 3.28.6
Unbreak "os" stuff in shared d8 builds (issue 3407).
Performance and stability improvements on all platforms.
2014-06-26: Version 3.28.4
Compile optimized code with active debugger but no break points
(Chromium issue 386492).
Optimize Map/Set.prototype.forEach.
Collect garbage with kReduceMemoryFootprintMask in IdleNotification
(Chromium issue 350720).
Performance and stability improvements on all platforms.
2014-06-26: Version 3.28.3
Grow heap slower if GC freed many global handles (Chromium issue
263503).
Performance and stability improvements on all platforms.
2014-06-25: Version 3.28.2
Remove bogus assertions in HCompareObjectEqAndBranch (Chromium issue
387636).
Do not eagerly update allow_osr_at_loop_nesting_level (Chromium issue
387599).
Set host_arch to ia32 on machines with a 32bit userland but a 64bit
kernel (Chromium issue 368384).
Map/Set: Implement constructor parameter handling (issue 3398).
Performance and stability improvements on all platforms.
2014-06-24: Version 3.28.1
Support LiveEdit on Arm64 (Chromium issue 368580).
Run JS micro tasks in the appropriate context (Chromium issue 385349).
Add a use counter API.
Set host_arch to ia32 on machines with a 32bit userland but a 64bit
kernel.
Performance and stability improvements on all platforms.
2014-06-23: Version 3.28.0
MIPS: Support LiveEdit (Chromium issue 368580).
Array.concat: properly go to dictionary mode when required (Chromium
issue 387031).
Support LiveEdit on ARM (Chromium issue 368580).
Performance and stability improvements on all platforms.
2014-06-18: Version 3.27.34
Reduce number of writes to DependentCode array when inserting dependent
IC (Chromium issue 305878).
Performance and stability improvements on all platforms.
2014-06-17: Version 3.27.33
Do GC if CodeRange fails to allocate a block (Chromium issue 305878).
Throw syntax error when a getter/setter has the wrong number of params
(issue 3371).
Performance and stability improvements on all platforms.
2014-06-17: Version 3.27.32
Performance and stability improvements on all platforms.
2014-06-16: Version 3.27.31
Version fix.
2014-06-16: Version 3.27.30
Fix representation of Phis for mutable-heapnumber-in-object-literal
properties (issue 3392).
Performance and stability improvements on all platforms.
2014-06-16: Version 3.27.29
Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
X87: Fixed flooring division by a power of 2, once again.. (issue 3259).
Fixed undefined behavior in RNG (Chromium issue 377790).
Performance and stability improvements on all platforms.
2014-06-13: Version 3.27.28
Add v8::Promise::Then (Chromium issue 371288).
Performance and stability improvements on all platforms.
2014-06-12: Version 3.27.27
Fix detection of VFP3D16 on Galaxy Tab 10.1 (issue 3387).
Performance and stability improvements on all platforms.
2014-06-12: Version 3.27.26
MIPS: Fixed flooring division by a power of 2, once again.. (issue
3259).
Fixed flooring division by a power of 2, once again.. (issue 3259).
Fix unsigned comparisons (issue 3380).
Performance and stability improvements on all platforms.
2014-06-11: Version 3.27.25
Performance and stability improvements on all platforms.
2014-06-11: Version 3.27.24
Fix invalid attributes when generalizing because of incompatible map
change (Chromium issue 382143).
Fix missing smi check in inlined indexOf/lastIndexOf (Chromium issue
382513).
Performance and stability improvements on all platforms.
2014-06-06: Version 3.27.23
Performance and stability improvements on all platforms.
2014-06-06: Version 3.27.22
Performance and stability improvements on all platforms.
2014-06-06: Version 3.27.21
Turn on harmony_collections for es_staging (issue 1622).
Do not make heap iterable eagerly (Chromium issue 379740).
Performance and stability improvements on all platforms.
2014-06-05: Version 3.27.20
Fix invalid loop condition for Array.lastIndexOf() (Chromium issue
380512).
Add API support for passing a C++ function as a microtask callback.
Performance and stability improvements on all platforms.
2014-06-04: Version 3.27.19
Split Put into Put and Remove.
ES6: Add support for values/keys/entries for Map and Set (issue 1793).
Performance and stability improvements on all platforms.
2014-06-03: Version 3.27.18
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable
properties.
Performance and stability improvements on all platforms.
2014-06-02: Version 3.27.17
BuildNumberToString: Check for undefined keys in the cache (Chromium
issue 368114).
HRor and HSar can deoptimize (issue 3359).
Simplify, speed-up correct-context ObjectObserve calls.
Performance and stability improvements on all platforms.
2014-05-29: Version 3.27.16
Allow microtasks to throw exceptions and handle them gracefully
(Chromium issue 371566).
Performance and stability improvements on all platforms.
2014-05-28: Version 3.27.15
Performance and stability improvements on all platforms.
2014-05-27: Version 3.27.14
Reland "Customized support for feedback on calls to Array." and follow-
up fixes (Chromium issues 377198, 377290).
Performance and stability improvements on all platforms.
2014-05-26: Version 3.27.13
Performance and stability improvements on all platforms.
2014-05-26: Version 3.27.12
Check for cached transition to ExternalArray elements kind (issue 3337).
Support ES6 weak collections in heap profiler (Chromium issue 376196).
Performance and stability improvements on all platforms.
2014-05-23: Version 3.27.11
Add support for ES6 Symbol in heap profiler (Chromium issue 376194).
Performance and stability improvements on all platforms.
2014-05-22: Version 3.27.10
Implement Mirror object for Symbols (issue 3290).
Allow debugger to step into Map and Set forEach callbacks (issue 3341).
Fix ArrayShift hydrogen support (Chromium issue 374838).
Use SameValueZero for Map and Set (issue 1622).
Array Iterator next should check for own property.
Performance and stability improvements on all platforms.
2014-05-21: Version 3.27.9
Disable ArrayShift hydrogen support (Chromium issue 374838).
ES6 Map/Set iterators/forEach improvements (issue 1793).
Performance and stability improvements on all platforms.
2014-05-20: Version 3.27.8
Move microtask queueing logic from JavaScript to C++.
Partial revert of "Next bunch of fixes for check elimination" (Chromium
issue 372173).
Performance and stability improvements on all platforms.
2014-05-19: Version 3.27.7
Performance and stability improvements on all platforms.
2014-05-19: Version 3.27.6
Performance and stability improvements on all platforms.
2014-05-16: Version 3.27.5
Performance and stability improvements on all platforms.
2014-05-15: Version 3.27.4
Drop thenable coercion cache (Chromium issue 372788).
Skip write barriers when updating the weak hash table (Chromium issue
359401).
Performance and stability improvements on all platforms.
2014-05-14: Version 3.27.3
Performance and stability improvements on all platforms.
2014-05-13: Version 3.27.2
Harden %SetIsObserved with RUNTIME_ASSERTs (Chromium issue 371782).
Drop unused static microtask API.
Introduce an api to query the microtask autorun state of an isolate.
Performance and stability improvements on all platforms.
2014-05-12: Version 3.27.1
Object.observe: avoid accessing acceptList properties more than once
(issue 3315).
Array Iterator prototype should not have a constructor (issue 3293).
Fix typos in unit test for Array.prototype.fill().
Shorten autogenerated error message for functions only (issue 3019,
Chromium issue 331971).
Reland "Removed default Isolate." (Chromium issue 359977).
Performance and stability improvements on all platforms.
2014-05-09: Version 3.27.0
Unbreak samples and tools.
Performance and stability improvements on all platforms.
2014-05-08: Version 3.26.33
Removed default Isolate (Chromium issue 359977).
Performance and stability improvements on all platforms.
2014-05-07: Version 3.26.32
Performance and stability improvements on all platforms.
2014-05-06: Version 3.26.31
Add a basic gn file for V8.
Performance and stability improvements on all platforms.
2014-05-05: Version 3.26.30
Introduce a microtask suppression scope and move microtask methods to
isolate (Chromium issue 369503).
Re-enable Object.observe and add enforcement for security invariants.
Move cache line size calculation directly into CPU::FlushICache
(Chromium issue 359977).
Generation of our home-grown memmove doesn't depend on serializer state
anymore (Chromium issue 359977).
Fix |RunMicrotasks()| leaking reference to the last context being run
on.
Object.defineProperty shouldn't be a hint that we're constructing a
dictionary (Chromium issue 362870).
Performance and stability improvements on all platforms.
2014-05-01: Version 3.26.29
Added a Isolate* parameter to Serializer::enabled() (Chromium issue
359977).
ES6: Add support for Array.prototype.fill() (issue 3273).
Performance and stability improvements on all platforms.
2014-04-29: Version 3.26.28
PromiseThen should ignore non-function parameters (Chromium issue
347455).
Performance and stability improvements on all platforms.
2014-04-29: Version 3.26.27
Error stack getter should not overwrite itself with a data property
(issue 3294).
Performance and stability improvements on all platforms.
2014-04-28: Version 3.26.26
Expose promise value through promise mirror (issue 3093).
Simplified CPU/CpuFeatures a bit (Chromium issue 359977).
Performance and stability improvements on all platforms.
2014-04-28: Version 3.26.25
Add timestamps to CPU profile samples (Chromium issue 363976).
Expose promise status through promise mirror (issue 3093).
Remove static CallCompletedCallback handlers.
Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope,
PlatformFeatureScope and BinaryOpIC::State (Chromium issue 359977).
Trigger debug event on not yet caught exception in promises (issue
3093).
Unbreak vtunejit=on (issue 3288).
Performance and stability improvements on all platforms.
2014-04-25: Version 3.26.24
MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
(Chromium issue 359977).
MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
(Chromium issue 359977).
CodeStubs contain their corresponding Isolate* now. (part 2) (Chromium
issue 359977).
Make DescriptorArray::IsMoreGeneralThan() and DescriptorArray::Merge()
compatible again (Chromium issue 365172).
CodeStubs contain their corresponding Isolate* now. (part 1) (Chromium
issue 359977).
Performance and stability improvements on all platforms.
2014-04-24: Version 3.26.23
Performance and stability improvements on all platforms.
2014-04-23: Version 3.26.22
Disable field type tracking by default (Chromium issue 365172).
Performance and stability improvements on all platforms.
2014-04-23: Version 3.26.21
Context-allocate all parameters in generators (issue 3280).
Simplify v8/Isolate teardown (Chromium issue 359977).
Performance and stability improvements on all platforms.
2014-04-21: Version 3.26.20
ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
Performance and stability improvements on all platforms.
2014-04-18: Version 3.26.19
ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
Performance and stability improvements on all platforms.
2014-04-17: Version 3.26.18
Removed Isolate::EnterDefaultIsolate (Chromium issue 359977).
Performance and stability improvements on all platforms.
2014-04-16: Version 3.26.17
Clear invalid field maps in PropertyAccessInfo (Chromium issue 363956).
ES6: Add support for Map/Set forEach (Chromium issues 1793, 2323).
Performance and stability improvements on all platforms.
2014-04-16: Version 3.26.16
Removed EnterIsolateIfNeeded and a soon-to-be-useless assertion
(Chromium issue 359977).
Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard} (Chromium
issue 359977).
Performance and stability improvements on all platforms.
2014-04-15: Version 3.26.15
Fix result of LCodeGen::DoWrapReceiver for strict functions and builtins
(Chromium issue 362128).
Performance and stability improvements on all platforms.
2014-04-15: Version 3.26.14
Performance and stability improvements on all platforms.
2014-04-14: Version 3.26.13
Make maps in monomorphic IC stubs weak (issue 2073).
x64: Make sure that the upper half of a 64bit register contains 0 for
int32 values (Chromium issue 360611).
Performance and stability improvements on all platforms.
2014-04-11: Version 3.26.12
Do not use ranges after range analysis (Chromium issue 361608).
Performance and stability improvements on all platforms.
2014-04-10: Version 3.26.11
Performance and stability improvements on all platforms.
2014-04-10: Version 3.26.10
Allow the embedder to pass the virtual memory limit to v8.
Performance and stability improvements on all platforms.
2014-04-09: Version 3.26.9
Fix invalid local property lookup for transitions (Chromium issue
361025).
MIPS: Fixed flooring division by -1 (issue 3259).
Fixed flooring division by -1 on ARM (issue 3259).
Make `String.prototype.contains` throw when passing a regular expression
(issue 3261).
Performance and stability improvements on all platforms.
2014-04-08: Version 3.26.8
Yet another regression test for range analysis (issue 3204).
Performance and stability improvements on all platforms.
2014-04-07: Version 3.26.7
Performance and stability improvements on all platforms.
2014-04-04: Version 3.26.6
Performance and stability improvements on all platforms.
2014-04-03: Version 3.26.5
Performance and stability improvements on all platforms.
2014-04-03: Version 3.26.4
Make stray 'return' an early error.
Show references from weak containers as weak in heap snapshots (Chromium
issue 356590).
Make invalid LHSs that are calls late errors (Chromium issue 358346).
Performance and stability improvements on all platforms.
2014-04-02: Version 3.26.3
Support typed arrays in IsMoreGeneralElementsKindTransition (Chromium
issue 357054).
Remove debugger_auto_break flag.
Store i18n meta data in hidden symbols instead of js accessible
properties (Chromium issue 354967).
Performance and stability improvements on all platforms.
2014-04-01: Version 3.26.2
Performance and stability improvements on all platforms.
2014-04-01: Version 3.26.1
Fix Type::Intersect to skip uninhabited bitsets (Chromium issue 357330).
Fix PrepareKeyedOperand on arm (Chromium issue 358057).
Performance and stability improvements on all platforms.
2014-03-31: Version 3.26.0
Deprecate Start/StopCpuProfiling methods (issue 3213).
Don't crash if we get a timezone change notification on an uninitialized
isolate (Chromium issue 357362).
Performance and stability improvements on all platforms.
2014-03-28: Version 3.25.30
NativeContext::map_cache reference should be strong in heap snapshots
(Chromium issue 357060).
Performance and stability improvements on all platforms.
2014-03-27: Version 3.25.29
Performance and stability improvements on all platforms.
2014-03-27: Version 3.25.28
Performance and stability improvements on all platforms.
2014-03-26: Version 3.25.27
Promise constructor should not be enumerable (Chromium issue 352597).
Performance and stability improvements on all platforms.
2014-03-26: Version 3.25.26
Performance and stability improvements on all platforms.
2014-03-25: Version 3.25.25
Roll ICU 239289:258359 and add support for external ICU data tables
(issue 3142, Chromium issue 72633).
Performance and stability improvements on all platforms.
2014-03-25: Version 3.25.24
Add support for per-isolate private symbols.
No longer OOM on invalid string length (issue 3060).
Remove Failure::OutOfMemory propagation and
V8::IgnoreOutOfMemoryException (issue 3060).
Tentative Windows dll build fix: Don't V8_EXPORT ScriptCompiler::Source
(issue 3228).
Performance and stability improvements on all platforms.
2014-03-24: Version 3.25.23
Rename A64 port to ARM64 port (Chromium issue 354405).
Fix missing access check in Runtime_SetPrototype (Chromium issue
354123).
Fix polymorphic hydrogen handling of SLOPPY_ARGUMENTS_ELEMENTS (Chromium
issue 354391).
Performance and stability improvements on all platforms.
2014-03-20: Version 3.25.22
Increase the "local variables in a function" limit (issue 3205).
Implement ES6 symbol registry and predefined symbols.
Throw exception on invalid string length instead of OOM (Chromium issue
349329).
Performance and stability improvements on all platforms.
2014-03-20: Version 3.25.21
Performance and stability improvements on all platforms.
2014-03-20: Version 3.25.20
Fix polymorphic keyed loads for SLOPPY_ARGUMENTS_ELEMENTS (Chromium
issue 350867).
Performance and stability improvements on all platforms.
2014-03-19: Version 3.25.19
Performance and stability improvements on all platforms.
2014-03-19: Version 3.25.18
Performance and stability improvements on all platforms.
2014-03-19: Version 3.25.17
Performance and stability improvements on all platforms.
2014-03-18: Version 3.25.16
Apply numeric casts correctly in typed arrays and related code (Chromium
issue 353004).
Performance and stability improvements on all platforms.
2014-03-18: Version 3.25.15
Don't generate keyed store ICs for global proxies (Chromium issue
352983).
MIPS: Make invalid LHSs a parse-time (reference) error (Chromium issue
351658).
Make invalid LHSs a parse-time (reference) error (Chromium issue
351658).
Add Promises/A+ Compliance Test Suite (Chromium issue 347095).
Split Promise API into Promise/Resolver.
Performance and stability improvements on all platforms.
2014-03-17: Version 3.25.14
Performance and stability improvements on all platforms.
2014-03-17: Version 3.25.13
Move profiler callback interfaces from v8.h to v8-profiler.h.
Performance and stability improvements on all platforms.
2014-03-14: Version 3.25.12
PromiseCoerce should deal with an error during accessing "then"
(Chromium issue 347095).
Propagate updated offsets in BoundsCheckBbData (Chromium issue 350863).
Add regression test for range analysis bug (issue 3204).
Continued fix for 351257. Reusing the feedback vector is too complex
(Chromium issue 351257).
StopCpuProfiling should return non-const CpuProfile (issue 3213).
Allow for compiling with xcode 5.1 (which doesn't have gcc anymore).
Performance and stability improvements on all platforms.
2014-03-14: Version 3.25.11
MIPS: Remove uses of CanBeNegative() in HMod (issue 3204).
MIPS: Remove uses of RangeCanInclude() in flooring division by power of
2 (issue 3204).
MIPS: Fix uses of range analysis results in HChange (issue 3204).
Make translation of modulus operation '--stress-opt'-proof (Chromium
issue 352059).
Remove uses of CanBeNegative() in HMod (issue 3204).
Remove uses of RangeCanInclude() in flooring division by power of 2
(issue 3204).
Fix uses of range analysis results in HChange (issue 3204).
Performance and stability improvements on all platforms.
2014-03-14: Version 3.25.10
This version was not committed due to script failures.
2014-03-13: Version 3.25.9
Reland "Enable Object.observe by default" again (issue 2409).
Use intrinsics for builtin ArrayBuffer property accesses (Chromium issue
351787).
Performance and stability improvements on all platforms.
2014-03-12: Version 3.25.8
Fix HIsSmiAndBranch::KnownSuccessorBlock() by deleting it (Chromium
issue 351320).
Fix handling of polymorphic array accesses with constant index (Chromium
issue 351319).
Fix lazy deopt after tagged binary ops (Chromium issue 350434).
MIPS: Cleanup some of the range uses in ModI/DivI (issue 3204).
Fix issue with getOwnPropertySymbols and hidden properties (Chromium
issue 350864).
Cleanup some of the range uses in ModI/DivI (issue 3204).
PromiseCoerce should ignore primitive values (Chromium issue 347095).
Use a per-isolate cache for the date object JS bits (Chromium issue
348856).
Performance and stability improvements on all platforms.
2014-03-11: Version 3.25.7
Promise.all and Promise.race should reject non-array parameter (Chromium
issue 347453).
Promise.all and Promise race should use "then" rather than "chain"
(Chromium issue 347427).
Merge the "Compute Minus Zero Checks" phase into the range analysis
(issue 3204).
Performance and stability improvements on all platforms.
2014-03-10: Version 3.25.6
Replace the recursion in PropagateMinusZeroChecks() with a loop and a
worklist (issue 3204).
Reland "Enable Object.observe by default" (issue 2409).
Enable Object.observe by default (issue 2409).
AllocationTracker now maintains a map from address range to stack trace
that allocated the range. When snapshot is generated the map is used to
find construction stack trace for an object using its address (Chromium
issue 277984).
Introduce Runtime_GetAllScopesDetails to get all scopes at once for a
frame (Chromium issue 340285).
Reduce heavy runtime calls from debug mirrors (Chromium issue 340285).
Check and clear date cache in DateCurrentTime, DateLocalTimezone and
getTimezoneOffset (Chromium issue 142141).
Performance and stability improvements on all platforms.
2014-03-06: Version 3.25.5
Fix HConstants with Smi-ranged HeapNumber values (Chromium issue
349878).
Fix issues with JSON stringify replacer array (issues 3200, 3201).
Performance and stability improvements on all platforms.
2014-03-05: Version 3.25.4
x64: Fix LMathMinMax for constant Smi right-hand operands (Chromium
issue 349079).
Performance and stability improvements on all platforms.
2014-03-04: Version 3.25.3
Clear optimized code cache in shared function info when code gets
deoptimized (Chromium issue 343609).
Fixed constant folding for Math.clz32 (Chromium issue 347906).
Fix JSObject::PrintTransitions (Chromium issue 347912).
Fix handling of constant global variable assignments (Chromium issue
347904).
Removed bogus ASSERT (Chromium issue 347542).
Mark HCompareMap as having Tagged representation (Chromium issue
346636).
Fix crasher in Object.getOwnPropertySymbols (Chromium issue 346141).
Fix the bit massaging code in CompleteParserRecorder::WriteNumber
(Chromium issue 346221).
Don't eliminate loads with incompatible types or representations
(Chromium issue 346343).
Check that after a weak callback, the handle is either dead or strong
(Chromium issue 346061).
Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
Performance and stability improvements on all platforms.
2014-02-25: Version 3.25.2
Fix the bit massaging code in CompleteParserRecorder::WriteNumber
(Chromium issue 346221).
Revert r19455 "Load target types and handlers before IC computation."
(Chromium issue 346149).
Don't eliminate loads with incompatible types or representations
(Chromium issue 346343).
Fix for a smi stores optimization on x64 with a regression test
(Chromium issue 345715).
Check that after a weak callback, the handle is either dead or strong
(Chromium issue 346061).
negative bounds checking on realm calls (Chromium issue 344285).
Lazy preparsing vs. lazy parsing fix (Chromium issue 346207).
Fix optimistic BCE to back off after deopt (issue 3176).
Performance and stability improvements on all platforms.
2014-02-21: Version 3.25.1
Performance and stability improvements on all platforms.
2014-02-19: Version 3.25.0
ES6: Tighten up Object.prototype.__proto__ (issue 3064).
Fix Hydrogen bounds check elimination (Chromium issue 344186).
Performance and stability improvements on all platforms.
2014-02-19: Version 3.24.40
A64: Let the MacroAssembler resolve branches to distant targets (issue
3148).
Fixed and improved code for integral division. Fixed and extended tests
(issue 3151).
MIPS: Fix assignment of function name constant (issue 3138).
Fix assignment of function name constant (issue 3138).
Performance and stability improvements on all platforms.
2014-02-14: Version 3.24.39
Introduce --job-based-sweeping flag and use individual jobs for sweeping
if set (issue 3104).
Performance and stability improvements on all platforms.
2014-02-13: Version 3.24.38
Merge experimental/a64 to bleeding_edge (issue 3113).
Performance and stability improvements on all platforms.
2014-02-12: Version 3.24.37
Fix spec violations in JSON.stringify wrt replacer array (issue 3135).
Performance and stability improvements on all platforms.
2014-02-11: Version 3.24.36
Fix inconsistencies wrt whitespaces (issue 3109).
Performance and stability improvements on all platforms.
2014-02-10: Version 3.24.35
Fix inconsistencies wrt whitespaces (issue 3109).
Performance and stability improvements on all platforms.
2014-02-07: Version 3.24.34
Performance and stability improvements on all platforms.
2014-02-06: Version 3.24.33
Allow externalizing strings in old pointer space (Chromium issue
268686).
Performance and stability improvements on all platforms.
2014-02-05: Version 3.24.32
Add Box object to heap profiler.
Check the offset argument of TypedArray.set for fitting into Smi
(Chromium issue 340125).
Performance and stability improvements on all platforms.
2014-02-04: Version 3.24.31
Fix short-circuiting logical and/or in HOptimizedGraphBuilder (Chromium
issue 336148).
Elements field of newly allocated JSArray could be left uninitialized in
some cases (fast literal case) (Chromium issue 340124).
Re-enable escape analysis.
Performance and stability improvements on all platforms.
2014-02-03: Version 3.24.30
Performance and stability improvements on all platforms.
2014-02-01: Version 3.24.29
Performance and stability improvements on all platforms.
2014-01-31: Version 3.24.28
Don't crash in Array.join() if the resulting string exceeds the max
string length (Chromium issue 336820).
Implements ES6 String.prototype.normalize method (issue 2943).
Performance and stability improvements on all platforms.
2014-01-30: Version 3.24.27
Performance and stability improvements on all platforms.
2014-01-29: Version 3.24.26
ES6: Map and Set needs to normalize minus zero (issue 3069).
Make `String.prototype.{starts,ends}With` throw when passing a regular
expression (issue 3070).
Performance and stability improvements on all platforms.
2014-01-28: Version 3.24.25
Performance and stability improvements on all platforms.
2014-01-27: Version 3.24.24
MIPS: Reduce the stack requirements of GetNoCodeAgeSequence (issue
3111).
Delete v8_shell target now that chrome uses d8 (Chromium issue 331585).
ARM: Reduce the stack requirements of GetNoCodeAgeSequence (issue 3111).
Performance and stability improvements on all platforms.
2014-01-24: Version 3.24.23
Performance and stability improvements on all platforms.
2014-01-23: Version 3.24.22
Fix compilation on x64 architectures (issue 3110).
Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes
(Chromium issue 326155).
ES6: Implement Object.setPrototypeOf (issue 2675).
Fixed floor-of-div optimization (Chromium issue 334708).
Performance and stability improvements on all platforms.
2014-01-22: Version 3.24.21
Performance and stability improvements on all platforms.
2014-01-21: Version 3.24.20
ES6: Implement Object.setPrototypeOf (issue 2675).
Performance and stability improvements on all platforms.
2014-01-20: Version 3.24.19
Introduce a setting to control the toolset for which d8 is compiled
(issue 1775).
Performance and stability improvements on all platforms.
2014-01-17: Version 3.24.18
Performance and stability improvements on all platforms.
2014-01-16: Version 3.24.17
Make cells pointing to JSObjects weak in optimized code (issue 2073).
Performance and stability improvements on all platforms.
2014-01-15: Version 3.24.16
Annotate mapped memory regions for LeakSanitizer (Chromium issue
328552).
Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance (Chromium
issue 315252).
Performance and stability improvements on all platforms.
2014-01-14: Version 3.24.15
Introduce an API mirroring the gc extension.
Performance and stability improvements on all platforms.
2014-01-10: Version 3.24.14
ES6: Add Object.getOwnPropertySymbols (issue 3049).
Performance and stability improvements on all platforms.
2014-01-09: Version 3.24.13
Add Isolate parameter to HandleScope::NumberOfHandles (Chromium issue
324225).
Removed v8::AssertNoGCScope.
Performance and stability improvements on all platforms.
2014-01-08: Version 3.24.12
Correctly handle instances without elements in polymorphic keyed
load/store (Chromium issue 331416).
Fix selection of popular pages in store buffer (Chromium issue 331444).
Prepare removal of ObjectTemplate::New without Isolate parameter
(Chromium issue 324225).
Performance and stability improvements on all platforms.
2014-01-07: Version 3.24.11
Remove generated makefiles on linux when running gyp_v8
(Chromium issue 331475)
Fix building d8 with readline support due to API changes
Performance and stability improvements on all platforms.
2014-01-03: Version 3.24.10
Reland r18383: More API cleanup (Chromium issue 324225).
MIPS: Fix loading of global object in LWrapReceiver (Chromium issue
318420).
Performance and stability improvements on all platforms.
2014-01-02: Version 3.24.9
Performance and stability improvements on all platforms.
2013-12-30: Version 3.24.8
ARM: fix loading of global object in LWrapReceiver (Chromium issue
318420).
Fix a race between concurrent recompilation and OSR (Chromium issue
330046).
Turn off concurrent sweeping (issue 3071).
Performance and stability improvements on all platforms.
2013-12-23: Version 3.24.7
Fix small spec violation in String.prototype.split (issue 3026).
Correctly resolve forcibly context allocated parameters in debug-
evaluate (Chromium issue 325676).
Introduce Function::GetBoundFunction.
Performance and stability improvements on all platforms.
2013-12-20: Version 3.24.6
Performance and stability improvements on all platforms.
2013-12-19: Version 3.24.5
Performance and stability improvements on all platforms.
2013-12-18: Version 3.24.4
Removed all stuff marked as V8_DEPRECATED.
Performance and stability improvements on all platforms.
2013-12-17: Version 3.24.3
Performance and stability improvements on all platforms.
2013-12-17: Version 3.24.2
Flush instruction cache for deserialized code objects.
Performance and stability improvements on all platforms.
2013-12-13: Version 3.24.1
Fix polymorphic inlined calls with migrating prototypes.
Fixed global object leak caused by overwriting the global receiver (the
global proxy) in the global object with the global object itself
(Chromium issue 324812).
Initialize Date parse cache with SMI instead of double to workaround
sharing mutable heap numbers in snapshot (Chromium issue 280531).
Switch armv7 setting to arm_version==7 in v8 gyp files (Chromium issue
234135).
Performance and stability improvements on all platforms.
2013-12-09: Version 3.24.0
Performance and stability improvements on all platforms.
2013-12-04: Version 3.23.18
Performance and stability improvements on all platforms.
2013-12-03: Version 3.23.17
Performance and stability improvements on all platforms.
2013-12-02: Version 3.23.16
Array builtins need to be prevented from changing frozen objects, and
changing structure on sealed objects (Chromium issue 299979).
Performance and stability improvements on all platforms.
2013-11-29: Version 3.23.15
Fix context register allocation in LTransitionElementsKind
(Chromium issue 324306).
Fix bug in inlining Function.apply (Chromium issue 323942).
Ensure that length is Smi in TypedArrayFromArrayLike constructor
(Chromium issue 324028).
Performance and stability improvements on all platforms.
2013-11-28: Version 3.23.14
Shorten autogenerated error message (issue 3019).
Performance and stability improvements on all platforms.
2013-11-27: Version 3.23.13
Increase precision for base conversion for large integers (issue 3025).
Flatten cons string for single character substrings (Chromium issue
323041).
Performance and stability improvements on all platforms.
2013-11-26: Version 3.23.12
Performance and stability improvements on all platforms.
2013-11-25: Version 3.23.11
Deprecate old versions of Isolate::SetData and GetData.
Performance and stability improvements on all platforms.
2013-11-22: Version 3.23.10
Remove preemption thread and API.
(issue 3004)
Performance and stability improvements on all platforms.
2013-11-21: Version 3.23.9
API: Change AdjustAmountOfExternalAllocatedMemory calls to use int64_t
instead of intptr_t.
Remove deprecated v8::SetResourceConstraints without Isolate parameter.
Remove deprecated v8-defaults.h and defaults.cc.
(Chromium issue 312241)
Make it possible to add more than one piece of embedder data to
isolates.
(Chromium issue 317398)
Performance and stability improvements on all platforms.
2013-11-20: Version 3.23.8
Fixed crashes exposed though fuzzing.
(Chromium issue 320948)
Deprecated v8::External::New without Isolate parameter.
Made number of available threads isolate-dependent and exposed it to
ResourceConstraints.
(issue 2991)
Performance and stability improvements on all platforms.
2013-11-19: Version 3.23.7
Bugfix: dependent code field in AllocationSite was keeping code objects
alive even after context death.
(Chromium issue 320532)
Fixed data view accessors to throw execptions on offsets bigger than
size_t.
(issue 3013)
Performance and stability improvements on all platforms.
2013-11-18: Version 3.23.6
Limit size of dehoistable array indices.
(Chromium issues 319835, 319860)
Limit the size for typed arrays to MaxSmi.
(Chromium issue 319722)
Performance and stability improvements on all platforms.
2013-11-15: Version 3.23.5
Fixed missing type feedback check for Generic*String addition.
(Chromium issue 318671)
Fixed duplicate check in DependentCode::Insert.
(Chromium issue 318454)
Performance and stability improvements on all platforms.
2013-11-14: Version 3.23.4
Fixed overflow in TypedArray initialization function.
(Chromium issue 319120)
Performance and stability improvements on all platforms.
2013-11-13: Version 3.23.3
Fixed compilation with GCC 4.8.
(issue 2767, 2149)
Added explicit Isolate parameter to External::New.
(Chromium issue 266838)
Performance and stability improvements on all platforms.
2013-11-12: Version 3.23.2
Fixed --extra-code flag for snapshot creation.
(issue 2994)
Fixed error message wording when instanceof throws.
(Chromium issue 82797, issue 1593)
Performance and stability improvements on all platforms.
2013-11-08: Version 3.23.1
Made HCapturedObjects non-deletable for DCE. (issue 2987)
Use a fixed random seed per default. (issue 1880, 2885)
Fixed y-umlaut to uppercase. (issue 2984)
Performance and stability improvements on all platforms.
2013-11-06: Version 3.23.0
Fixed loading message from an Error object. (Chromium issue 306220)
Made Object.freeze/seal/preventExtensions observable. (issue 2975, 2941)
Made snapshots reproducible. (issue 2885)
Added missing negative dictionary lookup to NonexistentHandlerFrontend.
(issue 2980)
Performance and stability improvements on all platforms.
2013-10-31: Version 3.22.24
Fixed uint32-to-smi conversion in Lithium.
(Chromium issue 309623)
Performance and stability improvements on all platforms.
2013-10-28: Version 3.22.23
Renamed deprecated __attribute__((no_address_safety_analysis)) to
__attribute__((no_sanitize_address)) (Chromium issue 311283)
Defined DEBUG for v8_optimized_debug=2
Performance and stability improvements on all platforms.
2013-10-25: Version 3.22.22
Record allocation stack traces. (Chromium issue 277984,v8:2949)
Performance and stability improvements on all platforms.
2013-10-24: Version 3.22.21
Performance and stability improvements on all platforms.
2013-10-24: Version 3.22.20
Made Array.prototype.pop throw if the last element is not configurable.
Fixed HObjectAccess for loads from migrating prototypes.
(Chromium issue 305309)
Enabled preaging of code objects when --optimize-for-size.
(Chromium issue 280984)
Exposed v8::Function::GetDisplayName to public API.
(Chromium issue 17356)
Performance and stability improvements on all platforms.
2013-10-23: Version 3.22.19
Fix materialization of captured objects with field tracking.
(Chromium issue 298990)
Performance and stability improvements on all platforms.
2013-10-22: Version 3.22.18
Add tool to visualize machine code/lithium.
Handle misaligned loads and stores in load elimination. Do not track
misaligned loads and be conservative about invalidating misaligned
stores. (issue 2934)
Performance and stability improvements on all platforms.
2013-10-21: Version 3.22.17
Harmony: Implement Math.trunc and Math.sign. (issue 2938)
Performance and stability improvements on all platforms.
2013-10-21: Version 3.22.16
Performance and stability improvements on all platforms.
2013-10-18: Version 3.22.15
Enabled calling the SetReference* & SetObjectGroupId functions with a
Persistent<SubclassOfValue>.
Performance and stability improvements on all platforms.
2013-10-17: Version 3.22.14
Performance and stability improvements on all platforms.
2013-10-16: Version 3.22.13
Do not look up ArrayBuffer on global object in typed array constructor.
(issue 2931)
Performance and stability improvements on all platforms.
2013-10-15: Version 3.22.12
Added histograms to track fraction of heap spaces and percentage of
generated crankshaft code.
Moved v8_optimized_debug default value to standalone.gypi.
Track JS allocations as they arrive with no affection on performance
when tracking is switched off (Chromium issue 277984).
Performance and stability improvements on all platforms.
2013-10-14: Version 3.22.11
Performance and stability improvements on all platforms.
2013-10-11: Version 3.22.10
Fixed timezone issues with date-time/parse-* tests.
(Chromium issue 2919)
Added column getter to CpuProfileNode (Chromium issue 302537)
Performance and stability improvements on all platforms.
2013-10-10: Version 3.22.9
Ensure only whitelisted stubs have sse2 versions in the snapshot.
(fix for chromium 304565)
Implement ArrayBuffer.isView.
Performance and stability improvements on all platforms.
2013-10-04: Version 3.22.8
Performance and stability improvements on all platforms.
2013-10-03: Version 3.22.7
Debug: Allow stepping into on a given call frame
(Chromium issue 296963).
Always use timeGetTime() for TimeTicks::Now() on Windows
(Chromium issue 288924).
Performance and stability improvements on all platforms.
2013-10-02: Version 3.22.6
Performance and stability improvements on all platforms.
2013-10-01: Version 3.22.5
Disabled externalization of sliced/cons strings in old pointer space
(Chromium issue 276357).
Turned on handle zapping for release builds
Performance and stability improvements on all platforms.
2013-09-30: Version 3.22.4
Function::Call and Object::CallAsFunction APIs should allow v8::Value as
a receiver (issue 2915).
Removed unnecessary mutex (Chromium issue 291236).
Removed ArrayBufferView::BaseAddress method.
Performance and stability improvements on all platforms.
2013-09-27: Version 3.22.3
Added methods to enable configuration of ResourceConstraints based on
limits derived at runtime.
(Chromium issue 292928)
Added -optimize-for-size flag to optimize for memory size (will be used
by pre-aging CL), and removed the is_memory_constrained
ResourceConstraint.
(Chromium issue 292928)
Performance and stability improvements on all platforms.
2013-09-26: Version 3.22.2
Performance and stability improvements on all platforms.
2013-09-25: Version 3.22.1
Sped up creating typed arrays from array-like objects.
(Chromium issue 270507)
Performance and stability improvements on all platforms.
2013-09-23: Version 3.22.0
LiveEdit to mark more closure functions for re-instantiation when scope
layout changes.
(issue 2872)
Made bounds check elimination iterative instead of recursive.
(Chromium issue 289706)
Turned on i18n support by default.
Set the proper instance-type on HAllocate in BuildFastLiteral.
(Chromium issue 284577)
Performance and stability improvements on all platforms.
2013-09-18: Version 3.21.17
Implemented local load/store elimination on basic blocks.
Added mutex when accessing concurrent recompilation output queue.
(Chromium issue 291236)
Don't lookup the cache for the result of Function::New.
(Chromium issue 272579)
Tweaked HConstant::EmitAtUses() to eliminate useless constant
generation.
(Chromium issue 2881)
Performance and stability improvements on all platforms.
2013-09-16: Version 3.21.16
Every place where AllocationMemento is initialized with an
AllocationSite is now checked to be sure a valid Site goes in. This is
temporary code to diagnose chromium bug 284577.
Performance and stability improvements on all platforms.
2013-09-13: Version 3.21.15
Non-JSObject heap objects are now handled using slow-path IC stub
guarded by the map.
(Chromium issue 280632)
i18n Javascript code added to the snapshot.
(V8 issue 2745)
Performance and stability improvements on all platforms.
2013-09-12: Version 3.21.14
Added access check for observed objects.
(V8 issue 2778)
Cleaned up v8::ArrayBuffer::Allocator interface.
(V8 issue 2823)
Performance and stability improvements on all platforms.
2013-09-11: Version 3.21.13
Added a ResourceConstraint for the embedder to specify that V8 is
running on a memory constrained device.
(Chromium issue 280984)
Removed HandleScope default ctor.
(Chromium issue 236173)
Enabled escape analysis for Hydrogen.
Correctly stringified mixed encoding indirect strings.
(Chromium issue 287476)
Performance and stability improvements on all platforms.
2013-09-09: Version 3.21.12
Fixed bitwise negation on x64.
(Chromium issue 285355)
Dropped GetCurrentThreadId() and TerminateExecution(int) from
the external API.
Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
(Chromium issue 284998)
Added check if timeout has expired after processing each sample.
(issue 2814,v8:2871)
Removed obsolete global V8::has_been_fooed flags.
(issue 2744)
Performance and stability improvements on all platforms.
2013-09-05: Version 3.21.11
Performance and stability improvements on all platforms.
2013-09-04: Version 3.21.10
Fixed Eternal::IsEmpty logic (issue 2870).
Performance and stability improvements on all platforms.
2013-09-03: Version 3.21.9
Deprecated Persistent functions which were marked to be deprecated.
Allowed uncacheable identifiers to go generic (issue 2867).
Performance and stability improvements on all platforms.
2013-09-02: Version 3.21.8
Added scriptId to StackTrace frames (issue 2865).
Performance and stability improvements on all platforms.
2013-08-30: Version 3.21.7
Fixed casts of eternal handles.
Turned on global handle zapping.
Always visit branches during HGraph building (Chromium issue 280333).
Profiler changes: removed deprecated API, support higher sampling
rate on Windows.
Performance and stability improvements on all platforms.
2013-08-29: Version 3.21.6
Fixed inlined 'throw' statements interfering with live range
computation. (issue 2843)
Performance and stability improvements on all platforms.
2013-08-28: Version 3.21.5
Fixed compilation with recent MinGW64 versions. (issue 2300)
Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)
Performance and stability improvements on all platforms.
2013-08-26: Version 3.21.4
Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).
Use signals for cpu profiling on Mac OS X (issue 2814).
Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).
Added support for higher CPU profiler sampling rate on posix systems
(issue 2814).
Worked around 'inlining failed' build error with older GCC 4.x releases.
Added source map support to tick processor.
Stability improvements on all platforms.
2013-08-23: Version 3.21.3
Temporarily disabled optimization for StringWrappers to use native
valueOf. (issue 2855)
Fixed crash on function declarations in eval inside non-trivial local
scope. (issue 2594)
Rewrote SamplingCircularQueue. (issue 2814)
Fixed hidden properties on object with frozen prototype. (issue 2829)
Fix deoptimization bug. (Chromium issue 274164)
Stability improvements on all platforms.
2013-08-22: Version 3.21.2
Stability improvements on all platforms.
2013-08-21: Version 3.21.1
Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
(Chromium issue 270527)
Replaced OS::MemCopy with memcpy in typed array initialization.
(Chromium issue 270642)
Moved i18n break iterator C++ code to runtime (issue 2745)
Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
(Chromium issue 263515)
Fixed register misuse in Allocate() on ARM. (issue 2851)
Fixed empty handle dereference in Runtime_InternalNumberFormat.
(Chromium issue 275467)
Performance and stability improvements on all platforms.
2013-08-19: Version 3.21.0
Fixed GC-related crasher (Chromium issue 274438)
Reverted making Intl non-enumerable.
Performance and stability improvements on all platforms.
2013-08-14: Version 3.20.17
Fixed Math.round/floor that had bogus Smi representation
(Chromium issue 272564)
Performance and stability improvements on all platforms.
2013-08-13: Version 3.20.16
Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)
Fixed gcmole bugs in i18n code (issue 2745)
ia32: Calls to the TranscendentalCacheStub must ensure that esi is
set (issue 2827)
Made sure polymorphic element access creates non-replaying
phis. (issue 2815)
Allowed HPhis to have an invalid merge index. (issue 2815)
Fixed smi-based math floor. (Chromium issue 270268)
Deprecated self and total time getters and total sample count
getter on CpuProfileNode. (Chromium issue 267595)
Fixed Object.freeze, Object.observe wrt CountOperation and
CompoundAssignment. (issue 2774,2779)
Performance and stability improvements on all platforms.
2013-08-07: Version 3.20.15
Exposed eternal handle api.
Bugfix to solve issues with enabling V8 typed arrays in Blink.
Fixed Array index dehoisting. (Chromium issue 264203)
Updated Array Iterator to use numeric indexes (issue 2818)
Return start/end profiling time in microseconds instead of milliseconds
(issue 2824)
Performance and stability improvements on all platforms.
2013-08-06: Version 3.20.14
Added new Harmony methods to Array.prototype object.
(issue 2776,v8:2777)
Performance and stability improvements on all platforms.
2013-08-01: Version 3.20.12
Removed buggy ToNumber truncation (partial fix for issue 2813)
Calling Map etc without new should throw TypeError (issue 2819)
Fixed a crash for large code objects on ARM (Chromium issue 2736)
Fixed stale unhandlified value in JSObject::SetPropertyForResult.
(Chromium issue 265894)
Added new Harmony methods to String.prototype object.
(issue 2796,v8:2797,v8:2798,v8:2799)
Performance and stability improvements on all platforms.
2013-07-30: Version 3.20.11
Performance and stability improvements on all platforms.
2013-07-29: Version 3.20.10
Performance and stability improvements on all platforms.
2013-07-26: Version 3.20.9
Check that ExternalString objects get aligned resources.
Fixed JSArray-specific length lookup in polymorphic array handling
(Chromium issues 263276, 263905).
Performance and stability improvements on all platforms.
2013-07-24: Version 3.20.8
Deprecated v8::V8::Pause/ResumeProfiler.
Fixed Chromium issues 247688, 258519 and 260203.
Performance and stability improvements on all platforms.
2013-07-22: Version 3.20.7
Deprecated some debugger methods.
Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).
Fixed data race in SamplingCircularQueue (Chromium issue 251218).
Fixed type feedback in presence of negative lookups
(Chromium issue 252797).
Do not materialize context-allocated values for debug-evaluate
(Chromium issue 259300).
Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
(Chromium issue 260345).
Performance and stability improvements on all platforms.
2013-07-17: Version 3.20.6
Try to remove invalidated stubs before falling back to checking the
constant state (Chromium issue 260585).
Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).
Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).
Use internal array as API function cache (Chromium issue 260106).
Fixed possible stack overflow in range analysis
(Chromium issue 259452).
Performance and stability improvements on all platforms.
2013-07-15: Version 3.20.5
Ensured that the length of frozen arrays is immutable
(issue 2711, Chromium issue 259548).
Performance and stability improvements on all platforms.
2013-07-10: Version 3.20.4
Fixed garbage-collection issue that causes a crash on ARM
(Chromium issue 254570)
Performance and stability improvements on all platforms.
2013-07-08: Version 3.20.3
Performance and stability improvements on all platforms.
2013-07-05: Version 3.20.2
Remove deprecated heap profiler methods from V8 public API
Mark i18n functions as native and set proper names
(issue 2745)
Correctly report stack trace when current function is FunctionApply
builtin (Chromium issue 252097)
Enable GDBJIT interface for standalone by default.
Fix debuggersupport=off build. (issue 2754)
Introduce -m64 flag for making x64 when the default gcc compiler is for
X32
Performance and stability improvements on all platforms.
2013-07-02: Version 3.20.1
Implemented WeakMap.prototype.clear function. (issue 2753)
Ensure CheckInitialized is present independent of define.
(Chromium issue 255779)
Performance and stability improvements on all platforms.
2013-06-28: Version 3.20.0
Migrated several tests from blink to V8 repository.
Allowed users of the V8 API to distinguish between unset and undefined
HiddenValues (issue 2746).
Deprecated old style callbacks in the V8 API.
Turned on parallel recompilation.
Performance and stability improvements on all platforms.
2013-06-18: Version 3.19.18
Fixed read-only attribute of Function.length in strict mode.
(issue 2705)
Fixed Runtime_SetProperty to properly handle OOM failures
(Chromium issue 249873)
Emit deprecated check for constant function transitions.
(Chromium issue 250609)
Made MathFloorOfDiv optimization trigger more often
(Issue 2205)
Make more GCs in idle notification handler.
(Chromium issue 241815)
Increased default type info threshold.
(Issue 2730)
Performance and stability improvements on all platforms.
2013-06-14: Version 3.19.16
Performance and stability improvements on all platforms.
2013-06-13: Version 3.19.15
Performance and stability improvements on all platforms.
2013-06-13: Version 3.19.14
Fixed crashes when calling new Array(a) with a single argument that
could result in creating a holey array with a packed elements kind.
(Chromium issue 245480)
Fixed issues in parallel compilation.
(Chromium issue 248076)
Performance and stability improvements on all platforms.
2013-06-11: Version 3.19.13
Performance and stability improvements on all platforms.
2013-06-10: Version 3.19.12
Fixed arguments array access. (Chromium issue 247303)
Fixed bug in LookupForWrite. (Chromium issue 242332)
Performance and stability improvements on all platforms.
2013-06-07: Version 3.19.11
Performance and stability improvements on all platforms.
2013-06-06: Version 3.19.10
Performance and stability improvements on all platforms.
2013-06-05: Version 3.19.9
Implemented Load IC support for loading properties from primitive
values to avoid perpetual soft deopts. (Chromium issue 242512)
Implemented Freeing of PerThreadAssertData when possible to avoid
memory leak. (Chromium issue 246567)
Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
Performance and stability improvements on all platforms.
2013-06-03: Version 3.19.8
Fixed bug with inlining 'Array' function. (Chromium issue 244461)
Fixed initialization of literal objects. (Chromium issue 245424)
Fixed function name inferred inside closures. (Chromium issue 224884)
Performance and stability improvements on all platforms.
2013-05-31: Version 3.19.7
Added support for //# sourceURL similar to deprecated //@ sourceURL one.
(issue 2702)
Made sure IfBuilder::Return clears the current block.
(Chromium issue 243868)
Fixed two CPU profiler tests on ARM and MIPS simulators
(issue 2628)
Fixed idle incremental GC for large objects.
(Chromium issue 241815)
Disabled --optimize-constructed-arrays due to crashes
(Chromium issue 244461)
Performance and stability improvements on all platforms.
2013-05-28: Version 3.19.6
Fixed IfBuilder::Deopt to clear the current block
(Chromium issue 243868).
Performance and stability improvements on all platforms.
2013-05-27: Version 3.19.5
Reset regexp parser flag after scanning ahead for capture groups.
(issue 2690)
Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
(issue 2628)
Performance and stability improvements on all platforms.
2013-05-24: Version 3.19.4
Fixed edge case in stack trace formatting. (Chromium issue 237617)
Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
issue 240032)
Made Object.freeze fast (issue 1858, Chromium issue 115960)
Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
242924)
Performance and stability improvements on all platforms.
2013-05-22: Version 3.19.3
Performance and stability improvements on all platforms.
2013-05-17: Version 3.19.2
Fill in one-word-fillers for the unused property fields
(Chromium issue 240056).
Removed use_system_v8 logic from the mainline gyp file
(Chromium issue 226860).
Skip CPU profiler samples where top function's stack frame is not
set up properly (issue 2628).
Performance and stability improvements on all platforms.
2013-05-14: Version 3.19.1
Fixed missing hole check for loads from Smi arrays when all uses are
changes (Chromium issue 233737)
Performance and stability improvements on all platforms.
2013-05-10: Version 3.19.0
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.
2013-04-30: Version 3.18.5
Allowed setting debugger breakpoints on CompareNilICs (issue 2660)
Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
(Chromium issue 235311)
Change 'Parse error' to three more informative messages.
(Chromium issue 2636)
Performance and stability improvements on all platforms.
2013-04-26: Version 3.18.4
Added a preliminary API for ES6 ArrayBuffers
Replaced qsort with std::sort. (Chromium issue 2639)
Performance and stability improvements on all platforms.
2013-04-24: Version 3.18.3
Exposed the GC under a name that is less collision prone than window.gc.
(issue 2641)
Do not emit double values at their use sites. (Chromium issue 234101)
Added methods to allow resuming execution after calling
TerminateExecution(). (issue 2361)
Performance and stability improvements on all platforms.
2013-04-22: Version 3.18.2
OS::MemMove/OS::MemCopy: Don't call through to generated code when size
== 0 to avoid prefetching invalid memory (Chromium issue 233500)
Removed heap snapshot size limit. (Chromium issue 232305)
Performance and stability improvements on all platforms.
2013-04-18: Version 3.18.1
Removed SCons related files and deprecated test suite configurations.
Improved handling of unary plus (issue 2527).
Performance and stability improvements on all platforms.
2013-04-17: Version 3.18.0
Enabled pretenuring of fast literals in high promotion mode.
Removed preparser library; link preparser executable against full V8.
Fixed set-up of intrinsic's 'constructor' properties.
(Chromium issue 229445)
ES6 symbols: extended V8 API to support symbols (issue 2158).
Removed ARM support for VFP2.
Made __proto__ a real JavaScript accessor property.
(issue 1949 and issue 2606)
Performance and stability improvements on all platforms.
2013-04-04: Version 3.17.16
Stack trace API: poison stack frames below the first strict mode frame.
(issue 2564)
Made Isolate::GetHeapStatistics robust against half-initialized
isolates (Chromium issue 2591).
Finished implementation of ES6 symbols aka. private names (issue 2158).
Performance and stability improvements on all platforms.
2013-03-21: Version 3.17.15
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.
(Chromium issue 196331)
Use internal memcpy for CopyWords and when copying code.
(Chromium issue 196330)
Performance and stability improvements on all platforms.
2013-03-20: Version 3.17.14
Use internal memcpy when initializing code objects.
(Chromium issue 196330)
Disabled weak embedded maps because of crashes.
(Chromium issues 172489, 217858)
Performance and stability improvements on all platforms.
2013-03-19: Version 3.17.13
Turned Flags into a uint32_t typedef (Chromium issue 194749).
Performance and stability improvements on all platforms.
2013-03-18: Version 3.17.12
Unified kMaxArguments with number of bits used to encode it.
(Chromium issue 211741)
Fixed detection of |handle_smi| case in
HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
(Chromium issue 196583)
Performance and stability improvements on all platforms.
2013-03-15: Version 3.17.11
Added a version of the v8::HandleScope constructor with an v8::Isolate
parameter and made AdjustAmountOfExternalAllocatedMemory an instance
method of v8::Isolate.
(issue 2487)
Fixed two register allocator bugs (off-by-one error/failure
propagation). (issue 2576)
Fixed huge heap snapshot when a heavily shared context has many
variables. (Chromium issue 145687)
Performance and stability improvements on all platforms.
2013-03-13: Version 3.17.10
Fixed heap snapshot creation for Harmony collections. (issue 2535)
Fixed register allocation corner case. (Chromium issue 177883)
Performance and stability improvements on all platforms.
2013-03-08: Version 3.17.9
Restored Function()'s expected string representation. (issue 2470)
Enabled deprecatations (again). (issue 2487)
Avoid bool to Oddball conversions by being lazy. (issue 2491)
Added %p option to --logfile.
Hardened Function()'s parsing of function literals. (issue 2470)
ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)
Performance and stability improvements on all platforms.
2013-03-07: Version 3.17.8
Added missing license headers. (Chromium issue 98597)
Inserted missing type cast in JSON.stringify. (issue 2570)
Reverted "Send SIGPROF signals on the profiler event processor thread"
(issue 2571)
Fixed Array.length, String.length and Function.prototype LoadICs on x64.
(issue 2568)
ES6 symbols: filter symbols form for-in loops and Object.keys.
(issue 2158)
Properly handle misses for StoreArrayLengthStub on ia32 and x64
(issue 2566)
Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)
Removed "library" variable from standalone.gypi. (Chromium issue 111541)
Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
(issue 2556)
Enabled zapping of disposed global handles in release mode.
(Chromium issue 176056)
Added workaround for redefinition of __proto__ property. (issue 2565)
ES6 symbols: Allow symbols as property names. (issue 2158)
Performance and stability improvements on all platforms.
2013-03-04: Version 3.17.7
Limited recursion in regexp compilation by a budget.
(Chromium issue 178790)
ES6 symbols: Implemented Symbol intrinsic and basic functionality
(issue 2158)
Performance and stability improvements on all platforms.
2013-02-28: Version 3.17.6
Fixed materialization of arguments objects with unknown values.
(Chromium issue 163530)
Set default number of sweeper threads to at most four.
Performance and stability improvements on all platforms.
2013-02-27: Version 3.17.5
Made __proto__ a foreign callback on Object.prototype.
(issue 621, issue 1949 and issue 2441)
Performance and stability improvements on all platforms.
2013-02-25: Version 3.17.4
Performance and stability improvements on all platforms.
2013-02-21: Version 3.17.3
Performance and stability improvements on all platforms.
2013-02-19: Version 3.17.2
Removed bogus check for TOP register in deoptimizer.
(Chromium issue 176943)
Made the Isolate parameter mandatory for internal HandleScopes.
(issue 2487)
Fixed f.apply() optimization when declared arguments are mutated.
(issue 2539)
Performance and stability improvements on all platforms.
2013-02-14: Version 3.17.1
Performance and stability improvements on all platforms.
2013-02-13: Version 3.17.0
Enabled parallel sweeping.
Don't try to unlink instructions twice during GVN
(Chromium issue 175141)
Fixed code flusher disabling while marking incrementally.
(Chromium issue 173458, 168582)
Don't use TLS for space iterators.
(issue 2531)
Added new GetHeapStatistics API entry and deprecated old one.
Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
platform-independent code.
(Chromium issue 173907)
Added --trace-array-abuse to help find OOB accesses.
Performance and stability improvements on all platforms.
2013-02-06: Version 3.16.14
Performance and stability improvements on all platforms.
2013-02-04: Version 3.16.13
Tagged stubs that rely on instance types as MEGAMORPHIC.
(Chromium issue 173974)
Fixed clearing of dead dependent codes and verifing of weak
embedded maps on full GC. (Chromium issue 172488,172489)
Made the arm port build cleanly with Clang.
Performance and stability improvements on all platforms.
2013-01-31: Version 3.16.12
Performance and stability improvements on all platforms.
2013-01-30: Version 3.16.11
Put making embedded maps in optimized code weak behind a flag.
(Chromium issue 172488,172489)
Performance and stability improvements on all platforms.
2013-01-25: Version 3.16.10
Avoid excessive memory usage during redundant phi elimination.
(issue 2510)
Fixed additional spec violations wrt RegExp.lastIndex.
(issue 2437)
Added Isolate parameter to Persistent class.
(issue 2487)
Performance and stability improvements on all platforms.
2013-01-24: Version 3.16.9
Made embedded maps in optimized code weak.
(issue 2073)
Fixed corner case when JSFunction is evicted from flusher.
(Chromium issue 168801)
Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
(Chromium issue 171641)
Performance and stability improvements on all platforms.
2013-01-23: Version 3.16.8
Correctly reset lastIndex in an RegExp object.
(Chromium issue 170856)
Added a workaround for Windows compilation problems related to V8EXPORT.
(issue 2507)
tools/run-tests.py: shlex.split() the value of --command-prefix
(Chromium issue 171553)
Fixed pattern detection for replacing shifts by rotation.
(Chromium issue 2499)
Performance and stability improvements on all platforms.
2013-01-21: Version 3.16.7
Removed <(library) usage from v8.gyp.
(Chromium issue 111541)
Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
(Chromium issue 169928)
Performance and stability improvements on all platforms.
2013-01-18: Version 3.16.6
Made the Isolate parameter mandatory in Locker and Unlocker classes.
(issue 2487)
Avoid pointer underflow in CopyCharsUnsigned.
(issue 2493)
Generate shim headers when using system v8.
(Chromium issue 165264)
Fixed arguments materialization for inlined apply().
(issue 2489)
Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
(Chromium issue 147497)
Added sanity check to CodeFlusher::AddCandidate.
(Chromium issue 169209)
Performance and stability improvements on all platforms.
2013-01-15: Version 3.16.5
Removed deprecated functions from V8's external API.
Prepared API for WebKit use of Latin-1.
Fixed V8 issue 2486.
Fixed Chromium issue 169723.
Performance and stability improvements on all platforms.
2013-01-11: Version 3.16.4
Fixed Chromium issues 168545 and 169209.
Performance and stability improvements on all platforms.
2013-01-09: Version 3.16.3
Improved GC performance when moving parts of a FixedArray (issue 2452).
Enabled readline on d8 while building a shared lib (issue 1781).
Fixed missing exception check in typed array constructor
(Chromium issue 168545).
Check for read-only-ness when preparing for array sort (issue 2419).
Performance and stability improvements on all platforms.
2013-01-04: Version 3.16.2
Added Makefile options to build for the Raspberry Pi (armv7=0,
arm_fpu=vfp2).
Performance and stability improvements on all platforms.
2012-12-27: Version 3.16.1
Fixed x64 MathMinMax for negative untagged int32 arguments.
(Chromium issue 164442)
Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
(issue 2458)
Performance and stability improvements on all platforms.
2012-12-21: Version 3.16.0
V8_Fatal now prints C++ stack trace in debug mode.
Added HTML-based tick processor.
Continued implementation of Object.observe (V8 issue 2409).
Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
Fixed Chromium issues 125308, 165637, 166379, 166553.
Performance and stability improvements on all platforms.
2012-12-10: Version 3.15.11
Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
flags.
Performance and stability improvements on all platforms.
2012-12-07: Version 3.15.10
Enabled optimisation of functions inside eval. (issue 2315)
Fixed spec violations in methods of Number.prototype. (issue 2443)
Added GCTracer metrics for a scavenger GC for DOM wrappers.
Performance and stability improvements on all platforms.
2012-12-06: Version 3.15.9
Fixed candidate eviction in code flusher.
(Chromium issue 159140)
Iterate through all arguments for side effects in Math.min/max.
(issue 2444)
Fixed spec violations related to regexp.lastIndex
(issue 2437, issue 2438)
Performance and stability improvements on all platforms.
2012-12-04: Version 3.15.8
Enforced stack allocation of TryCatch blocks.
(issue 2166,chromium:152389)
Fixed external exceptions in external try-catch handlers.
(issue 2166)
Activated incremental code flushing by default.
Performance and stability improvements on all platforms.
2012-11-30: Version 3.15.7
Activated code aging by default.
Included more information in --prof log.
Removed eager sweeping for lazy swept spaces. Try to find in
SlowAllocateRaw a bounded number of times a big enough memory slot.
(issue 2194)
Performance and stability improvements on all platforms.
2012-11-26: Version 3.15.6
Ensure double arrays are filled with holes when extended from
variations of empty arrays. (Chromium issue 162085)
Performance and stability improvements on all platforms.
2012-11-23: Version 3.15.5
Fixed JSON.stringify for objects with interceptor handlers.
(Chromium issue 161028)
Fixed corner case in x64 compare stubs. (issue 2416)
Performance and stability improvements on all platforms.
2012-11-16: Version 3.15.4
Fixed Array.prototype.join evaluation order. (issue 2263)
Perform CPU sampling by CPU sampling thread only iff processing thread
is not running. (issue 2364)
When using an Object as a set in Object.getOwnPropertyNames, null out
the proto. (issue 2410)
Disabled EXTRA_CHECKS in Release build.
Heap explorer: Show representation of strings.
Removed 'type' and 'arguments' properties from Error object.
(issue 2397)
Added atomics implementation for ThreadSanitizer v2.
(Chromium issue 128314)
Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
Performance and stability improvements on all platforms.
2012-11-13: Version 3.15.3
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.
(issue 214)
Collect stack trace on stack overflow. (issue 2394)
Performance and stability improvements on all platforms.
2012-11-12: Version 3.15.2
Function::GetScriptOrigin supplies sourceURL when script name is
not available. (Chromium issue 159413)
Made formatting error message side-effect-free. (issue 2398)
Fixed length check in JSON.stringify. (Chromium issue 160010)
ES6: Added support for Set and Map clear method (issue 2400)
Fixed slack tracking when instance prototype changes.
(Chromium issue 157019)
Fixed disabling of code flusher while marking. (Chromium issue 159140)
Added a test case for object grouping in a scavenger GC (issue 2077)
Support shared library build of Android for v8.
(Chromium issue 158821)
ES6: Added support for size to Set and Map (issue 2395)
Performance and stability improvements on all platforms.
2012-11-06: Version 3.15.1
Put incremental code flushing behind a flag. (Chromium issue 159140)
Performance and stability improvements on all platforms.
2012-10-31: Version 3.15.0
Loosened aligned code target requirement on ARM (issue 2380)
Fixed JSON.parse to treat leading zeros correctly.
(Chromium issue 158185)
Performance and stability improvements on all platforms.
2012-10-22: Version 3.14.5
Killed off the SCons based build.
Added a faster API for creating v8::Integer objects.
Speeded up function deoptimization by avoiding quadratic pass over
optimized function list. (Chromium issue 155270)
Always invoke the default Array.sort functions from builtin functions.
(issue 2372)
Reverted recent CPU profiler changes because they broke --prof.
(issue 2364)
Switched code flushing to use different JSFunction field.
(issue 1609)
Performance and stability improvements on all platforms.
2012-10-15: Version 3.14.4
Allow evals for debugger even if they are prohibited in the debugee
context. (Chromium issue 154733)
Enabled --verify-heap in release mode (issue 2120)
Performance and stability improvements on all platforms.
2012-10-11: Version 3.14.3
Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
(Chromium issue 155076).
Bumped variable limit further to 2^17 (Chromium issue 151625).
Performance and stability improvements on all platforms.
2012-10-10: Version 3.14.2
ARM: allowed VFP3 instructions when hardfloat is enabled.
(Chromium issue 152506)
Fixed instance_descriptors() and PushStackTraceAndDie regressions.
(Chromium issue 151749)
Made GDBJIT interface compile again. (issue 1804)
Fixed Accessors::FunctionGetPrototype's proto chain traversal.
(Chromium issue 143967)
Made sure that names of temporaries do not clash with real variables.
(issue 2322)
Rejected local module declarations. (Chromium issue 150628)
Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
Fixed slot recording of code target patches.
(Chromium issue 152615,chromium:144230)
Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
Performance and stability improvements on all platforms.
2012-10-01: Version 3.14.1
Don't set -m32 flag when compiling with Android ARM compiler.
(Chromium issue 143889)
Restore the descriptor array before returning allocation failure.
(Chromium issue 151750)
Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
128252).
Pull more recent gyp in 'make dependencies'.
Made sure that the generic KeyedStoreIC changes length and element_kind
atomically (issue 2346).
Bumped number of allowed variables per scope to 65535, to address GWT.
(Chromium issue 151625)
Support sourceURL for dynamically inserted scripts (issue 2342).
Performance and stability improvements on all platforms.
2012-09-20: Version 3.14.0
Fixed missing slot recording during clearing of CallICs.
(Chromium issue 144230)
Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
(Chromium issue 150729)
Fixed minus zero test. (Issue 2133)
Fixed setting array length to zero for slow elements.
(Chromium issue 146910)
Fixed lost arguments dropping in HLeaveInlined.
(Chromium issue 150545)
Fixed casting error for receiver of interceptors.
(Chromium issue 149912)
Throw a more descriptive exception when blocking 'eval' via CSP.
(Chromium issue 140191)
Fixed debugger's eval when close to stack overflow. (issue 2318)
Added checks to live edit. (issue 2297)
Switched on code compaction on incremental GCs.
Fixed caching of optimized code for OSR. (issue 2326)
Not mask exception thrown by toString in String::UtfValue etc.
(issue 2317)
Fixed API check for length of external arrays. (Chromium issue 148896)
Ensure correct enumeration indices in the dict (Chromium issue 148376)
Correctly initialize regexp global cache. (Chromium issue 148378)
Fixed arguments object materialization during deopt. (issue 2261)
Introduced new API to expose external string resource regardless of
encoding.
Fixed CHECK failure in LCodeGen::DoWrapReceiver when
--deopt-every-n-times flag is present
(Chromium issue 148389)
Fixed edge case of extension with NULL as source string.
(Chromium issue 144649)
Fixed array index dehoisting. (Chromium issue 141395)
Performance and stability improvements on all platforms.
2012-09-11: Version 3.13.7
Enable/disable LiveEdit using the (C++) debug API.
Performance and stability improvements on all platforms.
2012-09-06: Version 3.13.6
Added validity checking to API functions and calls.
Disabled accessor inlining (Chromium issue 134609).
Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
Directly use %ObjectKeys in json stringify (Chromium issue 2312).
Fixed VS2005 build (issue 2313).
Activated fixed ES5 readonly semantics by default.
Added hardfp flag to the Makefile.
Performance and stability improvements on all platforms.
2012-08-29: Version 3.13.5
Release stack trace data after firing Error.stack accessor.
(issue 2308)
Added a new API V8::SetJitCodeEventHandler to push code name and
location to users such as profilers.
Allocate block-scoped global bindings to global context.
Performance and stability improvements on all platforms.
2012-08-28: Version 3.13.4
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. (issue 2294)
Performance and stability improvements on all platforms.
2012-08-21: Version 3.13.3
Performance and stability improvements on all platforms.
2012-08-20: Version 3.13.2
Performance and stability improvements on all platforms.
2012-08-16: Version 3.13.1
Performance and stability improvements on all platforms.
2012-08-10: Version 3.13.0
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).
(issue 1645)
Added checks for interceptors to negative lookup code in Crankshaft.
(Chromium issue 140473)
Made incremental marking clear ICs and type feedback cells.
Performance and stability improvements on all platforms.
2012-08-01: Version 3.12.19
Performance and stability improvements on all platforms.
2012-07-30: Version 3.12.18
Forced using bit-pattern for signed zero double. (issue 2239)
Made sure double to int conversion is correct. (issue 2260)
Performance and stability improvements on all platforms.
2012-07-27: Version 3.12.17
Always set the callee's context when calling a function from optimized
code.
(Chromium issue 138887)
Fixed building with GCC 3.x
(issue 2016, 2017)
Improved API calls that return empty handles.
(issue 2245)
Performance and stability improvements on all platforms.
2012-07-25: Version 3.12.16
Performance and stability improvements on all platforms.
2012-07-24: Version 3.12.15
Added PRESERVE_ASCII_NULL option to String::WriteAscii.
(issue 2252)
Added dependency to HLoadKeyed* instructions to prevent invalid
hoisting. (Chromium issue 137768)
Enabled building d8 for Android on Mac.
Interpret negative hexadecimal literals as NaN.
(issue 2240)
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.
2012-07-18: Version 3.12.14
Deactivated optimization of packed arrays.
(Chromium issue 137768)
Fixed broken accessor transition.
(Chromium issue 137689)
Performance and stability improvements on all platforms.
2012-07-17: Version 3.12.13
Fixed missing tagging of stack value in finally block.
(Chromium issue 137496)
Added more support for heap analysis.
Performance and stability improvements on all platforms.
2012-07-16: Version 3.12.12
Added an option to the tickprocessor to specify the directory for lib
lookup.
Fixed ICs for slow objects with native accessor (Chromium issue 137002).
Fixed transcendental cache on ARM in optimized code (issue 2234).
New heap inspection tools: counters for object sizes and counts,
histograms for external fragmentation.
Incorporated constness into inferred interfaces (in preparation for
handling imports) (issue 1569).
Performance and stability improvements on all platforms.
2012-07-12: Version 3.12.11
Renamed "mips" arch to "mipsel" in the GYP build.
Fixed computation of call targets on prototypes in Crankshaft.
(Chromium issue 125148)
Removed use of __lookupGetter__ when generating stack trace.
(issue 1591)
Turned on ES 5.2 globals semantics by default.
(issue 1991, Chromium issue 80591)
Synced preparser and parser wrt syntax error in switch..case.
(issue 2210)
Fixed reporting of octal literals in strict mode when preparsing.
(issue 2220)
Fixed inline constructors for Harmony Proxy prototypes.
(issue 2225)
Performance and stability improvements on all platforms.
2012-07-10: Version 3.12.10
Re-enabled and fixed issue with array bounds check elimination
(Chromium issue 132114).
Fixed Debug::Break crash. (Chromium issue 131642)
Added optimizing compiler support for JavaScript getters.
Performance and stability improvements on all platforms.
2012-07-06: Version 3.12.9
Correctly advance the scanner when scanning unicode regexp flag.
(Chromium issue 136084)
Fixed unhandlified code calling Harmony Proxy traps.
(issue 2219)
Performance and stability improvements on all platforms.
2012-07-05: Version 3.12.8
Implemented TypedArray.set and ArrayBuffer.slice in d8.
Performance and stability improvements on all platforms.
2012-07-03: Version 3.12.7
Fixed lazy compilation for strict eval scopes.
(Chromium issue 135066)
Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
(issue 2151)
Report "hidden properties" in heap profiler for properties case.
(issue 2212)
Activated optimization of packed arrays by default.
Performance and stability improvements on all platforms.
2012-06-29: Version 3.12.6
Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
Extended TypedArray support in d8.
2012-06-28: Version 3.12.5
Fixed lazy parsing heuristics to respect outer scope.
(Chromium issue 135008)
Allow using test-wrapper-gypbuild.py on Windows when no python
interpreter is registered.
Performance and stability improvements on all platforms.
2012-06-27: Version 3.12.4
Removed -fomit-frame-pointer flag from Release builds to make
the stack walkable by TCMalloc (Chromium issue 133723).
Ported r7868 (constant masking) to x64 (issue 1374).
Expose more detailed memory statistics (issue 2201).
Fixed Harmony Maps and WeakMaps for undefined values
(Chromium issue 132744).
Correctly throw reference error in strict mode with ICs disabled
(issue 2119).
Performance and stability improvements on all platforms.
2012-06-25: Version 3.12.3
Reverted r11835 'Unify promotion and allocation limit computation' due
to V8 Splay performance regression on Mac. (Chromium issue 134183)
Fixed sharing of literal boilerplates for optimized code. (issue 2193)
Performance and stability improvements on all platforms.
2012-06-22: Version 3.12.2
Made near-jump check more strict in LoadNamedFieldPolymorphic on
ia32/x64. (Chromium issue 134055)
Fixed lazy sweeping heuristics to prevent old-space expansion.
(issue 2194)
Performance and stability improvements on all platforms.
2012-06-21: Version 3.12.1
Performance and stability improvements on all platforms.
2012-06-20: Version 3.12.0
Fixed Chromium issues:
115100, 129628, 131994, 132727, 132741, 132742, 133211
Fixed V8 issues:
915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
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.
2012-06-13: Version 3.11.10
Implemented heap profiler memory usage reporting.
Preserved error message during finally block in try..finally.
(Chromium issue 129171)
Fixed EnsureCanContainElements to properly handle double values.
(issue 2170)
Improved heuristics to keep objects in fast mode with inherited
constructors.
Performance and stability improvements on all platforms.
2012-06-06: Version 3.11.9
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.
2012-05-31: Version 3.11.8
Avoid overdeep recursion in regexp where a guarded expression with a
minimum repetition count is inside another quantifier.
(Chromium issue 129926)
Fixed missing write barrier in store field stub.
(issues 2143, 1465, Chromium issue 129355)
Proxies: Fixed receiver for setters inherited from proxies.
Proxies: Fixed ToStringArray function so that it does not reject some
keys.
(issue 1543)
Performance and stability improvements on all platforms.
2012-05-29: Version 3.11.7
Get better function names in stack traces.
Performance and stability improvements on all platforms.
2012-05-24: Version 3.11.6
Fixed RegExp.prototype.toString for incompatible receivers
(issue 1981).
Performance and stability improvements on all platforms.
2012-05-23: Version 3.11.5
Performance and stability improvements on all platforms.
2012-05-22: Version 3.11.4
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.
(issue 2098)
Fixed python deprecations. (issue 1391)
Made socket send and receive more robust and return 0 on failure.
(Chromium issue 15719)
Fixed GCC 4.7 (C++11) compilation. (issue 2136)
Set '-m32' option for host and target platforms
Performance and stability improvements on all platforms.
2012-05-18: Version 3.11.3
Disable optimization for functions that have scopes that cannot be
reconstructed from the context chain. (issue 2071)
Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
Correctly check for native error objects. (Chromium issue 2138)
Performance and stability improvements on all platforms.
2012-05-16: Version 3.11.2
Revert r11496. (Chromium issue 128146)
Implement map collection for incremental marking. (issue 1465)
Add toString method to CallSite (which describes a frame of the