blob: 68d6e5e0e8841c8c43f6e9d4df9da9d4476d6717 [file] [log] [blame]
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
stack trace).
2012-05-15: Version 3.11.1
Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
Fix freebsd build. (V8 issue 2126)
Performance and stability improvements on all platforms.
2012-05-11: Version 3.11.0
Fixed compose-discard crasher from r11524 (issue 2123).
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 (Chromium issue 117409).
Made Error.prototype.name writable again, as required by the spec and
the web (Chromium issue 69187).
Implemented map collection with incremental marking (issue 1465).
Regexp: Fixed overflow in min-match-length calculation
(Chromium issue 126412).
MIPS: Fixed illegal instruction use on Loongson in code for
Math.random() (issue 2115).
Fixed crash bug in VisitChoice (Chromium issue 126272).
Fixed unsigned-Smi check in MappedArgumentsLookup
(Chromium issue 126414).
Fixed LiveEdit for function with no locals (issue 825).
Fixed register clobbering in LoadIC for interceptors
(Chromium issue 125988).
Implemented clearing of CompareICs (issue 2102).
Performance and stability improvements on all platforms.
2012-05-03: Version 3.10.8
Enabled MIPS cross-compilation.
Ensured reload of elements pointer in StoreFastDoubleElement stub.
(Chromium issue 125515)
Fixed corner cases in truncation behavior when storing to
TypedArrays. (issue 2110)
Fixed failure to properly recognize and report out-of-memory
conditions when allocating code space pages. (Chromium issue
118625)
Fixed idle notifications to perform a round of incremental GCs
after context disposal. (issue 2107)
Fixed preparser for try statement. (issue 2109)
Performance and stability improvements on all platforms.
2012-04-30: Version 3.10.7
Performance and stability improvements on all platforms.
2012-04-26: Version 3.10.6
Fixed some bugs in accessing details of the last regexp match.
Fixed source property of empty RegExp objects. (issue 1982)
Enabled inlining some V8 API functions.
Performance and stability improvements on all platforms.
2012-04-23: Version 3.10.5
Put new global var semantics behind a flag until WebKit tests are
cleaned up.
Enabled stepping into callback passed to builtins.
(Chromium issue 109564)
Performance and stability improvements on all platforms.
2012-04-19: Version 3.10.4
Fixed issues when stressing compaction with WeakMaps.
Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
Simplify invocation sequence at monomorphic function invocation sites.
(issue 2079)
Performance and stability improvements on all platforms.
2012-04-17: Version 3.10.3
Fixed several bugs in heap profiles (including issue 2078).
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 (issue 2026).
Performance and stability improvements on all platforms.
2012-04-13: Version 3.10.2
Fixed native ARM build (issues 1744, 539)
Return LOOKUP variable instead of CONTEXT for non-context allocated
outer scope parameters (Chromium issue 119609).
Fixed regular and ElementsKind transitions interfering with each other
(Chromium issue 122271).
Improved performance of keyed loads/stores which have a HeapNumber
index (issues 1388, 1295).
Fixed WeakMap processing for evacuation candidates (issue 2060).
Bailout on possible direct eval calls (Chromium issue 122681).
Do not assume that names of function expressions are context-allocated
(issue 2051).
Performance and stability improvements on all platforms.
2012-04-10: Version 3.10.1
Fixed bug with arguments object in inlined functions (issue 2045).
Fixed performance bug with lazy initialization (Chromium issue
118686).
Added suppport for Mac OS X 64bit builds with GYP.
(Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
Fixed bug with hidden properties (issue 2034).
Fixed a performance bug when reloading pages (Chromium issue 117767,
V8 issue 1902).
Fixed bug when optimizing throw in top-level code (issue 2054).
Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
Fixed a bug with the new runtime profiler (Chromium issue 121147).
Fixed compilation of V8 using uClibc.
Optimized boot-up memory use.
Optimized regular expressions.
2012-03-30: Version 3.10.0
Fixed store IC writability check in strict mode
(Chromium issue 120099).
Resynchronize timers if the Windows system time was changed.
(Chromium issue 119815)
Removed "-mfloat-abi=hard" from host compiler cflags when building for
hardfp ARM
(https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
Fixed edge case for case independent regexp character classes
(issue 2032).
Reset function info counters after context disposal.
(Chromium issue 117767, V8 issue 1902)
Fixed missing write barrier in CopyObjectToObjectElements.
(Chromium issue 119926)
Fixed missing bounds check in HasElementImpl.
(Chromium issue 119925)
Performance and stability improvements on all platforms.
2012-03-23: Version 3.9.24
Activated count-based profiler for ARM.
Fixed use of proxies as f.prototype properties. (issue 2021)
Enabled snapshots on MIPS.
Performance and stability improvements on all platforms.
2012-03-21: Version 3.9.23
Use correct arguments adaptation environment when inlining function
containing arguments. (Issue 2014)
Performance and stability improvements on all platforms.
2012-03-20: Version 3.9.22
Enabled count-based profiler by default.
Implemented a hash based look-up to speed up address checks
in large object space (issue 853).
Performance and stability improvements on all platforms.
2012-03-19: Version 3.9.21
Fixed push-to-trunk script (and re-push).
Added API call that identifies strings that are guaranteed only to
contain ASCII characters.
2012-03-19: Version 3.9.20
Fixed declarations escaping global strict eval. (Issue 1624)
Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
Fixed function declarations overwriting read-only global properties.
(Chromium issue 115452)
Fixed --use-strict flag in combination with --harmony[-scoping].
Debugger: naive implementation of "step into Function.prototype.bind".
Debugger: added ability to set script source from within OnBeforeCompile
Added flag to always call DebugBreak on abort.
Re-enabled constructor inlining and inline === comparison with boolean
constants. (Issue 2009)
Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
Performance and stability improvements on all platforms.
2012-03-14: Version 3.9.19
Ensure there is a smi check of the receiver for global load and call
ICs (Chromium issue 117794).
Performance and stability improvements on all platforms.
2012-03-13: Version 3.9.18
Ensure consistency of Math.sqrt on Intel platforms.
Remove static initializers in v8. (issue 1859)
Add explicit dependency on v8_base in the GYP-based build.
Performance and stability improvements on all platforms.
2012-03-12: Version 3.9.17
Fixed VFP detection through compiler defines. (issue 1996)
Add Code-related fields to postmortem metadata.
Performance and stability improvements on all platforms.
2012-03-09: Version 3.9.16
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.
2012-03-06: Version 3.9.15
Fix the heap profiler crash caused by memory layout changes between
passes.
Fix Error.prototype.toString to throw TypeError. (issue 1980)
Fix double-rounding in strtod for MinGW. (issue 1062)
Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
Performance and stability improvements on all platforms.
2012-03-01: Version 3.9.14
Performance and stability improvements on all platforms.
2012-02-29: Version 3.9.13
Added code kind check before preparing for OSR. (issue 1900, 115073)
Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
ARM.
Ported string construct stub to x64. (issue 849)
Performance and stability improvements on all platforms.
2012-02-28: Version 3.9.12
Fixed the negative lookup stub to handle deleted entries in a
dictionary. (issue 1964)
Added 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.
Fixed Chromium issue http://crbug.com/115646: When compiling for-in
pass correct context value to the increment instruction.
Fixed issue 1853: Update breakpoints set with partial file name after
compile.
2012-02-27: Version 3.9.11
Made 'module' a context-sensitive keyword (V8 issue 1957).
2012-02-24: Version 3.9.10
Fixed V8 issues 1322, 1772 and 1969.
Conformance improvements.
Performance and stability improvements on all platforms.
2012-02-23: Version 3.9.9
Supported fast case for-in in Crankshaft.
Sped up heap snapshot serialization and dominators construction.
Randomized allocation addresses on windows. (Chromium issue 115151)
Fixed compilation with MinGW-w64. (issue 1943)
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.
2012-02-21: Version 3.9.8
Fixed memory leak and missing #include in StartupDataDecompressor
(issue 1960).
Renamed static methods to avoid shadowing virtual methods and fix Clang
C++11 compile error.
Fixed sequence of element access in array builtins (issue 1790).
Performance and stability improvements on all platforms.
2012-02-16: Version 3.9.7
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.
2012-02-14: Version 3.9.6
Fixed template-related linker error. (issue 1936)
Allowed inlining of functions containing object literals. (issue 1322)
Added --call-graph-size option to tickprocessor. (issue 1937)
Heap Snapshot maximum size limit is too low for really big apps. At the
moment the limit is 256MB. (Chromium issue 113015)
Performance and stability improvements on all platforms.
2012-02-09: Version 3.9.5
Removed unused command line flags.
Performance and stability improvements on all platforms.
2012-02-08: Version 3.9.4
Properly initialize element-transitioning array literals on ARM.
(issue 1930)
Bug fixes on all platforms.
2012-02-07: Version 3.9.3
When rethrowing an exception, print the stack trace of its original
site instead of rethrow site (Chromium issue 60240).
Increased size of small stacks from 32k to 64k to avoid hitting limits
in Chromium (Chromium issue 112843).
2012-02-06: Version 3.9.2
Added timestamp to --trace-gc output. (issue 1932)
Heap profiler reports implicit references.
Optionally export metadata with libv8 to enable debuggers to inspect V8
state.
2012-02-02: Version 3.9.1
Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
(Chromium issue 112315).
Fixed a crash in dev tools (Chromium issue 107996).
Added 'dependencies_traverse': 1 to v8 GYP target.
Performance and stability improvements on all platforms.
2012-02-01: Version 3.9.0
Reduced memory use immediately after starting V8.
Stability fixes and performance improvements on all platforms.
2012-01-26: Version 3.8.9
Flush number string cache on GC (issue 1605).
Provide access to function inferred name with
v8::Function::GetInferredName in V8 public API.
Fix building with Clang (issue 1912).
Reduce the space used by the stack for the profiling thread.
Fix misleading documentation of v8::Locker (issue 542).
Introduce readbinary function in d8 to read binary files.
Performance and stability improvements on all platforms.
2012-01-23: Version 3.8.8
Limited number of loop iterations in Heap::ReserveSpace
(Chromium issue 99027).
Fixed solaris build (VirtualMemory) (issue 1761).
Fixed strict vs. non-strict handling of function proxies in
higher-order array and string methods.
Enabled asynchronous remote debugging with d8 (issue 1691).
Stability and performance improvements on all platforms.
2012-01-19: Version 3.8.7
Ensure that LRandom restores rsi after call to the C function on x64.
(Chromium issue http://crbug.com/110509)
Fixing include issues on *bsd when building with scons.
(issue 1897)
Provide a switch to specify -fno-strict-aliasing
(issue 1887)
Move WIN32 define from standalone.gypi to common.gypi
(issue 1760)
Fix corner-case in heap size estimation.
(issue 1893)
Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
(issue 1903)
Performance improvements and bug fixes.
2012-01-16: Version 3.8.6
Add primitive WebGL array support to d8.
Improve heap size estimation (issue 1893).
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. http://crbug.com/109195
Fix GC crash related to instanceof. http://crbug.com/109448
Performance improvements and bug fixes.
2012-01-05: Version 3.8.5
Fix broken test that assumes that no GC can clear the regexp cache (GC
can happen at any time due to Crankshaft).
Fix handling of bogus receivers for Harmony collections. (issue 1884)
Add 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. Based on code from
Bert Belder. This version only solves the issue for those that compile
V8 themselves or those that do not use snapshots. A snapshot-based
precompiled V8 will still have predictable string hash codes.
Implement callback when script finishes running in V8 API.
Improve performance of Math.min and Math.max for the case of two
arguments. (issue 1325)
2012-01-02: Version 3.8.4
Performance improvements for large Smi-only arrays.
Fixed InternalArrays construction. (issue 1878)
2011-12-27: Version 3.8.3
Avoid embedding new space objects into code objects in the lithium gap
resolver. (chromium:108296)
Bug fixes and performance optimizations on all platforms.
2011-12-21: Version 3.8.2
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.
2011-12-19: Version 3.8.1
Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
Stability improvements on all platforms.
2011-12-13: Version 3.8.0
Fixed handling of arrays in DefineOwnProperty. (issue 1756)
Sync parser and preparser on do-while and return statements.
(issue 1856)
Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
Stability and performance improvements on all platforms.
2011-12-01: Version 3.7.12
Increase tick interval for the android platform.
Fix a bug in the register allocator. (chromium:105112)
Fix handling of recompiling code. (chromium:105375, v8:1782)
Start incremental marking on idle notification. (v8:1458)
Build fixes for various platforms.
Various performance improvements.
2011-11-29: Version 3.7.11
Fixed bug when generating padding to ensure space for lazy
deoptimization.
(issue 1846)
Further reduced pause times due to GC.
Stability and performance improvements on all platforms.
2011-11-23: Version 3.7.10
Set maximum length of FixedArray in terms of elements instead an
absolute number of bytes.
(Chromium issue 103103)
Stability and performance improvements on all platforms.
2011-11-21: Version 3.7.9
Removed exit-time destructors.
Stability and performance improvements on all platforms.
2011-11-17: Version 3.7.8
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.
2011-11-14: Version 3.7.7
Fix missing fast property accessors in heap snapshots.
(issue 1818)
2011-11-11: Version 3.7.6
Fixed filtering of store buffer for large object pages.
(issue 1817)
Fixed generated hash function on all platforms.
(issue 1808)
Fixed Heap::Shrink to ensure that it does not free pages that are
still in use.
(Chromium issue 100414)
Stability and performance improvements on all platforms.
2011-11-10: Version 3.7.5
Added initial gyp infrastructure for MIPS.
Implemented performance improvements to the incremental garbage
collector.
Added optimizations and stability improvements on all platforms.
2011-11-07: Version 3.7.4
Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
Fix Harmony sets and maps to allow null and undefined as keys
(still hidden behind --harmony flag) (issue 1622).
Implement VirtualMemory on FreeBSD to fix build (issue 1807).
Enable VFP instructions for Android.
Fix error handling in Date.prototype.toISOString (issue 1792).
Bug fixes and performance improvements for all platforms.
Not officially supported but noteworthy: Crankshaft for MIPS :-)
2011-10-28: Version 3.7.3
Slight deoptimization as a workaround for issue with jslint: Issue
1789.
2011-10-27: Version 3.7.2
Fix bug in deoptimization. Known issue with jslint: Issue 1789.
2011-10-26: Version 3.7.1
Achieved 33% speedup in debug-mode tests.
Removed special casing of calls to RegExp test and exec methods with no
argument. Now matches new JSC behaviour. crbug.com/75740.
Return the empty string on cyclic references in toString (ES5
conformance).
Fixed bug triggered by JSBeautifier. crbug.com/100409.
Made Math.random state per-context instead of per-process (issue 864).
Fixed stack traces to skip native functions.
Make snapshots (new contexts) smaller and faster.
Fixed handling of Function.apply for non-array arguments.
Fixed evaluation order in defineProperties to match FireFox.