blob: 80d1dde4ab5185b1222c2a36320f2a65fec77bda [file] [log] [blame]
bmeurer@chromium.org3c12eb12013-10-24 09:23:47 +000012013-10-24: Version 3.22.21
2
3 Performance and stability improvements on all platforms.
4
5
bmeurer@chromium.orgc9913f02013-10-24 06:31:36 +000062013-10-24: Version 3.22.20
7
8 Made Array.prototype.pop throw if the last element is not configurable.
9
10 Fixed HObjectAccess for loads from migrating prototypes.
11 (Chromium issue 305309)
12
13 Enabled preaging of code objects when --optimize-for-size.
14 (Chromium issue 280984)
15
16 Exposed v8::Function::GetDisplayName to public API.
17 (Chromium issue 17356)
18
19 Performance and stability improvements on all platforms.
20
21
bmeurer@chromium.orgdb783292013-10-23 06:51:00 +0000222013-10-23: Version 3.22.19
23
24 Fix materialization of captured objects with field tracking.
25 (Chromium issue 298990)
26
27 Performance and stability improvements on all platforms.
28
29
bmeurer@chromium.org71f9fca2013-10-22 08:00:09 +0000302013-10-22: Version 3.22.18
31
32 Add tool to visualize machine code/lithium.
33
34 Handle misaligned loads and stores in load elimination. Do not track
35 misaligned loads and be conservative about invalidating misaligned
36 stores. (issue 2934)
37
38 Performance and stability improvements on all platforms.
39
40
bmeurer@chromium.orge7a07452013-10-21 13:27:29 +0000412013-10-21: Version 3.22.17
42
43 Harmony: Implement Math.trunc and Math.sign. (issue 2938)
44
45 Performance and stability improvements on all platforms.
46
47
bmeurer@chromium.org0fdb2a62013-10-21 07:19:36 +0000482013-10-21: Version 3.22.16
49
50 Performance and stability improvements on all platforms.
51
52
mstarzinger@chromium.org69008382013-10-18 10:34:25 +0000532013-10-18: Version 3.22.15
54
55 Enabled calling the SetReference* & SetObjectGroupId functions with a
56 Persistent<SubclassOfValue>.
57
58 Performance and stability improvements on all platforms.
59
60
mstarzinger@chromium.org2ed0d022013-10-17 08:06:21 +0000612013-10-17: Version 3.22.14
62
63 Performance and stability improvements on all platforms.
64
65
mstarzinger@chromium.orgb4968be2013-10-16 09:00:56 +0000662013-10-16: Version 3.22.13
67
68 Do not look up ArrayBuffer on global object in typed array constructor.
69 (issue 2931)
70
71 Performance and stability improvements on all platforms.
72
73
mstarzinger@chromium.orga2e1a402013-10-15 08:25:05 +0000742013-10-15: Version 3.22.12
75
76 Added histograms to track fraction of heap spaces and percentage of
77 generated crankshaft code.
78
79 Moved v8_optimized_debug default value to standalone.gypi.
80
81 Track JS allocations as they arrive with no affection on performance
82 when tracking is switched off (Chromium issue 277984).
83
84 Performance and stability improvements on all platforms.
85
86
mstarzinger@chromium.org2efc3e42013-10-14 08:45:38 +0000872013-10-14: Version 3.22.11
88
89 Performance and stability improvements on all platforms.
90
91
mvstanton@chromium.orgdd6d9ee2013-10-11 10:35:37 +0000922013-10-11: Version 3.22.10
93
94 Fixed timezone issues with date-time/parse-* tests.
95 (Chromium issue 2919)
96
97 Added column getter to CpuProfileNode (Chromium issue 302537)
98
99 Performance and stability improvements on all platforms.
100
101
mvstanton@chromium.org63ea3d22013-10-10 09:24:12 +00001022013-10-10: Version 3.22.9
103
104 Ensure only whitelisted stubs have sse2 versions in the snapshot.
105 (fix for chromium 304565)
106
107 Implement ArrayBuffer.isView.
108
109 Performance and stability improvements on all platforms.
110
111
jkummerow@chromium.org25b0e212013-10-04 15:38:52 +00001122013-10-04: Version 3.22.8
113
114 Performance and stability improvements on all platforms.
115
116
jkummerow@chromium.orgd8a3a142013-10-03 12:15:05 +00001172013-10-03: Version 3.22.7
118
119 Debug: Allow stepping into on a given call frame
120 (Chromium issue 296963).
121
122 Always use timeGetTime() for TimeTicks::Now() on Windows
123 (Chromium issue 288924).
124
125 Performance and stability improvements on all platforms.
126
127
jkummerow@chromium.orgfb7a7c42013-10-02 11:41:02 +00001282013-10-02: Version 3.22.6
129
130 Performance and stability improvements on all platforms.
131
132
jkummerow@chromium.org32aa03c2013-10-01 08:21:50 +00001332013-10-01: Version 3.22.5
134
135 Disabled externalization of sliced/cons strings in old pointer space
136 (Chromium issue 276357).
137
138 Turned on handle zapping for release builds
139
140 Performance and stability improvements on all platforms.
141
142
jkummerow@chromium.orgc3669762013-09-30 13:42:25 +00001432013-09-30: Version 3.22.4
144
145 Function::Call and Object::CallAsFunction APIs should allow v8::Value as
146 a receiver (issue 2915).
147
148 Removed unnecessary mutex (Chromium issue 291236).
149
150 Removed ArrayBufferView::BaseAddress method.
151
152 Performance and stability improvements on all platforms.
153
154
machenbach@chromium.orgcfdf67d2013-09-27 07:27:26 +00001552013-09-27: Version 3.22.3
156
157 Added methods to enable configuration of ResourceConstraints based on
158 limits derived at runtime.
159 (Chromium issue 292928)
160
161 Added -optimize-for-size flag to optimize for memory size (will be used
162 by pre-aging CL), and removed the is_memory_constrained
163 ResourceConstraint.
164 (Chromium issue 292928)
165
166 Performance and stability improvements on all platforms.
167
168
machenbach@chromium.org8e36b5b2013-09-26 07:36:30 +00001692013-09-26: Version 3.22.2
170
171 Performance and stability improvements on all platforms.
172
173
machenbach@chromium.org3d079fe2013-09-25 08:19:55 +00001742013-09-25: Version 3.22.1
175
176 Sped up creating typed arrays from array-like objects.
177 (Chromium issue 270507)
178
179 Performance and stability improvements on all platforms.
180
181
machenbach@chromium.org528ce022013-09-23 14:09:36 +00001822013-09-23: Version 3.22.0
183
184 LiveEdit to mark more closure functions for re-instantiation when scope
185 layout changes.
186 (issue 2872)
187
188 Made bounds check elimination iterative instead of recursive.
189 (Chromium issue 289706)
190
191 Turned on i18n support by default.
192
193 Set the proper instance-type on HAllocate in BuildFastLiteral.
194 (Chromium issue 284577)
195
196 Performance and stability improvements on all platforms.
197
198
hpayer@chromium.org4f626d12013-09-18 07:47:45 +00001992013-09-18: Version 3.21.17
200
201 Implemented local load/store elimination on basic blocks.
202
203 Added mutex when accessing concurrent recompilation output queue.
204 (Chromium issue 291236)
205
206 Don't lookup the cache for the result of Function::New.
207 (Chromium issue 272579)
208
209 Tweaked HConstant::EmitAtUses() to eliminate useless constant
210 generation.
211 (Chromium issue 2881)
212
213 Performance and stability improvements on all platforms.
214
215
mvstanton@chromium.org5a4733b2013-09-16 07:33:24 +00002162013-09-16: Version 3.21.16
217
218 Every place where AllocationMemento is initialized with an
219 AllocationSite is now checked to be sure a valid Site goes in. This is
220 temporary code to diagnose chromium bug 284577.
221
222 Performance and stability improvements on all platforms.
223
224
dslomov@chromium.org4a35c5a2013-09-13 07:28:52 +00002252013-09-13: Version 3.21.15
226
227 Non-JSObject heap objects are now handled using slow-path IC stub
228 guarded by the map.
229 (Chromium issue 280632)
230
231 i18n Javascript code added to the snapshot.
232 (V8 issue 2745)
233
234 Performance and stability improvements on all platforms.
235
dslomov@chromium.orge97852d2013-09-12 09:02:59 +00002362013-09-12: Version 3.21.14
237
238 Added access check for observed objects.
239 (V8 issue 2778)
240
241 Cleaned up v8::ArrayBuffer::Allocator interface.
242 (V8 issue 2823)
243
244 Performance and stability improvements on all platforms.
245
hpayer@chromium.orgc5d49712013-09-11 08:25:48 +00002462013-09-11: Version 3.21.13
247
248 Added a ResourceConstraint for the embedder to specify that V8 is
249 running on a memory constrained device.
250 (Chromium issue 280984)
251
252 Removed HandleScope default ctor.
253 (Chromium issue 236173)
254
255 Enabled escape analysis for Hydrogen.
256
257 Correctly stringified mixed encoding indirect strings.
258 (Chromium issue 287476)
259
260 Performance and stability improvements on all platforms.
261
262
dslomov@chromium.org639bac02013-09-09 11:58:54 +00002632013-09-09: Version 3.21.12
264
265 Fixed bitwise negation on x64.
266 (Chromium issue 285355)
267
268 Dropped GetCurrentThreadId() and TerminateExecution(int) from
269 the external API.
270
271 Fixed polymorphic INTERCEPTOR StoreICs on ARM/MIPS.
272 (Chromium issue 284998)
273
274 Added check if timeout has expired after processing each sample.
275 (issue 2814,v8:2871)
276
277 Removed obsolete global V8::has_been_fooed flags.
278 (issue 2744)
279
280 Performance and stability improvements on all platforms.
281
282
jkummerow@chromium.org2c9426b2013-09-05 16:31:13 +00002832013-09-05: Version 3.21.11
284
285 Performance and stability improvements on all platforms.
286
287
jkummerow@chromium.org3d00d0a2013-09-04 13:57:32 +00002882013-09-04: Version 3.21.10
289
290 Fixed Eternal::IsEmpty logic (issue 2870).
291
292 Performance and stability improvements on all platforms.
293
294
mstarzinger@chromium.orge9000182013-09-03 11:25:39 +00002952013-09-03: Version 3.21.9
296
297 Deprecated Persistent functions which were marked to be deprecated.
298
299 Allowed uncacheable identifiers to go generic (issue 2867).
300
301 Performance and stability improvements on all platforms.
302
303
jkummerow@chromium.org8fa5bd92013-09-02 11:45:09 +00003042013-09-02: Version 3.21.8
305
306 Added scriptId to StackTrace frames (issue 2865).
307
308 Performance and stability improvements on all platforms.
309
310
jkummerow@chromium.orgdc94e192013-08-30 11:35:42 +00003112013-08-30: Version 3.21.7
312
313 Fixed casts of eternal handles.
314
315 Turned on global handle zapping.
316
317 Always visit branches during HGraph building (Chromium issue 280333).
318
319 Profiler changes: removed deprecated API, support higher sampling
320 rate on Windows.
321
322 Performance and stability improvements on all platforms.
323
324
mstarzinger@chromium.org1f410f92013-08-29 08:13:16 +00003252013-08-29: Version 3.21.6
326
327 Fixed inlined 'throw' statements interfering with live range
328 computation. (issue 2843)
329
330 Performance and stability improvements on all platforms.
331
332
verwaest@chromium.org662436e2013-08-28 08:41:27 +00003332013-08-28: Version 3.21.5
334
335 Fixed compilation with recent MinGW64 versions. (issue 2300)
336
337 Added RemovePrototype to FunctionTemplate. (Chromium issue 272440)
338
339 Performance and stability improvements on all platforms.
340
341
jkummerow@chromium.org1e8da742013-08-26 17:13:35 +00003422013-08-26: Version 3.21.4
343
344 Lowered kInitialMaxFastElementArray constant to 95K (issue 2790).
345
346 Use signals for cpu profiling on Mac OS X (issue 2814).
347
348 Deprecated CpuProfileNode::GetSelfSamplesCount (Chromium issue 267595).
349
350 Added support for higher CPU profiler sampling rate on posix systems
351 (issue 2814).
352
353 Worked around 'inlining failed' build error with older GCC 4.x releases.
354
355 Added source map support to tick processor.
356
357 Stability improvements on all platforms.
358
359
rossberg@chromium.org92597162013-08-23 13:28:00 +00003602013-08-23: Version 3.21.3
361
362 Temporarily disabled optimization for StringWrappers to use native
363 valueOf. (issue 2855)
364
365 Fixed crash on function declarations in eval inside non-trivial local
366 scope. (issue 2594)
367
368 Rewrote SamplingCircularQueue. (issue 2814)
369
370 Fixed hidden properties on object with frozen prototype. (issue 2829)
371
372 Fix deoptimization bug. (Chromium issue 274164)
373
374 Stability improvements on all platforms.
375
376
verwaest@chromium.orgec6855e2013-08-22 12:26:58 +00003772013-08-22: Version 3.21.2
378
379 Stability improvements on all platforms.
380
381
verwaest@chromium.org32cb9b22013-08-21 11:18:12 +00003822013-08-21: Version 3.21.1
383
384 Promoted ArrayBuffer, DataView and typed arrays to non-experimental.
385 (Chromium issue 270527)
386
387 Replaced OS::MemCopy with memcpy in typed array initialization.
388 (Chromium issue 270642)
389
390 Moved i18n break iterator C++ code to runtime (issue 2745)
391
392 Fixed invalid out-of-bounds store in MacroAssembler::Allocate.
393 (Chromium issue 263515)
394
395 Fixed register misuse in Allocate() on ARM. (issue 2851)
396
397 Fixed empty handle dereference in Runtime_InternalNumberFormat.
398 (Chromium issue 275467)
399
400 Performance and stability improvements on all platforms.
401
402
rossberg@chromium.orgebeba022013-08-19 09:36:44 +00004032013-08-19: Version 3.21.0
404
405 Fixed GC-related crasher (Chromium issue 274438)
406
407 Reverted making Intl non-enumerable.
408
409 Performance and stability improvements on all platforms.
410
411
danno@chromium.orgc00ec2b2013-08-14 17:13:49 +00004122013-08-14: Version 3.20.17
413
414 Fixed Math.round/floor that had bogus Smi representation
415 (Chromium issue 272564)
416
417 Performance and stability improvements on all platforms.
418
419
danno@chromium.org59400602013-08-13 17:09:37 +00004202013-08-13: Version 3.20.16
421
422 Fixed bug in HPhi::SimplifyConstantInput (Chromium issue 269679)
423
424 Fixed gcmole bugs in i18n code (issue 2745)
425
426 ia32: Calls to the TranscendentalCacheStub must ensure that esi is
427 set (issue 2827)
428
429 Made sure polymorphic element access creates non-replaying
430 phis. (issue 2815)
431
432 Allowed HPhis to have an invalid merge index. (issue 2815)
433
434 Fixed smi-based math floor. (Chromium issue 270268)
435
436 Deprecated self and total time getters and total sample count
437 getter on CpuProfileNode. (Chromium issue 267595)
438
439 Fixed Object.freeze, Object.observe wrt CountOperation and
440 CompoundAssignment. (issue 2774,2779)
441
442 Performance and stability improvements on all platforms.
443
444
mstarzinger@chromium.orge9000182013-09-03 11:25:39 +00004452013-08-07: Version 3.20.15
danno@chromium.org59400602013-08-13 17:09:37 +0000446
447 Exposed eternal handle api.
448
449 Bugfix to solve issues with enabling V8 typed arrays in Blink.
450
451 Fixed Array index dehoisting. (Chromium issue 264203)
452
453 Updated Array Iterator to use numeric indexes (issue 2818)
454
455 Return start/end profiling time in microseconds instead of milliseconds
456 (issue 2824)
457
458 Performance and stability improvements on all platforms.
459
460
4612013-08-06: Version 3.20.14
462
463 Added new Harmony methods to Array.prototype object.
464 (issue 2776,v8:2777)
465
466 Performance and stability improvements on all platforms.
467
468
danno@chromium.orgd3c42102013-08-01 16:58:23 +00004692013-08-01: Version 3.20.12
470
471 Removed buggy ToNumber truncation (partial fix for issue 2813)
472
473 Calling Map etc without new should throw TypeError (issue 2819)
474
475 Fixed a crash for large code objects on ARM (Chromium issue 2736)
476
477 Fixed stale unhandlified value in JSObject::SetPropertyForResult.
478 (Chromium issue 265894)
479
480 Added new Harmony methods to String.prototype object.
481 (issue 2796,v8:2797,v8:2798,v8:2799)
482
483 Performance and stability improvements on all platforms.
484
485
4862013-07-30: Version 3.20.11
487
488 Performance and stability improvements on all platforms.
489
490
4912013-07-29: Version 3.20.10
492
493 Performance and stability improvements on all platforms.
494
495
jkummerow@chromium.orgfb732b12013-07-26 10:27:09 +00004962013-07-26: Version 3.20.9
497
498 Check that ExternalString objects get aligned resources.
499
500 Fixed JSArray-specific length lookup in polymorphic array handling
501 (Chromium issues 263276, 263905).
502
503 Performance and stability improvements on all platforms.
504
505
yangguo@chromium.orgc73d55b2013-07-24 08:18:28 +00005062013-07-24: Version 3.20.8
507
508 Deprecated v8::V8::Pause/ResumeProfiler.
509
510 Fixed Chromium issues 247688, 258519 and 260203.
511
512 Performance and stability improvements on all platforms.
513
514
jkummerow@chromium.orgba72ec82013-07-22 09:21:20 +00005152013-07-22: Version 3.20.7
516
517 Deprecated some debugger methods.
518
519 Fixed wrong bailout id in polymorphic stores (Chromium issue 259787).
520
521 Fixed data race in SamplingCircularQueue (Chromium issue 251218).
522
523 Fixed type feedback in presence of negative lookups
524 (Chromium issue 252797).
525
526 Do not materialize context-allocated values for debug-evaluate
527 (Chromium issue 259300).
528
529 Synchronized Compare-Literal behavior in FullCodegen and Hydrogen
530 (Chromium issue 260345).
531
532 Performance and stability improvements on all platforms.
533
534
jkummerow@chromium.org10480472013-07-17 08:22:15 +00005352013-07-17: Version 3.20.6
536
537 Try to remove invalidated stubs before falling back to checking the
538 constant state (Chromium issue 260585).
539
540 Fixed gyp_v8 to work with use_system_icu=1 (issue 2475).
541
542 Fixed sloppy-mode 'const' under Harmony flag (Chromium issue 173361).
543
544 Use internal array as API function cache (Chromium issue 260106).
545
546 Fixed possible stack overflow in range analysis
547 (Chromium issue 259452).
548
549 Performance and stability improvements on all platforms.
550
551
danno@chromium.org169691d2013-07-15 08:01:13 +00005522013-07-15: Version 3.20.5
553
jkummerow@chromium.org10480472013-07-17 08:22:15 +0000554 Ensured that the length of frozen arrays is immutable
555 (issue 2711, Chromium issue 259548).
danno@chromium.org169691d2013-07-15 08:01:13 +0000556
557 Performance and stability improvements on all platforms.
558
559
danno@chromium.orgbee51992013-07-10 14:57:15 +00005602013-07-10: Version 3.20.4
561
562 Fixed garbage-collection issue that causes a crash on ARM
563 (Chromium issue 254570)
564
565 Performance and stability improvements on all platforms.
566
567
mstarzinger@chromium.orge0e1b0d2013-07-08 08:38:06 +00005682013-07-08: Version 3.20.3
569
570 Performance and stability improvements on all platforms.
571
572
machenbach@chromium.orgc1789ee2013-07-05 07:09:57 +00005732013-07-05: Version 3.20.2
574
575 Remove deprecated heap profiler methods from V8 public API
576
577 Mark i18n functions as native and set proper names
578 (issue 2745)
579
580 Correctly report stack trace when current function is FunctionApply
581 builtin (Chromium issue 252097)
582
583 Enable GDBJIT interface for standalone by default.
584
585 Fix debuggersupport=off build. (issue 2754)
586
587 Introduce -m64 flag for making x64 when the default gcc compiler is for
588 X32
589
590 Performance and stability improvements on all platforms.
591
592
jkummerow@chromium.org93a47f42013-07-02 14:43:41 +00005932013-07-02: Version 3.20.1
594
595 Implemented WeakMap.prototype.clear function. (issue 2753)
596
597 Ensure CheckInitialized is present independent of define.
598 (Chromium issue 255779)
599
600 Performance and stability improvements on all platforms.
601
602
mstarzinger@chromium.org1510d582013-06-28 14:00:48 +00006032013-06-28: Version 3.20.0
604
605 Migrated several tests from blink to V8 repository.
606
607 Allowed users of the V8 API to distinguish between unset and undefined
608 HiddenValues (issue 2746).
609
610 Deprecated old style callbacks in the V8 API.
611
612 Turned on parallel recompilation.
613
614 Performance and stability improvements on all platforms.
615
616
dslomov@chromium.orgb752d402013-06-18 11:54:54 +00006172013-06-18: Version 3.19.18
618
619 Fixed read-only attribute of Function.length in strict mode.
620 (issue 2705)
621
622 Fixed Runtime_SetProperty to properly handle OOM failures
623 (Chromium issue 249873)
624
625 Emit deprecated check for constant function transitions.
626 (Chromium issue 250609)
627
628 Made MathFloorOfDiv optimization trigger more often
629 (Issue 2205)
630
631 Make more GCs in idle notification handler.
632 (Chromium issue 241815)
633
634 Increased default type info threshold.
635 (Issue 2730)
636
637 Performance and stability improvements on all platforms.
638
639
6402013-06-14: Version 3.19.16
641
642 Performance and stability improvements on all platforms.
643
644
danno@chromium.orgf95d4b92013-06-13 14:40:17 +00006452013-06-13: Version 3.19.15
646
647 Performance and stability improvements on all platforms.
648
649
danno@chromium.org41728482013-06-12 22:31:22 +00006502013-06-13: Version 3.19.14
651
652 Fixed crashes when calling new Array(a) with a single argument that
653 could result in creating a holey array with a packed elements kind.
654 (Chromium issue 245480)
655
656 Fixed issues in parallel compilation.
657 (Chromium issue 248076)
658
659 Performance and stability improvements on all platforms.
660
661
ulan@chromium.org837a67e2013-06-11 15:39:48 +00006622013-06-11: Version 3.19.13
663
664 Performance and stability improvements on all platforms.
665
666
verwaest@chromium.org8a00e822013-06-10 15:11:22 +00006672013-06-10: Version 3.19.12
668
669 Fixed arguments array access. (Chromium issue 247303)
670
671 Fixed bug in LookupForWrite. (Chromium issue 242332)
672
673 Performance and stability improvements on all platforms.
674
675
danno@chromium.org1fd77d52013-06-07 16:01:45 +00006762013-06-07: Version 3.19.11
677
678 Performance and stability improvements on all platforms.
679
680
ulan@chromium.orgdfe53072013-06-06 14:14:51 +00006812013-06-06: Version 3.19.10
682
683 Performance and stability improvements on all platforms.
684
685
verwaest@chromium.orgd4be0f02013-06-05 13:39:03 +00006862013-06-05: Version 3.19.9
687
688 Implemented Load IC support for loading properties from primitive
689 values to avoid perpetual soft deopts. (Chromium issue 242512)
690
691 Implemented Freeing of PerThreadAssertData when possible to avoid
692 memory leak. (Chromium issue 246567)
693
694 Removed V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
695
696 Performance and stability improvements on all platforms.
697
698
rossberg@chromium.org79e79022013-06-03 15:43:46 +00006992013-06-03: Version 3.19.8
700
701 Fixed bug with inlining 'Array' function. (Chromium issue 244461)
702
703 Fixed initialization of literal objects. (Chromium issue 245424)
704
705 Fixed function name inferred inside closures. (Chromium issue 224884)
706
707 Performance and stability improvements on all platforms.
708
709
rossberg@chromium.orgb99c7542013-05-31 11:40:45 +00007102013-05-31: Version 3.19.7
711
712 Added support for //# sourceURL similar to deprecated //@ sourceURL one.
713 (issue 2702)
714
715 Made sure IfBuilder::Return clears the current block.
716 (Chromium issue 243868)
717
718 Fixed two CPU profiler tests on ARM and MIPS simulators
719 (issue 2628)
720
721 Fixed idle incremental GC for large objects.
722 (Chromium issue 241815)
723
724 Disabled --optimize-constructed-arrays due to crashes
725 (Chromium issue 244461)
726
727 Performance and stability improvements on all platforms.
728
729
jkummerow@chromium.orgc1184022013-05-28 16:58:15 +00007302013-05-28: Version 3.19.6
731
732 Fixed IfBuilder::Deopt to clear the current block
733 (Chromium issue 243868).
734
735 Performance and stability improvements on all platforms.
736
737
svenpanne@chromium.org53ad1752013-05-27 12:20:38 +00007382013-05-27: Version 3.19.5
739
740 Reset regexp parser flag after scanning ahead for capture groups.
741 (issue 2690)
742
743 Removed flakiness in test-cpu-profiler/SampleWhenFrameIsNotSetup.
744 (issue 2628)
745
746 Performance and stability improvements on all platforms.
747
748
svenpanne@chromium.orga53e8e02013-05-24 12:35:50 +00007492013-05-24: Version 3.19.4
750
751 Fixed edge case in stack trace formatting. (Chromium issue 237617)
752
753 Fixed embedded new-space pointer in LCmpObjectEqAndBranch. (Chromium
754 issue 240032)
755
756 Made Object.freeze fast (issue 1858, Chromium issue 115960)
757
758 Fixed bogus deopt in BuildEmitDeepCopy for holey arrays. (Chromium issue
759 242924)
760
761 Performance and stability improvements on all platforms.
762
763
ulan@chromium.orgbf9432e2013-05-22 14:05:23 +00007642013-05-22: Version 3.19.3
765
766 Performance and stability improvements on all platforms.
767
768
jkummerow@chromium.org4e308cf2013-05-17 13:39:16 +00007692013-05-17: Version 3.19.2
770
771 Fill in one-word-fillers for the unused property fields
772 (Chromium issue 240056).
773
774 Removed use_system_v8 logic from the mainline gyp file
775 (Chromium issue 226860).
776
777 Skip CPU profiler samples where top function's stack frame is not
778 set up properly (issue 2628).
779
780 Performance and stability improvements on all platforms.
781
782
ulan@chromium.org906e2fb2013-05-14 08:14:38 +00007832013-05-14: Version 3.19.1
784
785 Fixed missing hole check for loads from Smi arrays when all uses are
786 changes (Chromium issue 233737)
787
788 Performance and stability improvements on all platforms.
789
790
ulan@chromium.org57ff8812013-05-10 08:16:55 +00007912013-05-10: Version 3.19.0
792
793 Deprecated Context::New which returns Persistent.
794
795 Added Persistent<T>::Reset which disposes the handle and redirects it to
796 point to another object.
797
798 Deprecated WriteAscii and MayContainNonAscii.
799
800 Exposed AssertNoAllocation to API.
801
802 Performance and stability improvements on all platforms.
803
804
danno@chromium.orgf005df62013-04-30 16:36:45 +00008052013-04-30: Version 3.18.5
806
807 Allowed setting debugger breakpoints on CompareNilICs (issue 2660)
808
809 Fixed beyond-heap load on x64 Crankshafted StringCharFromCode
810 (Chromium issue 235311)
811
812 Change 'Parse error' to three more informative messages.
813 (Chromium issue 2636)
814
815 Performance and stability improvements on all platforms.
816
817
danno@chromium.orgca29dd82013-04-26 11:59:48 +00008182013-04-26: Version 3.18.4
819
820 Added a preliminary API for ES6 ArrayBuffers
821
822 Replaced qsort with std::sort. (Chromium issue 2639)
823
824 Performance and stability improvements on all platforms.
825
826
ulan@chromium.org32d7dba2013-04-24 10:59:06 +00008272013-04-24: Version 3.18.3
828
829 Exposed the GC under a name that is less collision prone than window.gc.
830 (issue 2641)
831
832 Do not emit double values at their use sites. (Chromium issue 234101)
833
834 Added methods to allow resuming execution after calling
835 TerminateExecution(). (issue 2361)
836
837 Performance and stability improvements on all platforms.
838
839
ulan@chromium.org77ca49a2013-04-22 09:43:56 +00008402013-04-22: Version 3.18.2
841
842 OS::MemMove/OS::MemCopy: Don't call through to generated code when size
843 == 0 to avoid prefetching invalid memory (Chromium issue 233500)
844
845 Removed heap snapshot size limit. (Chromium issue 232305)
846
847 Performance and stability improvements on all platforms.
848
849
mstarzinger@chromium.orgb228be02013-04-18 14:56:59 +00008502013-04-18: Version 3.18.1
851
852 Removed SCons related files and deprecated test suite configurations.
853
854 Improved handling of unary plus (issue 2527).
855
856 Performance and stability improvements on all platforms.
857
858
mstarzinger@chromium.orge27d6172013-04-17 11:51:44 +00008592013-04-17: Version 3.18.0
860
861 Enabled pretenuring of fast literals in high promotion mode.
862
863 Removed preparser library; link preparser executable against full V8.
864
865 Fixed set-up of intrinsic's 'constructor' properties.
866 (Chromium issue 229445)
867
868 ES6 symbols: extended V8 API to support symbols (issue 2158).
869
870 Removed ARM support for VFP2.
871
872 Made __proto__ a real JavaScript accessor property.
873 (issue 1949 and issue 2606)
874
875 Performance and stability improvements on all platforms.
876
877
mstarzinger@chromium.orgf705b502013-04-04 11:38:09 +00008782013-04-04: Version 3.17.16
879
880 Stack trace API: poison stack frames below the first strict mode frame.
881 (issue 2564)
882
883 Made Isolate::GetHeapStatistics robust against half-initialized
884 isolates (Chromium issue 2591).
885
886 Finished implementation of ES6 symbols aka. private names (issue 2158).
887
888 Performance and stability improvements on all platforms.
889
890
danno@chromium.orgc99cd482013-03-21 15:26:42 +00008912013-03-21: Version 3.17.15
892
893 Rolled back API changes to maintain compatibility with older
894 3.17.x versions of V8.
895
896 Disable zapping of global handles in release mode.
897
898 Always mark the entire valid prefix of the descriptor array.
899 (Chromium issue 196331)
900
901 Use internal memcpy for CopyWords and when copying code.
902 (Chromium issue 196330)
903
904 Performance and stability improvements on all platforms.
905
906
jkummerow@chromium.org7bd87f02013-03-20 18:06:29 +00009072013-03-20: Version 3.17.14
908
909 Use internal memcpy when initializing code objects.
910 (Chromium issue 196330)
911
912 Disabled weak embedded maps because of crashes.
913 (Chromium issues 172489, 217858)
914
915 Performance and stability improvements on all platforms.
916
917
jkummerow@chromium.org4c54a2a2013-03-19 17:51:30 +00009182013-03-19: Version 3.17.13
919
920 Turned Flags into a uint32_t typedef (Chromium issue 194749).
921
922 Performance and stability improvements on all platforms.
923
924
svenpanne@chromium.org876cca82013-03-18 14:43:20 +00009252013-03-18: Version 3.17.12
926
927 Unified kMaxArguments with number of bits used to encode it.
928 (Chromium issue 211741)
929
930 Fixed detection of |handle_smi| case in
931 HOptimizedGraphBuilder::HandlePolymorphicCallNamed.
932 (Chromium issue 196583)
933
934 Performance and stability improvements on all platforms.
935
936
svenpanne@chromium.org2bda5432013-03-15 12:39:50 +00009372013-03-15: Version 3.17.11
938
939 Added a version of the v8::HandleScope constructor with an v8::Isolate
940 parameter and made AdjustAmountOfExternalAllocatedMemory an instance
941 method of v8::Isolate.
942 (issue 2487)
943
944 Fixed two register allocator bugs (off-by-one error/failure
945 propagation). (issue 2576)
946
947 Fixed huge heap snapshot when a heavily shared context has many
948 variables. (Chromium issue 145687)
949
950 Performance and stability improvements on all platforms.
951
952
ulan@chromium.org6e196bf2013-03-13 09:38:22 +00009532013-03-13: Version 3.17.10
954
955 Fixed heap snapshot creation for Harmony collections. (issue 2535)
956
957 Fixed register allocation corner case. (Chromium issue 177883)
958
959 Performance and stability improvements on all platforms.
960
961
svenpanne@chromium.org9faefa42013-03-08 13:13:16 +00009622013-03-08: Version 3.17.9
963
964 Restored Function()'s expected string representation. (issue 2470)
965
966 Enabled deprecatations (again). (issue 2487)
967
968 Avoid bool to Oddball conversions by being lazy. (issue 2491)
969
970 Added %p option to --logfile.
971
972 Hardened Function()'s parsing of function literals. (issue 2470)
973
974 ES6 symbols: Refine test for getOwnPropertyNames. (issue 2158)
975
976 Performance and stability improvements on all platforms.
977
978
ulan@chromium.org750145a2013-03-07 15:14:13 +00009792013-03-07: Version 3.17.8
980
981 Added missing license headers. (Chromium issue 98597)
982
983 Inserted missing type cast in JSON.stringify. (issue 2570)
984
985 Reverted "Send SIGPROF signals on the profiler event processor thread"
986 (issue 2571)
987
988 Fixed Array.length, String.length and Function.prototype LoadICs on x64.
989 (issue 2568)
990
991 ES6 symbols: filter symbols form for-in loops and Object.keys.
992 (issue 2158)
993
994 Properly handle misses for StoreArrayLengthStub on ia32 and x64
995 (issue 2566)
996
997 Fixed x32 handling of Atomic64. (Chromium issue chromium-os:36866)
998
999 Removed "library" variable from standalone.gypi. (Chromium issue 111541)
1000
1001 Fixed HCheckSmiOrInt <-> HBoundsCheck interaction wrt. representations.
1002 (issue 2556)
1003
1004 Enabled zapping of disposed global handles in release mode.
1005 (Chromium issue 176056)
1006
1007 Added workaround for redefinition of __proto__ property. (issue 2565)
1008
1009 ES6 symbols: Allow symbols as property names. (issue 2158)
1010
1011 Performance and stability improvements on all platforms.
1012
1013
yangguo@chromium.org4a9f6552013-03-04 14:46:33 +000010142013-03-04: Version 3.17.7
1015
1016 Limited recursion in regexp compilation by a budget.
1017 (Chromium issue 178790)
1018
1019 ES6 symbols: Implemented Symbol intrinsic and basic functionality
1020 (issue 2158)
1021
1022 Performance and stability improvements on all platforms.
1023
1024
hpayer@chromium.org8432c912013-02-28 15:55:26 +000010252013-02-28: Version 3.17.6
1026
1027 Fixed materialization of arguments objects with unknown values.
1028 (Chromium issue 163530)
1029
1030 Set default number of sweeper threads to at most four.
1031
1032 Performance and stability improvements on all platforms.
1033
1034
mstarzinger@chromium.org71fc3462013-02-27 09:34:27 +000010352013-02-27: Version 3.17.5
1036
1037 Made __proto__ a foreign callback on Object.prototype.
1038 (issue 621, issue 1949 and issue 2441)
1039
1040 Performance and stability improvements on all platforms.
1041
1042
ulan@chromium.org09d7ab52013-02-25 15:50:35 +000010432013-02-25: Version 3.17.4
1044
1045 Performance and stability improvements on all platforms.
1046
1047
ulan@chromium.org2e04b582013-02-21 14:06:02 +000010482013-02-21: Version 3.17.3
1049
1050 Performance and stability improvements on all platforms.
1051
1052
yangguo@chromium.orgc03a1922013-02-19 13:55:47 +000010532013-02-19: Version 3.17.2
1054
1055 Removed bogus check for TOP register in deoptimizer.
1056 (Chromium issue 176943)
1057
1058 Made the Isolate parameter mandatory for internal HandleScopes.
1059 (issue 2487)
1060
1061 Fixed f.apply() optimization when declared arguments are mutated.
1062 (issue 2539)
1063
1064 Performance and stability improvements on all platforms.
1065
1066
ulan@chromium.org6ba1fd02013-02-14 14:56:11 +000010672013-02-14: Version 3.17.1
1068
1069 Performance and stability improvements on all platforms.
1070
1071
hpayer@chromium.org7c3372b2013-02-13 17:26:04 +000010722013-02-13: Version 3.17.0
1073
1074 Enabled parallel sweeping.
1075
1076 Don't try to unlink instructions twice during GVN
1077 (Chromium issue 175141)
1078
1079 Fixed code flusher disabling while marking incrementally.
1080 (Chromium issue 173458, 168582)
1081
1082 Don't use TLS for space iterators.
1083 (issue 2531)
1084
1085 Added new GetHeapStatistics API entry and deprecated old one.
1086
1087 Fixed DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unified
1088 platform-independent code.
1089 (Chromium issue 173907)
1090
1091 Added --trace-array-abuse to help find OOB accesses.
1092
1093 Performance and stability improvements on all platforms.
1094
1095
mmassi@chromium.org2f0efde2013-02-06 14:12:58 +000010962013-02-06: Version 3.16.14
1097
1098 Performance and stability improvements on all platforms.
1099
1100
danno@chromium.org94b0d6f2013-02-04 13:33:20 +000011012013-02-04: Version 3.16.13
1102
1103 Tagged stubs that rely on instance types as MEGAMORPHIC.
1104 (Chromium issue 173974)
1105
1106 Fixed clearing of dead dependent codes and verifing of weak
1107 embedded maps on full GC. (Chromium issue 172488,172489)
1108
1109 Made the arm port build cleanly with Clang.
1110
1111 Performance and stability improvements on all platforms.
1112
1113
mstarzinger@chromium.orge3b8d0f2013-02-01 09:06:41 +000011142013-01-31: Version 3.16.12
1115
1116 Performance and stability improvements on all platforms.
1117
1118
mstarzinger@chromium.org068ea0a2013-01-30 09:39:44 +000011192013-01-30: Version 3.16.11
1120
1121 Put making embedded maps in optimized code weak behind a flag.
1122 (Chromium issue 172488,172489)
1123
1124 Performance and stability improvements on all platforms.
1125
1126
mvstanton@chromium.orgd16d8532013-01-25 13:29:10 +000011272013-01-25: Version 3.16.10
1128
1129 Avoid excessive memory usage during redundant phi elimination.
1130 (issue 2510)
1131
1132 Fixed additional spec violations wrt RegExp.lastIndex.
1133 (issue 2437)
1134
1135 Added Isolate parameter to Persistent class.
1136 (issue 2487)
1137
1138 Performance and stability improvements on all platforms.
1139
1140
yangguo@chromium.org003650e2013-01-24 16:31:08 +000011412013-01-24: Version 3.16.9
1142
1143 Made embedded maps in optimized code weak.
1144 (issue 2073)
1145
1146 Fixed corner case when JSFunction is evicted from flusher.
1147 (Chromium issue 168801)
1148
1149 Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.
1150 (Chromium issue 171641)
1151
1152 Performance and stability improvements on all platforms.
1153
1154
mvstanton@chromium.org6bec0092013-01-23 13:46:53 +000011552013-01-23: Version 3.16.8
1156
1157 Correctly reset lastIndex in an RegExp object.
1158 (Chromium issue 170856)
1159
1160 Added a workaround for Windows compilation problems related to V8EXPORT.
1161 (issue 2507)
1162
1163 tools/run-tests.py: shlex.split() the value of --command-prefix
1164 (Chromium issue 171553)
1165
1166 Fixed pattern detection for replacing shifts by rotation.
1167 (Chromium issue 2499)
1168
1169 Performance and stability improvements on all platforms.
1170
1171
yangguo@chromium.org28381b42013-01-21 14:39:38 +000011722013-01-21: Version 3.16.7
1173
1174 Removed <(library) usage from v8.gyp.
1175 (Chromium issue 111541)
1176
1177 Fixed out of bounds memory access in TestJSArrayForAllocationSiteInfo.
1178 (Chromium issue 169928)
1179
1180 Performance and stability improvements on all platforms.
1181
1182
yangguo@chromium.org46a2a512013-01-18 16:29:40 +000011832013-01-18: Version 3.16.6
1184
1185 Made the Isolate parameter mandatory in Locker and Unlocker classes.
1186 (issue 2487)
1187
1188 Avoid pointer underflow in CopyCharsUnsigned.
1189 (issue 2493)
1190
1191 Generate shim headers when using system v8.
1192 (Chromium issue 165264)
1193
1194 Fixed arguments materialization for inlined apply().
1195 (issue 2489)
1196
1197 Sync'ed laziness between BuildFunctionInfo and MakeFunctionInfo.
1198 (Chromium issue 147497)
1199
1200 Added sanity check to CodeFlusher::AddCandidate.
1201 (Chromium issue 169209)
1202
1203 Performance and stability improvements on all platforms.
1204
1205
12062013-01-15: Version 3.16.5
1207
1208 Removed deprecated functions from V8's external API.
1209
1210 Prepared API for WebKit use of Latin-1.
1211
1212 Fixed V8 issue 2486.
1213
1214 Fixed Chromium issue 169723.
1215
1216 Performance and stability improvements on all platforms.
1217
1218
yangguo@chromium.org9768bf12013-01-11 14:51:07 +000012192013-01-11: Version 3.16.4
1220
1221 Fixed Chromium issues 168545 and 169209.
1222
1223 Performance and stability improvements on all platforms.
1224
1225
jkummerow@chromium.org59297c72013-01-09 16:32:23 +000012262013-01-09: Version 3.16.3
1227
1228 Improved GC performance when moving parts of a FixedArray (issue 2452).
1229
1230 Enabled readline on d8 while building a shared lib (issue 1781).
1231
1232 Fixed missing exception check in typed array constructor
1233 (Chromium issue 168545).
1234
1235 Check for read-only-ness when preparing for array sort (issue 2419).
1236
1237 Performance and stability improvements on all platforms.
1238
1239
yangguo@chromium.org4cd70b42013-01-04 08:57:54 +000012402013-01-04: Version 3.16.2
1241
1242 Added Makefile options to build for the Raspberry Pi (armv7=0,
1243 arm_fpu=vfp2).
1244
1245 Performance and stability improvements on all platforms.
1246
1247
ulan@chromium.org4121f232012-12-27 15:57:11 +000012482012-12-27: Version 3.16.1
1249
1250 Fixed x64 MathMinMax for negative untagged int32 arguments.
1251 (Chromium issue 164442)
1252
1253 Fixed FloatingPointHelper::CheckSSE2OperandIsInt32.
1254 (issue 2458)
1255
1256 Performance and stability improvements on all platforms.
1257
1258
yangguo@chromium.org9b8fc9f2012-12-21 13:47:00 +000012592012-12-21: Version 3.16.0
yangguo@chromium.orga6bbcc82012-12-21 12:35:02 +00001260
1261 V8_Fatal now prints C++ stack trace in debug mode.
1262
1263 Added HTML-based tick processor.
1264
1265 Continued implementation of Object.observe (V8 issue 2409).
1266
1267 Fixed V8 issues 2243, 2340, 2393, 2399, 2457.
1268
1269 Fixed Chromium issues 125308, 165637, 166379, 166553.
1270
1271 Performance and stability improvements on all platforms.
1272
1273
jkummerow@chromium.org5323a9c2012-12-10 19:00:50 +000012742012-12-10: Version 3.15.11
1275
1276 Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu GYP
1277 flags.
1278
1279 Performance and stability improvements on all platforms.
1280
1281
rossberg@chromium.orgcddc71f2012-12-07 12:40:13 +000012822012-12-07: Version 3.15.10
1283
1284 Enabled optimisation of functions inside eval. (issue 2315)
1285
1286 Fixed spec violations in methods of Number.prototype. (issue 2443)
1287
1288 Added GCTracer metrics for a scavenger GC for DOM wrappers.
1289
1290 Performance and stability improvements on all platforms.
1291
1292
mstarzinger@chromium.org32280cf2012-12-06 17:32:37 +000012932012-12-06: Version 3.15.9
1294
1295 Fixed candidate eviction in code flusher.
1296 (Chromium issue 159140)
1297
1298 Iterate through all arguments for side effects in Math.min/max.
1299 (issue 2444)
1300
1301 Fixed spec violations related to regexp.lastIndex
1302 (issue 2437, issue 2438)
1303
1304 Performance and stability improvements on all platforms.
1305
1306
mmassi@chromium.org49a44672012-12-04 13:52:03 +000013072012-12-04: Version 3.15.8
1308
1309 Enforced stack allocation of TryCatch blocks.
1310 (issue 2166,chromium:152389)
1311
1312 Fixed external exceptions in external try-catch handlers.
1313 (issue 2166)
1314
1315 Activated incremental code flushing by default.
1316
1317 Performance and stability improvements on all platforms.
1318
1319
svenpanne@chromium.org83130cf2012-11-30 10:13:25 +000013202012-11-30: Version 3.15.7
1321
1322 Activated code aging by default.
1323
1324 Included more information in --prof log.
1325
1326 Removed eager sweeping for lazy swept spaces. Try to find in
1327 SlowAllocateRaw a bounded number of times a big enough memory slot.
1328 (issue 2194)
1329
1330 Performance and stability improvements on all platforms.
1331
1332
danno@chromium.org1f34ad32012-11-26 14:53:56 +000013332012-11-26: Version 3.15.6
1334
1335 Ensure double arrays are filled with holes when extended from
1336 variations of empty arrays. (Chromium issue 162085)
1337
1338 Performance and stability improvements on all platforms.
1339
1340
ulan@chromium.org8e8d8822012-11-23 14:36:46 +000013412012-11-23: Version 3.15.5
1342
1343 Fixed JSON.stringify for objects with interceptor handlers.
1344 (Chromium issue 161028)
1345
1346 Fixed corner case in x64 compare stubs. (issue 2416)
1347
1348 Performance and stability improvements on all platforms.
1349
1350
yangguo@chromium.orgfb377212012-11-16 14:43:43 +000013512012-11-16: Version 3.15.4
1352
1353 Fixed Array.prototype.join evaluation order. (issue 2263)
1354
1355 Perform CPU sampling by CPU sampling thread only iff processing thread
1356 is not running. (issue 2364)
1357
1358 When using an Object as a set in Object.getOwnPropertyNames, null out
1359 the proto. (issue 2410)
1360
1361 Disabled EXTRA_CHECKS in Release build.
1362
1363 Heap explorer: Show representation of strings.
1364
1365 Removed 'type' and 'arguments' properties from Error object.
1366 (issue 2397)
1367
1368 Added atomics implementation for ThreadSanitizer v2.
1369 (Chromium issue 128314)
1370
1371 Fixed LiveEdit crashes when object/array literal is added. (issue 2368)
1372
1373 Performance and stability improvements on all platforms.
1374
1375
yangguo@chromium.orgeeb44b62012-11-13 13:56:09 +000013762012-11-13: Version 3.15.3
1377
1378 Changed sample shell to send non-JS output (e.g. errors) to stderr
1379 instead of stdout.
1380
1381 Correctly check for stack overflow even when interrupt is pending.
1382 (issue 214)
1383
1384 Collect stack trace on stack overflow. (issue 2394)
1385
1386 Performance and stability improvements on all platforms.
1387
1388
mvstanton@chromium.orge4ac3ef2012-11-12 14:53:34 +000013892012-11-12: Version 3.15.2
1390
1391 Function::GetScriptOrigin supplies sourceURL when script name is
1392 not available. (Chromium issue 159413)
1393
1394 Made formatting error message side-effect-free. (issue 2398)
1395
1396 Fixed length check in JSON.stringify. (Chromium issue 160010)
1397
1398 ES6: Added support for Set and Map clear method (issue 2400)
1399
1400 Fixed slack tracking when instance prototype changes.
1401 (Chromium issue 157019)
1402
1403 Fixed disabling of code flusher while marking. (Chromium issue 159140)
1404
1405 Added a test case for object grouping in a scavenger GC (issue 2077)
1406
1407 Support shared library build of Android for v8.
1408 (Chromium issue 158821)
1409
1410 ES6: Added support for size to Set and Map (issue 2395)
1411
1412 Performance and stability improvements on all platforms.
1413
1414
verwaest@chromium.orge4ee6de2012-11-06 12:13:00 +000014152012-11-06: Version 3.15.1
1416
1417 Put incremental code flushing behind a flag. (Chromium issue 159140)
1418
1419 Performance and stability improvements on all platforms.
1420
1421
danno@chromium.org72204d52012-10-31 10:02:10 +000014222012-10-31: Version 3.15.0
1423
1424 Loosened aligned code target requirement on ARM (issue 2380)
1425
1426 Fixed JSON.parse to treat leading zeros correctly.
1427 (Chromium issue 158185)
1428
1429 Performance and stability improvements on all platforms.
1430
1431
rossberg@chromium.org89e18f52012-10-22 13:09:53 +000014322012-10-22: Version 3.14.5
1433
1434 Killed off the SCons based build.
1435
1436 Added a faster API for creating v8::Integer objects.
1437
1438 Speeded up function deoptimization by avoiding quadratic pass over
1439 optimized function list. (Chromium issue 155270)
1440
1441 Always invoke the default Array.sort functions from builtin functions.
1442 (issue 2372)
1443
1444 Reverted recent CPU profiler changes because they broke --prof.
1445 (issue 2364)
1446
1447 Switched code flushing to use different JSFunction field.
1448 (issue 1609)
1449
1450 Performance and stability improvements on all platforms.
1451
1452
svenpanne@chromium.orgc859c4f2012-10-15 11:51:39 +000014532012-10-15: Version 3.14.4
1454
1455 Allow evals for debugger even if they are prohibited in the debugee
1456 context. (Chromium issue 154733)
1457
1458 Enabled --verify-heap in release mode (issue 2120)
1459
1460 Performance and stability improvements on all platforms.
1461
1462
jkummerow@chromium.orgc1956672012-10-11 15:57:38 +000014632012-10-11: Version 3.14.3
1464
1465 Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
1466 (Chromium issue 155076).
1467
1468 Bumped variable limit further to 2^17 (Chromium issue 151625).
1469
1470 Performance and stability improvements on all platforms.
1471
1472
verwaest@chromium.org33e09c82012-10-10 17:07:22 +000014732012-10-10: Version 3.14.2
1474
1475 ARM: allowed VFP3 instructions when hardfloat is enabled.
1476 (Chromium issue 152506)
1477
1478 Fixed instance_descriptors() and PushStackTraceAndDie regressions.
1479 (Chromium issue 151749)
1480
1481 Made GDBJIT interface compile again. (issue 1804)
1482
1483 Fixed Accessors::FunctionGetPrototype's proto chain traversal.
1484 (Chromium issue 143967)
1485
1486 Made sure that names of temporaries do not clash with real variables.
1487 (issue 2322)
1488
1489 Rejected local module declarations. (Chromium issue 150628)
1490
1491 Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
1492
1493 Fixed slot recording of code target patches.
1494 (Chromium issue 152615,chromium:144230)
1495
1496 Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
1497
1498 Performance and stability improvements on all platforms.
1499
1500
jkummerow@chromium.org7a96c2a2012-10-01 16:24:39 +000015012012-10-01: Version 3.14.1
1502
1503 Don't set -m32 flag when compiling with Android ARM compiler.
1504 (Chromium issue 143889)
1505
1506 Restore the descriptor array before returning allocation failure.
1507 (Chromium issue 151750)
1508
1509 Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
1510 128252).
1511
1512 Pull more recent gyp in 'make dependencies'.
1513
1514 Made sure that the generic KeyedStoreIC changes length and element_kind
1515 atomically (issue 2346).
1516
1517 Bumped number of allowed variables per scope to 65535, to address GWT.
1518 (Chromium issue 151625)
1519
1520 Support sourceURL for dynamically inserted scripts (issue 2342).
1521
1522 Performance and stability improvements on all platforms.
1523
1524
ulan@chromium.org56c14af2012-09-20 12:51:09 +000015252012-09-20: Version 3.14.0
1526
1527 Fixed missing slot recording during clearing of CallICs.
1528 (Chromium issue 144230)
1529
1530 Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
1531 (Chromium issue 150729)
1532
1533 Fixed minus zero test. (Issue 2133)
1534
1535 Fixed setting array length to zero for slow elements.
1536 (Chromium issue 146910)
1537
1538 Fixed lost arguments dropping in HLeaveInlined.
1539 (Chromium issue 150545)
1540
1541 Fixed casting error for receiver of interceptors.
1542 (Chromium issue 149912)
1543
1544 Throw a more descriptive exception when blocking 'eval' via CSP.
1545 (Chromium issue 140191)
1546
1547 Fixed debugger's eval when close to stack overflow. (issue 2318)
1548
1549 Added checks to live edit. (issue 2297)
1550
1551 Switched on code compaction on incremental GCs.
1552
1553 Fixed caching of optimized code for OSR. (issue 2326)
1554
1555 Not mask exception thrown by toString in String::UtfValue etc.
1556 (issue 2317)
1557
1558 Fixed API check for length of external arrays. (Chromium issue 148896)
1559
1560 Ensure correct enumeration indices in the dict (Chromium issue 148376)
1561
1562 Correctly initialize regexp global cache. (Chromium issue 148378)
1563
1564 Fixed arguments object materialization during deopt. (issue 2261)
1565
1566 Introduced new API to expose external string resource regardless of
1567 encoding.
1568
1569 Fixed CHECK failure in LCodeGen::DoWrapReceiver when
1570 --deopt-every-n-times flag is present
1571 (Chromium issue 148389)
1572
1573 Fixed edge case of extension with NULL as source string.
1574 (Chromium issue 144649)
1575
1576 Fixed array index dehoisting. (Chromium issue 141395)
1577
1578 Performance and stability improvements on all platforms.
1579
1580
mstarzinger@chromium.orgde886792012-09-11 13:22:37 +000015812012-09-11: Version 3.13.7
1582
1583 Enable/disable LiveEdit using the (C++) debug API.
1584
1585 Performance and stability improvements on all platforms.
1586
1587
jkummerow@chromium.org78502a92012-09-06 13:50:42 +000015882012-09-06: Version 3.13.6
1589
1590 Added validity checking to API functions and calls.
1591
1592 Disabled accessor inlining (Chromium issue 134609).
1593
1594 Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
1595
1596 Directly use %ObjectKeys in json stringify (Chromium issue 2312).
1597
1598 Fixed VS2005 build (issue 2313).
1599
1600 Activated fixed ES5 readonly semantics by default.
1601
1602 Added hardfp flag to the Makefile.
1603
1604 Performance and stability improvements on all platforms.
1605
1606
yangguo@chromium.org355cfd12012-08-29 15:32:24 +000016072012-08-29: Version 3.13.5
1608
1609 Release stack trace data after firing Error.stack accessor.
1610 (issue 2308)
1611
1612 Added a new API V8::SetJitCodeEventHandler to push code name and
1613 location to users such as profilers.
1614
1615 Allocate block-scoped global bindings to global context.
1616
1617 Performance and stability improvements on all platforms.
1618
1619
yangguo@chromium.org46839fb2012-08-28 09:06:19 +000016202012-08-28: Version 3.13.4
1621
1622 Print reason for disabling optimization. Kill --trace-bailout flag.
1623
1624 Provided option to disable full DEBUG build on Android.
1625
1626 Introduced global contexts to represent lexical global scope(s).
1627
1628 Fixed rounding in Uint8ClampedArray setter. (issue 2294)
1629
1630 Performance and stability improvements on all platforms.
1631
1632
yangguo@chromium.org08eb1962012-08-21 11:19:20 +000016332012-08-21: Version 3.13.3
1634
1635 Performance and stability improvements on all platforms.
1636
1637
16382012-08-20: Version 3.13.2
1639
1640 Performance and stability improvements on all platforms.
1641
1642
verwaest@chromium.orgde64f722012-08-16 15:44:54 +000016432012-08-16: Version 3.13.1
1644
1645 Performance and stability improvements on all platforms.
1646
1647
mstarzinger@chromium.org471f2f12012-08-10 14:46:33 +000016482012-08-10: Version 3.13.0
1649
1650 Added histograms for total allocated/live heap size, as well as
1651 allocated size and percentage of total for map and cell space.
1652
1653 Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
1654 (issue 1645)
1655
1656 Added checks for interceptors to negative lookup code in Crankshaft.
1657 (Chromium issue 140473)
1658
1659 Made incremental marking clear ICs and type feedback cells.
1660
1661 Performance and stability improvements on all platforms.
1662
1663
jkummerow@chromium.org000f7fb2012-08-01 11:14:42 +000016642012-08-01: Version 3.12.19
1665
1666 Performance and stability improvements on all platforms.
1667
1668
ulan@chromium.orgea52b5f2012-07-30 13:05:33 +000016692012-07-30: Version 3.12.18
1670
1671 Forced using bit-pattern for signed zero double. (issue 2239)
1672
1673 Made sure double to int conversion is correct. (issue 2260)
1674
1675 Performance and stability improvements on all platforms.
1676
1677
verwaest@chromium.orgb6d052d2012-07-27 08:03:27 +000016782012-07-27: Version 3.12.17
1679
1680 Always set the callee's context when calling a function from optimized
1681 code.
1682 (Chromium issue 138887)
1683
1684 Fixed building with GCC 3.x
1685 (issue 2016, 2017)
1686
1687 Improved API calls that return empty handles.
1688 (issue 2245)
1689
1690 Performance and stability improvements on all platforms.
1691
1692
danno@chromium.org129d3982012-07-25 15:01:47 +000016932012-07-25: Version 3.12.16
1694
1695 Performance and stability improvements on all platforms.
1696
1697
yangguo@chromium.org304cc332012-07-24 07:59:48 +000016982012-07-24: Version 3.12.15
1699
1700 Added PRESERVE_ASCII_NULL option to String::WriteAscii.
1701 (issue 2252)
1702
1703 Added dependency to HLoadKeyed* instructions to prevent invalid
1704 hoisting. (Chromium issue 137768)
1705
1706 Enabled building d8 for Android on Mac.
1707
1708 Interpret negative hexadecimal literals as NaN.
1709 (issue 2240)
1710
1711 Expose counters in javascript when using --track-gc-object-stats.
1712
1713 Enabled building and testing V8 on Android IA.
1714
1715 Added --trace-parse flag to parser.
1716
1717 Performance and stability improvements on all platforms.
1718
1719
verwaest@chromium.org178fb152012-07-18 11:21:48 +000017202012-07-18: Version 3.12.14
1721
1722 Deactivated optimization of packed arrays.
1723 (Chromium issue 137768)
1724
1725 Fixed broken accessor transition.
1726 (Chromium issue 137689)
1727
1728 Performance and stability improvements on all platforms.
1729
1730
verwaest@chromium.org753aee42012-07-17 16:15:42 +000017312012-07-17: Version 3.12.13
1732
1733 Fixed missing tagging of stack value in finally block.
1734 (Chromium issue 137496)
1735
1736 Added more support for heap analysis.
1737
1738 Performance and stability improvements on all platforms.
1739
1740
jkummerow@chromium.org28583c92012-07-16 11:31:55 +000017412012-07-16: Version 3.12.12
1742
1743 Added an option to the tickprocessor to specify the directory for lib
1744 lookup.
1745
1746 Fixed ICs for slow objects with native accessor (Chromium issue 137002).
1747
1748 Fixed transcendental cache on ARM in optimized code (issue 2234).
1749
1750 New heap inspection tools: counters for object sizes and counts,
1751 histograms for external fragmentation.
1752
1753 Incorporated constness into inferred interfaces (in preparation for
1754 handling imports) (issue 1569).
1755
1756 Performance and stability improvements on all platforms.
1757
1758
rossberg@chromium.org657d53b2012-07-12 11:06:03 +000017592012-07-12: Version 3.12.11
1760
1761 Renamed "mips" arch to "mipsel" in the GYP build.
1762
1763 Fixed computation of call targets on prototypes in Crankshaft.
1764 (Chromium issue 125148)
1765
1766 Removed use of __lookupGetter__ when generating stack trace.
1767 (issue 1591)
1768
1769 Turned on ES 5.2 globals semantics by default.
1770 (issue 1991, Chromium issue 80591)
1771
1772 Synced preparser and parser wrt syntax error in switch..case.
1773 (issue 2210)
1774
1775 Fixed reporting of octal literals in strict mode when preparsing.
1776 (issue 2220)
1777
1778 Fixed inline constructors for Harmony Proxy prototypes.
1779 (issue 2225)
1780
1781 Performance and stability improvements on all platforms.
1782
1783
danno@chromium.org81cac2b2012-07-10 11:28:27 +000017842012-07-10: Version 3.12.10
1785
1786 Re-enabled and fixed issue with array bounds check elimination
1787 (Chromium issue 132114).
1788
1789 Fixed Debug::Break crash. (Chromium issue 131642)
1790
1791 Added optimizing compiler support for JavaScript getters.
1792
1793 Performance and stability improvements on all platforms.
1794
1795
yangguo@chromium.org99aa4902012-07-06 16:21:55 +000017962012-07-06: Version 3.12.9
1797
1798 Correctly advance the scanner when scanning unicode regexp flag.
1799 (Chromium issue 136084)
1800
1801 Fixed unhandlified code calling Harmony Proxy traps.
1802 (issue 2219)
1803
1804 Performance and stability improvements on all platforms.
1805
1806
svenpanne@chromium.org619781a2012-07-05 08:22:44 +000018072012-07-05: Version 3.12.8
1808
1809 Implemented TypedArray.set and ArrayBuffer.slice in d8.
1810
1811 Performance and stability improvements on all platforms.
1812
1813
mstarzinger@chromium.orgc6d9cee2012-07-03 10:03:19 +000018142012-07-03: Version 3.12.7
1815
1816 Fixed lazy compilation for strict eval scopes.
1817 (Chromium issue 135066)
1818
1819 Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
1820 (issue 2151)
1821
1822 Report "hidden properties" in heap profiler for properties case.
1823 (issue 2212)
1824
1825 Activated optimization of packed arrays by default.
1826
1827 Performance and stability improvements on all platforms.
1828
1829
yangguo@chromium.orgc74d6742012-06-29 15:15:45 +000018302012-06-29: Version 3.12.6
1831
1832 Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
1833
1834 Extended TypedArray support in d8.
1835
1836
yangguo@chromium.org9c741c82012-06-28 15:04:22 +000018372012-06-28: Version 3.12.5
1838
1839 Fixed lazy parsing heuristics to respect outer scope.
1840 (Chromium issue 135008)
1841
1842 Allow using test-wrapper-gypbuild.py on Windows when no python
1843 interpreter is registered.
1844
1845 Performance and stability improvements on all platforms.
1846
1847
jkummerow@chromium.org7a6fc812012-06-27 11:12:38 +000018482012-06-27: Version 3.12.4
1849
1850 Removed -fomit-frame-pointer flag from Release builds to make
1851 the stack walkable by TCMalloc (Chromium issue 133723).
1852
1853 Ported r7868 (constant masking) to x64 (issue 1374).
1854
1855 Expose more detailed memory statistics (issue 2201).
1856
1857 Fixed Harmony Maps and WeakMaps for undefined values
1858 (Chromium issue 132744).
1859
1860 Correctly throw reference error in strict mode with ICs disabled
1861 (issue 2119).
1862
1863 Performance and stability improvements on all platforms.
1864
1865
ulan@chromium.orgd9e468a2012-06-25 09:47:40 +000018662012-06-25: Version 3.12.3
1867
1868 Reverted r11835 'Unify promotion and allocation limit computation' due
1869 to V8 Splay performance regression on Mac. (Chromium issue 134183)
1870
1871 Fixed sharing of literal boilerplates for optimized code. (issue 2193)
1872
1873 Performance and stability improvements on all platforms.
1874
1875
yangguo@chromium.orgde0db002012-06-22 13:44:28 +000018762012-06-22: Version 3.12.2
1877
1878 Made near-jump check more strict in LoadNamedFieldPolymorphic on
1879 ia32/x64. (Chromium issue 134055)
1880
1881 Fixed lazy sweeping heuristics to prevent old-space expansion.
1882 (issue 2194)
1883
1884 Performance and stability improvements on all platforms.
1885
1886
yangguo@chromium.orgd2899aa2012-06-21 11:16:20 +000018872012-06-21: Version 3.12.1
1888
1889 Performance and stability improvements on all platforms.
1890
1891
yangguo@chromium.org5a11aaf2012-06-20 11:29:00 +000018922012-06-20: Version 3.12.0
1893
1894 Fixed Chromium issues:
1895 115100, 129628, 131994, 132727, 132741, 132742, 133211
1896
1897 Fixed V8 issues:
1898 915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
1899
1900 Added --extra-code flag to mksnapshot to load JS code into the VM
1901 before creating the snapshot.
1902
1903 Support 'restart call frame' command in the debugger.
1904
1905 Performance and stability improvements on all platforms.
1906
1907
mmassi@chromium.org7028c052012-06-13 11:51:58 +000019082012-06-13: Version 3.11.10
1909
1910 Implemented heap profiler memory usage reporting.
1911
1912 Preserved error message during finally block in try..finally.
1913 (Chromium issue 129171)
1914
1915 Fixed EnsureCanContainElements to properly handle double values.
1916 (issue 2170)
1917
1918 Improved heuristics to keep objects in fast mode with inherited
1919 constructors.
1920
1921 Performance and stability improvements on all platforms.
1922
1923
rossberg@chromium.org400388e2012-06-06 09:29:22 +000019242012-06-06: Version 3.11.9
1925
1926 Implemented ES5-conformant semantics for inherited setters and read-only
1927 properties. Currently behind --es5_readonly flag, because it breaks
1928 WebKit bindings.
1929
1930 Exposed last seen heap object id via v8 public api.
1931
1932 Performance and stability improvements on all platforms.
1933
1934
verwaest@chromium.org37141392012-05-31 13:27:02 +000019352012-05-31: Version 3.11.8
1936
1937 Avoid overdeep recursion in regexp where a guarded expression with a
1938 minimum repetition count is inside another quantifier.
1939 (Chromium issue 129926)
1940
1941 Fixed missing write barrier in store field stub.
1942 (issues 2143, 1465, Chromium issue 129355)
1943
1944 Proxies: Fixed receiver for setters inherited from proxies.
1945 Proxies: Fixed ToStringArray function so that it does not reject some
1946 keys.
1947 (issue 1543)
1948
1949 Performance and stability improvements on all platforms.
1950
1951
svenpanne@chromium.org830d30c2012-05-29 13:20:14 +000019522012-05-29: Version 3.11.7
1953
1954 Get better function names in stack traces.
1955
1956 Performance and stability improvements on all platforms.
1957
1958
jkummerow@chromium.org777db6f2012-05-24 09:33:09 +000019592012-05-24: Version 3.11.6
1960
1961 Fixed RegExp.prototype.toString for incompatible receivers
1962 (issue 1981).
1963
1964 Performance and stability improvements on all platforms.
1965
1966
mstarzinger@chromium.org15613d02012-05-23 12:04:37 +000019672012-05-23: Version 3.11.5
1968
1969 Performance and stability improvements on all platforms.
1970
1971
ulan@chromium.org0e3f88b2012-05-22 09:16:05 +000019722012-05-22: Version 3.11.4
1973
1974 Some cleanup to common.gypi. This fixes some host/target combinations
1975 that weren't working in the Make build on Mac.
1976
1977 Handle EINTR in socket functions and continue incomplete sends.
1978 (issue 2098)
1979
1980 Fixed python deprecations. (issue 1391)
1981
1982 Made socket send and receive more robust and return 0 on failure.
1983 (Chromium issue 15719)
1984
1985 Fixed GCC 4.7 (C++11) compilation. (issue 2136)
1986
1987 Set '-m32' option for host and target platforms
1988
1989 Performance and stability improvements on all platforms.
1990
1991
ulan@chromium.orgd6899c32012-05-18 14:12:25 +000019922012-05-18: Version 3.11.3
1993
1994 Disable optimization for functions that have scopes that cannot be
1995 reconstructed from the context chain. (issue 2071)
1996
1997 Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
1998
1999 Correctly check for native error objects. (Chromium issue 2138)
2000
2001 Performance and stability improvements on all platforms.
2002
2003
yangguo@chromium.org5f0b8ea2012-05-16 12:37:04 +000020042012-05-16: Version 3.11.2
2005
2006 Revert r11496. (Chromium issue 128146)
2007
2008 Implement map collection for incremental marking. (issue 1465)
2009
2010 Add toString method to CallSite (which describes a frame of the
2011 stack trace).
2012
2013
yangguo@chromium.orgcb9affa2012-05-15 12:16:38 +000020142012-05-15: Version 3.11.1
2015
2016 Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
2017
2018 Fix freebsd build. (V8 issue 2126)
2019
2020 Performance and stability improvements on all platforms.
2021
2022
jkummerow@chromium.org212d9642012-05-11 15:02:09 +000020232012-05-11: Version 3.11.0
2024
2025 Fixed compose-discard crasher from r11524 (issue 2123).
2026
2027 Activated new global semantics by default. Global variables can
2028 now shadow properties of the global object (ES5.1 erratum).
2029
2030 Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
2031 transitioning (Chromium issue 117409).
2032
2033 Made Error.prototype.name writable again, as required by the spec and
2034 the web (Chromium issue 69187).
2035
2036 Implemented map collection with incremental marking (issue 1465).
2037
2038 Regexp: Fixed overflow in min-match-length calculation
2039 (Chromium issue 126412).
2040
2041 MIPS: Fixed illegal instruction use on Loongson in code for
2042 Math.random() (issue 2115).
2043
2044 Fixed crash bug in VisitChoice (Chromium issue 126272).
2045
2046 Fixed unsigned-Smi check in MappedArgumentsLookup
2047 (Chromium issue 126414).
2048
2049 Fixed LiveEdit for function with no locals (issue 825).
2050
2051 Fixed register clobbering in LoadIC for interceptors
2052 (Chromium issue 125988).
2053
2054 Implemented clearing of CompareICs (issue 2102).
2055
2056 Performance and stability improvements on all platforms.
2057
2058
danno@chromium.org2c26cb12012-05-03 09:06:43 +000020592012-05-03: Version 3.10.8
2060
2061 Enabled MIPS cross-compilation.
2062
2063 Ensured reload of elements pointer in StoreFastDoubleElement stub.
2064 (Chromium issue 125515)
2065
2066 Fixed corner cases in truncation behavior when storing to
2067 TypedArrays. (issue 2110)
2068
2069 Fixed failure to properly recognize and report out-of-memory
2070 conditions when allocating code space pages. (Chromium issue
2071 118625)
2072
2073 Fixed idle notifications to perform a round of incremental GCs
2074 after context disposal. (issue 2107)
2075
2076 Fixed preparser for try statement. (issue 2109)
2077
2078 Performance and stability improvements on all platforms.
2079
2080
danno@chromium.org1044a4d2012-04-30 12:34:39 +000020812012-04-30: Version 3.10.7
2082
2083 Performance and stability improvements on all platforms.
2084
2085
yangguo@chromium.orgefdb9d72012-04-26 08:21:05 +000020862012-04-26: Version 3.10.6
2087
2088 Fixed some bugs in accessing details of the last regexp match.
2089
2090 Fixed source property of empty RegExp objects. (issue 1982)
2091
2092 Enabled inlining some V8 API functions.
2093
2094 Performance and stability improvements on all platforms.
2095
2096
mstarzinger@chromium.org88d326b2012-04-23 12:57:22 +000020972012-04-23: Version 3.10.5
2098
2099 Put new global var semantics behind a flag until WebKit tests are
2100 cleaned up.
2101
2102 Enabled stepping into callback passed to builtins.
2103 (Chromium issue 109564)
2104
2105 Performance and stability improvements on all platforms.
2106
2107
svenpanne@chromium.orgfb046332012-04-19 12:02:44 +000021082012-04-19: Version 3.10.4
2109
2110 Fixed issues when stressing compaction with WeakMaps.
2111
2112 Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
2113
2114 Simplify invocation sequence at monomorphic function invocation sites.
2115 (issue 2079)
2116
2117 Performance and stability improvements on all platforms.
2118
2119
erik.corry@gmail.comed49e962012-04-17 11:57:53 +000021202012-04-17: Version 3.10.3
2121
2122 Fixed several bugs in heap profiles (including issue 2078).
2123
2124 Throw syntax errors on illegal escape sequences.
2125
2126 Implemented rudimentary module linking (behind --harmony flag)
2127
2128 Implemented ES5 erratum: Global declarations should shadow
2129 inherited properties.
2130
2131 Made handling of const more consistent when combined with 'eval'
2132 and 'with'.
2133
2134 Fixed V8 on MinGW-x64 (issue 2026).
2135
2136 Performance and stability improvements on all platforms.
2137
2138
jkummerow@chromium.org28faa982012-04-13 09:58:30 +000021392012-04-13: Version 3.10.2
2140
2141 Fixed native ARM build (issues 1744, 539)
2142
2143 Return LOOKUP variable instead of CONTEXT for non-context allocated
2144 outer scope parameters (Chromium issue 119609).
2145
2146 Fixed regular and ElementsKind transitions interfering with each other
2147 (Chromium issue 122271).
2148
2149 Improved performance of keyed loads/stores which have a HeapNumber
2150 index (issues 1388, 1295).
2151
2152 Fixed WeakMap processing for evacuation candidates (issue 2060).
2153
2154 Bailout on possible direct eval calls (Chromium issue 122681).
2155
2156 Do not assume that names of function expressions are context-allocated
2157 (issue 2051).
2158
2159 Performance and stability improvements on all platforms.
2160
2161
fschneider@chromium.org7d10be52012-04-10 12:30:14 +000021622012-04-10: Version 3.10.1
2163
2164 Fixed bug with arguments object in inlined functions (issue 2045).
2165
2166 Fixed performance bug with lazy initialization (Chromium issue
2167 118686).
2168
2169 Added suppport for Mac OS X 64bit builds with GYP.
2170 (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
2171
2172 Fixed bug with hidden properties (issue 2034).
2173
2174 Fixed a performance bug when reloading pages (Chromium issue 117767,
2175 V8 issue 1902).
2176
2177 Fixed bug when optimizing throw in top-level code (issue 2054).
2178
2179 Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
2180
2181 Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
2182
2183 Fixed a bug with the new runtime profiler (Chromium issue 121147).
2184
2185 Fixed compilation of V8 using uClibc.
2186
2187 Optimized boot-up memory use.
2188
2189 Optimized regular expressions.
2190
2191
jkummerow@chromium.org1456e702012-03-30 08:38:13 +000021922012-03-30: Version 3.10.0
2193
2194 Fixed store IC writability check in strict mode
2195 (Chromium issue 120099).
2196
2197 Resynchronize timers if the Windows system time was changed.
2198 (Chromium issue 119815)
2199
2200 Removed "-mfloat-abi=hard" from host compiler cflags when building for
2201 hardfp ARM
2202 (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
2203
2204 Fixed edge case for case independent regexp character classes
2205 (issue 2032).
2206
2207 Reset function info counters after context disposal.
2208 (Chromium issue 117767, V8 issue 1902)
2209
2210 Fixed missing write barrier in CopyObjectToObjectElements.
2211 (Chromium issue 119926)
2212
2213 Fixed missing bounds check in HasElementImpl.
2214 (Chromium issue 119925)
2215
2216 Performance and stability improvements on all platforms.
2217
2218
danno@chromium.org88aa0582012-03-23 15:11:57 +000022192012-03-23: Version 3.9.24
2220
2221 Activated count-based profiler for ARM.
2222
2223 Fixed use of proxies as f.prototype properties. (issue 2021)
2224
2225 Enabled snapshots on MIPS.
2226
2227 Performance and stability improvements on all platforms.
2228
2229
ulan@chromium.org6ff65142012-03-21 09:52:17 +000022302012-03-21: Version 3.9.23
2231
2232 Use correct arguments adaptation environment when inlining function
2233 containing arguments. (Issue 2014)
2234
2235 Performance and stability improvements on all platforms.
2236
2237
jkummerow@chromium.org531dfe82012-03-20 13:01:16 +000022382012-03-20: Version 3.9.22
2239
2240 Enabled count-based profiler by default.
2241
2242 Implemented a hash based look-up to speed up address checks
2243 in large object space (issue 853).
2244
2245 Performance and stability improvements on all platforms.
2246
2247
rossberg@chromium.org2c067b12012-03-19 11:01:52 +000022482012-03-19: Version 3.9.21
2249
2250 Fixed push-to-trunk script (and re-push).
2251
2252 Added API call that identifies strings that are guaranteed only to
2253 contain ASCII characters.
2254
2255
22562012-03-19: Version 3.9.20
2257
2258 Fixed declarations escaping global strict eval. (Issue 1624)
2259
2260 Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
2261
2262 Fixed function declarations overwriting read-only global properties.
2263 (Chromium issue 115452)
2264
2265 Fixed --use-strict flag in combination with --harmony[-scoping].
2266
2267 Debugger: naive implementation of "step into Function.prototype.bind".
2268
2269 Debugger: added ability to set script source from within OnBeforeCompile
2270
2271 Added flag to always call DebugBreak on abort.
2272
2273 Re-enabled constructor inlining and inline === comparison with boolean
2274 constants. (Issue 2009)
2275
2276 Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
2277
2278 Performance and stability improvements on all platforms.
2279
2280
mstarzinger@chromium.org3233d2f2012-03-14 11:16:03 +000022812012-03-14: Version 3.9.19
2282
2283 Ensure there is a smi check of the receiver for global load and call
2284 ICs (Chromium issue 117794).
2285
2286 Performance and stability improvements on all platforms.
2287
2288
yangguo@chromium.org154ff992012-03-13 08:09:54 +000022892012-03-13: Version 3.9.18
2290
2291 Ensure consistency of Math.sqrt on Intel platforms.
2292
2293 Remove static initializers in v8. (issue 1859)
2294
2295 Add explicit dependency on v8_base in the GYP-based build.
2296
2297 Performance and stability improvements on all platforms.
2298
2299
svenpanne@chromium.org4efbdb12012-03-12 08:18:42 +000023002012-03-12: Version 3.9.17
2301
2302 Fixed VFP detection through compiler defines. (issue 1996)
2303
2304 Add Code-related fields to postmortem metadata.
2305
2306 Performance and stability improvements on all platforms.
2307
2308
erik.corry@gmail.combbceb572012-03-09 10:52:05 +000023092012-03-09: Version 3.9.16
2310
2311 Added basic interface inference for modules (behind the --harmony flag).
2312
2313 Added Object.is, Number.isFinite, Number.isNaN.
2314
2315 Updated the Unicode tables to Unicode version 6.1.0.
2316
2317 Performance and stability improvements on all platforms.
2318
2319
ulan@chromium.org9a21ec42012-03-06 08:42:24 +000023202012-03-06: Version 3.9.15
2321
2322 Fix the heap profiler crash caused by memory layout changes between
2323 passes.
2324
2325 Fix Error.prototype.toString to throw TypeError. (issue 1980)
2326
2327 Fix double-rounding in strtod for MinGW. (issue 1062)
2328
2329 Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
2330
2331 Performance and stability improvements on all platforms.
2332
2333
fschneider@chromium.org35814e52012-03-01 15:43:35 +000023342012-03-01: Version 3.9.14
2335
2336 Performance and stability improvements on all platforms.
2337
2338
ulan@chromium.org812308e2012-02-29 15:58:45 +000023392012-02-29: Version 3.9.13
2340
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002341 Added code kind check before preparing for OSR. (issue 1900, 115073)
ulan@chromium.org812308e2012-02-29 15:58:45 +00002342
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002343 Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
2344 ARM.
ulan@chromium.org812308e2012-02-29 15:58:45 +00002345
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002346 Ported string construct stub to x64. (issue 849)
ulan@chromium.org812308e2012-02-29 15:58:45 +00002347
2348 Performance and stability improvements on all platforms.
2349
2350
ulan@chromium.org967e2702012-02-28 09:49:15 +000023512012-02-28: Version 3.9.12
2352
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002353 Fixed the negative lookup stub to handle deleted entries in a
2354 dictionary. (issue 1964)
ulan@chromium.org967e2702012-02-28 09:49:15 +00002355
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002356 Added a new API where the host can supply a callback function. The
ulan@chromium.org967e2702012-02-28 09:49:15 +00002357 callback function can resolve the location of a return address on stack
2358 to the location where a return-address rewriting profiler stashed the
2359 original return address.
2360
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002361 Fixed Chromium issue http://crbug.com/115646: When compiling for-in
2362 pass correct context value to the increment instruction.
ulan@chromium.org967e2702012-02-28 09:49:15 +00002363
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002364 Fixed issue 1853: Update breakpoints set with partial file name after
2365 compile.
ulan@chromium.org967e2702012-02-28 09:49:15 +00002366
2367
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +000023682012-02-27: Version 3.9.11
2369
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002370 Made 'module' a context-sensitive keyword (V8 issue 1957).
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +00002371
2372
yangguo@chromium.orgab30bb82012-02-24 14:41:46 +000023732012-02-24: Version 3.9.10
2374
2375 Fixed V8 issues 1322, 1772 and 1969.
2376
2377 Conformance improvements.
2378
2379 Performance and stability improvements on all platforms.
2380
2381
kmillikin@chromium.orgbe6bd102012-02-23 08:45:21 +000023822012-02-23: Version 3.9.9
2383
2384 Supported fast case for-in in Crankshaft.
2385
2386 Sped up heap snapshot serialization and dominators construction.
2387
2388 Randomized allocation addresses on windows. (Chromium issue 115151)
2389
2390 Fixed compilation with MinGW-w64. (issue 1943)
2391
2392 Fixed incorrect value of assignments to non-extensible properties.
2393
2394 Fixed a crash bug in generated code on ia32.
2395
2396 Performance and stability improvements on all platforms.
2397
2398
jkummerow@chromium.orgf7a58842012-02-21 10:08:21 +000023992012-02-21: Version 3.9.8
2400
2401 Fixed memory leak and missing #include in StartupDataDecompressor
2402 (issue 1960).
2403
2404 Renamed static methods to avoid shadowing virtual methods and fix Clang
2405 C++11 compile error.
2406
2407 Fixed sequence of element access in array builtins (issue 1790).
2408
2409 Performance and stability improvements on all platforms.
2410
2411
yangguo@chromium.org56454712012-02-16 15:33:53 +000024122012-02-16: Version 3.9.7
2413
2414 Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
2415
2416 Fixed GCC-4.7 warnings.
2417
2418 Added Navier-Stokes benchmark.
2419
2420 Performance and stability improvements on all platforms.
2421
2422
ulan@chromium.org65a89c22012-02-14 11:46:07 +000024232012-02-14: Version 3.9.6
2424
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002425 Fixed template-related linker error. (issue 1936)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00002426
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002427 Allowed inlining of functions containing object literals. (issue 1322)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00002428
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002429 Added --call-graph-size option to tickprocessor. (issue 1937)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00002430
2431 Heap Snapshot maximum size limit is too low for really big apps. At the
2432 moment the limit is 256MB. (Chromium issue 113015)
2433
2434 Performance and stability improvements on all platforms.
2435
2436
yangguo@chromium.org78d1ad42012-02-09 13:53:47 +000024372012-02-09: Version 3.9.5
2438
2439 Removed unused command line flags.
2440
2441 Performance and stability improvements on all platforms.
2442
2443
svenpanne@chromium.orgb1df11d2012-02-08 10:26:21 +000024442012-02-08: Version 3.9.4
2445
2446 Properly initialize element-transitioning array literals on ARM.
2447 (issue 1930)
2448
2449 Bug fixes on all platforms.
2450
2451
jkummerow@chromium.orgab7dad42012-02-07 12:07:34 +000024522012-02-07: Version 3.9.3
2453
2454 When rethrowing an exception, print the stack trace of its original
2455 site instead of rethrow site (Chromium issue 60240).
2456
2457 Increased size of small stacks from 32k to 64k to avoid hitting limits
2458 in Chromium (Chromium issue 112843).
2459
2460
rossberg@chromium.org994edf62012-02-06 10:12:55 +000024612012-02-06: Version 3.9.2
2462
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002463 Added timestamp to --trace-gc output. (issue 1932)
rossberg@chromium.org994edf62012-02-06 10:12:55 +00002464
2465 Heap profiler reports implicit references.
2466
2467 Optionally export metadata with libv8 to enable debuggers to inspect V8
2468 state.
2469
2470
jkummerow@chromium.org1145ef82012-02-02 16:21:15 +000024712012-02-02: Version 3.9.1
2472
2473 Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
2474 (Chromium issue 112315).
2475
2476 Fixed a crash in dev tools (Chromium issue 107996).
2477
2478 Added 'dependencies_traverse': 1 to v8 GYP target.
2479
2480 Performance and stability improvements on all platforms.
2481
2482
danno@chromium.orgfa458e42012-02-01 10:48:36 +000024832012-02-01: Version 3.9.0
2484
fschneider@chromium.org35814e52012-03-01 15:43:35 +00002485 Reduced memory use immediately after starting V8.
danno@chromium.orgfa458e42012-02-01 10:48:36 +00002486
2487 Stability fixes and performance improvements on all platforms.
2488
2489
yangguo@chromium.org659ceec2012-01-26 07:37:54 +000024902012-01-26: Version 3.8.9
2491
2492 Flush number string cache on GC (issue 1605).
2493
2494 Provide access to function inferred name with
2495 v8::Function::GetInferredName in V8 public API.
2496
2497 Fix building with Clang (issue 1912).
2498
2499 Reduce the space used by the stack for the profiling thread.
2500
2501 Fix misleading documentation of v8::Locker (issue 542).
2502
2503 Introduce readbinary function in d8 to read binary files.
2504
2505 Performance and stability improvements on all platforms.
2506
2507
jkummerow@chromium.org05ed9dd2012-01-23 14:42:48 +000025082012-01-23: Version 3.8.8
2509
2510 Limited number of loop iterations in Heap::ReserveSpace
2511 (Chromium issue 99027).
2512
2513 Fixed solaris build (VirtualMemory) (issue 1761).
2514
2515 Fixed strict vs. non-strict handling of function proxies in
2516 higher-order array and string methods.
2517
2518 Enabled asynchronous remote debugging with d8 (issue 1691).
2519
2520 Stability and performance improvements on all platforms.
2521
2522
ulan@chromium.org2efb9002012-01-19 15:36:35 +000025232012-01-19: Version 3.8.7
2524
2525 Ensure that LRandom restores rsi after call to the C function on x64.
2526 (Chromium issue http://crbug.com/110509)
2527
2528 Fixing include issues on *bsd when building with scons.
2529 (issue 1897)
2530
2531 Provide a switch to specify -fno-strict-aliasing
2532 (issue 1887)
2533
2534 Move WIN32 define from standalone.gypi to common.gypi
2535 (issue 1760)
2536
2537 Fix corner-case in heap size estimation.
2538 (issue 1893)
2539
2540 Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
2541 (issue 1903)
2542
2543 Performance improvements and bug fixes.
2544
2545
erik.corry@gmail.comf2038fb2012-01-16 11:42:08 +000025462012-01-16: Version 3.8.6
2547
2548 Add primitive WebGL array support to d8.
2549
2550 Improve heap size estimation (issue 1893).
2551
2552 Hash collision DOS workaround extended from string keys
2553 to numeric keys.
2554
2555 Provide an API for iterating through all external strings referenced
2556 from the JS heap.
2557
2558 Adjust position recorded for call expressions. http://crbug.com/109195
2559
2560 Fix GC crash related to instanceof. http://crbug.com/109448
2561
2562 Performance improvements and bug fixes.
2563
2564
rossberg@chromium.orgfab14982012-01-05 15:02:15 +000025652012-01-05: Version 3.8.5
2566
2567 Fix broken test that assumes that no GC can clear the regexp cache (GC
2568 can happen at any time due to Crankshaft).
2569
2570 Fix handling of bogus receivers for Harmony collections. (issue 1884)
2571
2572 Add netbsd support to gyp build.
2573
2574 Determine page size at runtime on posix platforms.
2575
2576 Ensure that store buffer filtering hash sets are cleared after
2577 StoreBuffer::Filter.
2578
2579 Randomize the seed used for string hashing. This helps guard against
2580 CPU-eating DOS attacks against node.js servers. Based on code from
2581 Bert Belder. This version only solves the issue for those that compile
2582 V8 themselves or those that do not use snapshots. A snapshot-based
2583 precompiled V8 will still have predictable string hash codes.
2584
2585 Implement callback when script finishes running in V8 API.
2586
2587 Improve performance of Math.min and Math.max for the case of two
2588 arguments. (issue 1325)
2589
2590
svenpanne@chromium.org3c93e772012-01-02 09:26:59 +000025912012-01-02: Version 3.8.4
2592
2593 Performance improvements for large Smi-only arrays.
2594
2595 Fixed InternalArrays construction. (issue 1878)
2596
2597
danno@chromium.orgbf0c8202011-12-27 10:09:42 +000025982011-12-27: Version 3.8.3
2599
2600 Avoid embedding new space objects into code objects in the lithium gap
2601 resolver. (chromium:108296)
2602
2603 Bug fixes and performance optimizations on all platforms.
2604
2605
danno@chromium.orge78f9fc2011-12-21 08:29:34 +000026062011-12-21: Version 3.8.2
2607
2608 Add max optimization flag to v8 gyp build to ensure V8 is always built
2609 fully optimized in Chrome.
2610
2611 MIPS: Bring MIPS to parity with other platforms.
2612
2613 Optimizations and stability improvements on all platforms.
2614
2615
ricow@chromium.org7ad65222011-12-19 12:13:11 +000026162011-12-19: Version 3.8.1
2617
2618 Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
2619
2620 Stability improvements on all platforms.
2621
2622
ricow@chromium.org64e3a4b2011-12-13 08:07:27 +000026232011-12-13: Version 3.8.0
2624
2625 Fixed handling of arrays in DefineOwnProperty. (issue 1756)
2626
2627 Sync parser and preparser on do-while and return statements.
2628 (issue 1856)
2629
2630 Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
2631
2632 Stability and performance improvements on all platforms.
2633
2634
svenpanne@chromium.orgecb9dd62011-12-01 08:22:35 +000026352011-12-01: Version 3.7.12
2636
2637 Increase tick interval for the android platform.
2638
2639 Fix a bug in the register allocator. (chromium:105112)
2640
2641 Fix handling of recompiling code. (chromium:105375, v8:1782)
2642
2643 Start incremental marking on idle notification. (v8:1458)
2644
2645 Build fixes for various platforms.
2646
2647 Various performance improvements.
2648
2649
mstarzinger@chromium.org1b3afd12011-11-29 14:28:56 +000026502011-11-29: Version 3.7.11
2651
2652 Fixed bug when generating padding to ensure space for lazy
2653 deoptimization.
2654 (issue 1846)
2655
2656 Further reduced pause times due to GC.
2657
2658 Stability and performance improvements on all platforms.
2659
2660
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +000026612011-11-23: Version 3.7.10
2662
2663 Set maximum length of FixedArray in terms of elements instead an
2664 absolute number of bytes.
2665 (Chromium issue 103103)
2666
2667 Stability and performance improvements on all platforms.
2668
2669
26702011-11-21: Version 3.7.9
2671
2672 Removed exit-time destructors.
2673
2674 Stability and performance improvements on all platforms.
2675
2676
ricow@chromium.org27bf2882011-11-17 08:34:43 +000026772011-11-17: Version 3.7.8
2678
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +00002679 Removed hidden prototype from builtins, i.e., deleting an overridden
ricow@chromium.org27bf2882011-11-17 08:34:43 +00002680 function on builtins will not make the original function reappear.
2681
2682 Added NetBSD support for scons build.
2683
2684 Performance improvements on all platforms.
2685
2686
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +000026872011-11-14: Version 3.7.7
2688
2689 Fix missing fast property accessors in heap snapshots.
2690 (issue 1818)
2691
2692
danno@chromium.org2c456792011-11-11 12:00:53 +000026932011-11-11: Version 3.7.6
2694
2695 Fixed filtering of store buffer for large object pages.
2696 (issue 1817)
2697
2698 Fixed generated hash function on all platforms.
2699 (issue 1808)
2700
2701 Fixed Heap::Shrink to ensure that it does not free pages that are
2702 still in use.
2703 (Chromium issue 100414)
2704
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00002705 Stability and performance improvements on all platforms.
danno@chromium.org2c456792011-11-11 12:00:53 +00002706
2707
danno@chromium.orgc612e022011-11-10 11:38:15 +000027082011-11-10: Version 3.7.5
2709
2710 Added initial gyp infrastructure for MIPS.
2711
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00002712 Implemented performance improvements to the incremental garbage
danno@chromium.orgc612e022011-11-10 11:38:15 +00002713 collector.
2714
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00002715 Added optimizations and stability improvements on all platforms.
danno@chromium.orgc612e022011-11-10 11:38:15 +00002716
2717
jkummerow@chromium.orgc3b37122011-11-07 10:14:12 +000027182011-11-07: Version 3.7.4
2719
2720 Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
2721
2722 Fix Harmony sets and maps to allow null and undefined as keys
2723 (still hidden behind --harmony flag) (issue 1622).
2724
2725 Implement VirtualMemory on FreeBSD to fix build (issue 1807).
2726
2727 Enable VFP instructions for Android.
2728
2729 Fix error handling in Date.prototype.toISOString (issue 1792).
2730
2731 Bug fixes and performance improvements for all platforms.
2732
2733 Not officially supported but noteworthy: Crankshaft for MIPS :-)
2734
2735
erik.corry@gmail.combecbc522011-10-28 07:45:20 +000027362011-10-28: Version 3.7.3
2737
2738 Slight deoptimization as a workaround for issue with jslint: Issue
2739 1789.
2740
2741
erik.corry@gmail.com6e28b562011-10-27 14:20:17 +000027422011-10-27: Version 3.7.2
2743
2744 Fix bug in deoptimization. Known issue with jslint: Issue 1789.
2745
2746
erik.corry@gmail.com394dbcf2011-10-27 07:38:48 +000027472011-10-26: Version 3.7.1
2748
2749 Achieved 33% speedup in debug-mode tests.
2750
2751 Removed special casing of calls to RegExp test and exec methods with no
2752 argument. Now matches new JSC behaviour. crbug.com/75740.
2753
2754 Return the empty string on cyclic references in toString (ES5
2755 conformance).
2756
2757 Fixed bug triggered by JSBeautifier. crbug.com/100409.
2758
2759 Made Math.random state per-context instead of per-process (issue 864).
2760
2761 Fixed stack traces to skip native functions.
2762
2763 Make snapshots (new contexts) smaller and faster.
2764
2765 Fixed handling of Function.apply for non-array arguments.
2766
2767 Fixed evaluation order in defineProperties to match FireFox.
2768
2769 Fixed handling of non-object receivers for array builtins,
2770 crbug.com/100702.
2771
2772 Multiple fixes to improve compliance with test262.
2773
2774 Fixed compatibility with older Android releases.
2775
2776 Fixed compilation with gcc-4.5.3.
2777
2778 Improved performance of WriteUtf8, issue 1665.
2779
2780 Made native syntax an early error in the preparser.
2781
2782 Fixed issues 793 and 893 relating to Function.prototype.bind.
2783
2784 Improved let, const, Set and Map support and other Harmony features
2785 (behind the --harmony flag).
2786
2787 Changed evaluation order for > and <= to match ES5 instead of ES3.
2788
2789 Bug fixes and performance improvements on all platforms.
2790
2791
rossberg@chromium.orgb4b2aa62011-10-13 09:49:59 +000027922011-10-13: Version 3.7.0
2793
2794 Fixed array handling for Object.defineOwnProperty (ES5 conformance).
2795
2796 Fixed issue 1757 (string slices of external strings).
2797
2798 Fixed issue 1759 (ARM).
2799
2800 Added flag --noclever-optimizations to disable some things that
2801 caused trouble in the past.
2802
2803 Added flag --stress-compaction for testing.
2804
2805 Added flag --harmony to activate all experimental Harmony features.
2806
2807
svenpanne@chromium.orga8bb4d92011-10-10 13:20:40 +000028082011-10-10: Version 3.6.6
2809
2810 Added a GC pause visualization tool.
2811
2812 Added presubmit=no and werror=no flags to Makefile.
2813
2814 ES5/Test262 conformance improvements.
2815
2816 Fixed compilation issues with GCC 4.5.x (issue 1743).
2817
2818 Bug fixes and performance improvements on all platforms.
2819
2820
erik.corry@gmail.comc3b670f2011-10-05 21:44:48 +000028212011-10-05: Version 3.6.5
2822
2823 New incremental garbage collector.
2824
2825 Removed the hard heap size limit (soft heap size limit is still
2826 700/1400Mbytes by default).
2827
2828 Implemented ES5 generic Array.prototype.toString (Issue 1361).
2829
2830 V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
2831
2832 Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
2833
2834 Fixed propertyIsEnumerable for numeric properties (Issue 1692).
2835
2836 Fixed the MinGW and Windows 2000 builds.
2837
2838 Fixed "Prototype chain is not searched if named property handler does
2839 not set a property" (Issue 1636).
2840
2841 Made the RegExp.prototype object be a RegExp object (Issue 1217).
2842
2843 Disallowed future reserved words as labels in strict mode.
2844
2845 Fixed string split to correctly coerce the separator to a string
2846 (Issue 1711).
2847
2848 API: Added an optional source length field to the Extension
2849 constructor.
2850
2851 API: Added Debug::DisableAgent to match existing Debug::EnableAgent
2852 (Issue 1573).
2853
2854 Added "native" target to Makefile for the benefit of Linux distros.
2855
2856 Fixed: debugger stops stepping outside evaluate (Issue 1639).
2857
2858 More work on ES-Harmony proxies. Still hidden behind a flag.
2859
2860 Bug fixes and performance improvements on all platforms.
2861
2862
lrn@chromium.org34e60782011-09-15 07:25:40 +000028632011-09-15: Version 3.6.4
2864
2865 Fixed d8's broken readline history.
2866
2867 Removed the need for code delete events in CPU profiler (Issue 1466).
2868
2869 Fixed debugger stepping next with trycatch recursion (Issue 1639).
2870
2871 Fixing parallel execution in d8 (with -p) and some memory leaks.
2872
2873 Support for precise stepping in functions compiled before debugging was
2874 started (step 1).
2875
2876
kmillikin@chromium.org83e16822011-09-13 08:21:47 +000028772011-09-13: Version 3.6.3
2878
2879 Implemented better support of typed arrays in the d8 shell.
2880
2881 Bug fixes and performance improvements on all platforms.
2882
2883
ricow@chromium.org55ee8072011-09-08 16:33:10 +000028842011-09-08: Version 3.6.2
2885
2886 Added "dependencies" target to top-level Makefile.
2887
2888 Added ability to turn profiler on/off in d8.
2889
2890 Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
2891
2892 Fixed several crash bugs.
2893
2894
jkummerow@chromium.org486075a2011-09-07 12:44:28 +000028952011-09-07: Version 3.6.1
2896
2897 Fixed a bug in abrupt exit from with or catch inside finally.
2898
2899 Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
2900 issue 95113).
2901
2902 Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
2903
2904 Fixed a few clang warnings (which -Werror treated as errors).
2905
2906 Performance improvements on all platforms.
2907
2908
fschneider@chromium.org1805e212011-09-05 10:49:12 +000029092011-09-05: Version 3.6.0
2910
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002911 Fixed a bug when optimizing named function expression (issue 1647).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002912
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002913 Fixed a bug when optimizing f.call.apply (issue 1650).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002914
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002915 Made arguments and caller always be null on native functions
2916 (issues 1548 and 1643).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002917
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002918 Fixed issue 1648 (cross-compiling x64 targeting ia32).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002919
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002920 Fixed issue 371 (d8 printing of strings containing \0).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002921
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002922 Fixed order of evaluation in arguments to parseInt (issue 1649).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002923
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002924 Fixed a problem with large heap snapshots in Chrome DevTools
2925 (issue 1658, chromium issue 89268).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002926
ricow@chromium.org55ee8072011-09-08 16:33:10 +00002927 Upped default maximum heap size from 512M to 700M.
fschneider@chromium.org1805e212011-09-05 10:49:12 +00002928
2929
yangguo@chromium.org80c42ed2011-08-31 09:03:56 +000029302011-08-31: Version 3.5.10
2931
2932 Added dependency of v8_base on WinSocket2 Windows library in
2933 the GYP-build.
2934
2935 Various bugfixes.
2936
2937
ricow@chromium.org4668a2c2011-08-29 10:41:00 +000029382011-08-29: Version 3.5.9
2939
2940 Made FromPropertyDescriptor not trigger inherited setters.
2941
2942 Fixed .gyp files to work on the ARM simulator.
2943
2944 Fixed shared library build warnings for MSVS.
2945
2946
ricow@chromium.orgddd545c2011-08-24 12:02:41 +000029472011-08-24: Version 3.5.8
2948
2949 Added V8EXPORT attributes for v8::Array::CheckCast and
2950 v8::Number::CheckCast.
2951
2952 Made a slight API change enabling opting out from null termination
2953 in String::Write*().
2954
2955 Fixed arm build for gcc-4.6.
2956
2957
rossberg@chromium.org28a37082011-08-22 11:03:23 +000029582011-08-22: Version 3.5.7
2959
2960 Make scanner handle invalid unicode escapes in identifiers correctly.
2961
2962 Make regexp flag parsing stricter.
2963
2964 Fix several memory leaks.
2965
2966
danno@chromium.orgb6451162011-08-17 14:33:23 +000029672011-08-17: Version 3.5.6
2968
2969 Fixed issue that could cause crashes when running with --heap-stats.
2970
2971 Fixed compilation on Linux 2.6.9 and older.
2972
2973 Fixed live-object-list to work with isolates.
2974
2975 Fixed memory leaks in zones and isolates.
2976
2977 Fixed a performance regression for TypedArrays on x64.
2978
2979 Stability improvements on all platforms.
2980
2981
whesse@chromium.org4acdc2c2011-08-15 13:01:23 +000029822011-08-15: Version 3.5.5
2983
2984 Fixed bugs involving negative zero and the optimizing compiler.
2985
2986 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
2987
2988 Eliminated uses of deprecated ARM instructions.
2989
2990 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
2991
2992 Removed restriction on the size of disassembled code that is printed.
2993
2994
kmillikin@chromium.org7c2628c2011-08-10 11:27:35 +000029952011-08-10: Version 3.5.4
2996
2997 Added a preliminary implementation of ES Harmony weak maps. Weak
2998 maps can be enabled by the flag --harmony-weakmaps.
2999
3000 Introduced a toplevel Makefile to support GYP-based building. GYP
3001 can be obtained from http://gyp.googlecode.com.
3002
3003 Fixed a bug in the length property of functions created by
3004 Function.prototype.bind.
3005
3006 Reduced malloc heap allocation on process startup.
3007
3008 Several important code generation bug fixes.
3009
3010 Performance improvements on all platforms.
3011
3012
lrn@chromium.orgd4e9e222011-08-03 12:01:58 +000030132011-08-03: Version 3.5.3
3014
3015 MIPS: Port of fix to ClassOf check from ARM.
3016 Patch from Paul Lind <plind44@gmail.com>.
3017
3018 Stopped using mprotect on Cygwin.
3019 Avoided uninitialized member warning on gcc 4.3.4
3020 Both patches by Bert Belder.
3021
3022 Bug fixes and performance improvements on all platforms.
3023
3024
vegorov@chromium.org7943d462011-08-01 11:41:52 +000030252011-08-01: Version 3.5.2
3026
3027 Performance improvements on all platforms.
3028
3029
ricow@chromium.org2c99e282011-07-28 09:15:17 +000030302011-07-28: Version 3.5.1
3031
3032 Fixed setting the readonly flag on the prototype property using the
3033 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
3034
3035 Changed the tools/test.py script to use d8 instead of shell for
3036 testing.
3037
3038 Fixed crash in ToBooleanStub when GC happens during invocation.
3039
3040 Enabled automatic unboxing of double arrays.
3041
3042 Performance improvements on all platforms.
3043
3044
ricow@chromium.org9fa09672011-07-25 11:05:35 +000030452011-07-25: Version 3.5.0
3046
3047 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
3048 proxies.
3049
3050 Removed logging to memory support.
3051
3052 Bugfixes and performance work.
3053
3054
rossberg@chromium.org717967f2011-07-20 13:44:42 +000030552011-07-20: Version 3.4.14
3056
3057 Fix the debugger for strict-mode functions. (Chromium issue 89236)
3058
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00003059 Add GetPropertyAttribute method for Object in the API. (Patch by
ricow@chromium.org9fa09672011-07-25 11:05:35 +00003060 Peter Varga)
rossberg@chromium.org717967f2011-07-20 13:44:42 +00003061
3062 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
3063
3064
svenpanne@chromium.org84bcc552011-07-18 09:50:57 +000030652011-07-18: Version 3.4.13
3066
3067 Improved debugger support to allow inspection of optimized frames (issue
3068 1140).
3069
3070 Fixed a bug in prototype transitions cache clearing introduced by r8165.
3071
3072 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
3073
3074 Fixed a memory leak in sample/shell.cc (dispose semaphores).
3075
3076 Simplified HClampToUint8. Patch by Andy Wingo.
3077
3078 Exposed APIs for detecting boxed primitives, native errors. Patch by
3079 Luke Zarko.
3080
3081 Added map check for COW elements to crankshaft array handling code
3082 (issue 1560).
3083
3084 Sample shell and (a light version of) D8 links against a shared library
3085 now.
3086
3087 Fixed bug in array filter and reduce functions (issue 1559).
3088
3089 Avoid TLS load in AstNode constructor.
3090
3091 Introduced a random entropy source which can optionally be provided at
3092 initialization. (Chromium issue 89462).
3093
3094
whesse@chromium.org030d38e2011-07-13 13:23:34 +000030952011-07-13: Version 3.4.12
3096
3097 Added --prof profiling option to d8 shell.
3098
3099 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
3100
3101 Fixed a potential assertion failure in const declarations.
3102
3103 Fixed an assertion failure in descriptor arrays (issue 1526).
3104
3105 Enabled fast thread-local storage by default on supported platforms.
3106
3107 Improved reporting of source position for global variable loads
3108 (issue 1527).
3109
3110
sgjesse@chromium.org6db88712011-07-11 11:41:22 +000031112011-07-11: Version 3.4.11
3112
3113 Fixed MinGW32 build.
3114
3115 Fixed a GC bug with RegExp code flushing.
3116
3117 Implemented Object.defineProperty for proxies.
3118
3119 Fixed a bug in for/in iteration of arguments objects (issue 1531).
3120
3121 Added debugger support for inspecting optimized frames (issue 1140).
3122
3123 Allowed JSObject::PreventExtensions to work for arguments objects.
3124
3125 Bugfixes and performance work.
3126
3127
jkummerow@chromium.orgddda9e82011-07-06 11:27:02 +000031282011-07-06: Version 3.4.10
3129
3130 Fixed debugger not breaking on certain "if" statements (issue 1523).
3131
3132 Fixed assertion failure in runtime profiler when running on IA32
3133 without snapshot (issue 1522).
3134
3135 Fixed ABI for API calls on IA32 (for clang compatibility).
3136
3137 Introduced code flushing of RegExp code to free memory used by
3138 RegExps sooner.
3139
3140 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
3141
3142 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
3143
3144 Performance improvements on all platforms.
3145
3146
ricow@chromium.org4f693d62011-07-04 14:01:31 +000031472011-07-04: Version 3.4.9
3148
3149 Added support for debugger inspection of locals in optimized frames
3150 (issue 1140).
3151
3152 Fixed SConstruct to pass correct defines to samples/preparser when
3153 building with library=shared.
3154
3155 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
3156
3157 Fixed a bug in Object.defineProperty on the arguments object.
3158
3159 Performance improvements on all platforms.
3160
3161
vegorov@chromium.org3cf47312011-06-29 13:20:01 +000031622011-06-29: Version 3.4.8
3163
3164 Ensure 16-byte stack alignment on Solaris (issue 1505).
3165
sgjesse@chromium.org6db88712011-07-11 11:41:22 +00003166 Fix "illegal access" when calling parseInt with a radix
vegorov@chromium.org3cf47312011-06-29 13:20:01 +00003167 that is not a smi. (issue 1246).
3168
3169
ager@chromium.org04921a82011-06-27 13:21:41 +000031702011-06-27: Version 3.4.7
3171
3172 Fixed 64-bit build on FreeBSD.
3173
3174 Added API to set the property attributes for the prototype
3175 property on functions created from FunctionTemplates.
3176
3177 Bugfixes and performance work.
3178
3179
lrn@chromium.orgac2828d2011-06-23 06:29:21 +000031802011-06-22: Version 3.4.6
3181
3182 Lowered limit on code space for systems with low memory supply.
3183
3184 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
3185
3186 Extended setBreakpoint API to accept partial script name (issue 1418).
3187
3188 Made multi-line comments not count when deciding whether the '-->'
3189 comment starter is first on a line. This matches Safari.
3190
3191 Made handling of non-array recievers in Array length setter correct
3192 (issue 1491).
3193
3194 Added ability to heap profiler to iterate over snapshot's node
3195 (issue 1481).
3196
3197
whesse@chromium.org7b260152011-06-20 15:33:18 +000031982011-06-20: Version 3.4.5
3199
3200 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
3201 1476, and 1477.
3202
3203 Improved code generation for !0 and !1.
3204
3205 Reduced memory usage for regular expressions with nested qualifiers.
3206 (issue 1472)
3207
3208 Fixed V8 to count line terminators in multi-line comments.
3209 (Chromium issue 86431)
3210
3211 Fixed disassembler=on option for release-mode builds. (issue 1473)
3212
3213 Performance improvements on all platforms.
3214
3215
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +000032162011-06-15: Version 3.4.4
3217
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003218 Added snapshot compression support and --stress-opt flag to d8.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003219
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003220 Improved performance of try/catch.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003221
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003222 Several GYP-related changes: Added support for building Xcode project
3223 files. Make the ARM simulator build with GYP again. Generate Makefiles
3224 for all architectures on Linux.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003225
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003226 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
3227 receiver for strict mode callbacks. (issue 1436)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003228
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003229 Fixed a bug where an array load was incorrectly hoisted by GVN.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003230
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003231 Handle 'undefined' correctly when === has been specialized for doubles.
3232 (issue 1434)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003233
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003234 Corrected the limit of local variables in an optimized function from 64
3235 to 63.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003236
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003237 Correctly set ReadOnly flag on indexed properties when using the API Set
3238 method. (issue 1470)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003239
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003240 Give the correct error message when Object.isExtensible is called on a
3241 non-object. (issue 1452)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003242
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003243 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
3244 Varga.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003245
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003246 Do not redefine properties unneccesarily in seal and freeze. (issue
3247 1447)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003248
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003249 IsExecutionTerminating has an Isolate parameter now.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003250
ricow@chromium.org4f693d62011-07-04 14:01:31 +00003251 Distinguish keyed loads with a symbol key from fast elements loads,
3252 avoiding some useless deoptimizations. (issue 1471)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003253
3254
jkummerow@chromium.orge297f592011-06-08 10:05:15 +000032552011-06-08: Version 3.4.3
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00003256
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00003257 Clear the global thread table when an isolate is disposed
3258 (issue 1433).
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00003259
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00003260 Converted time zone name to UTF8 on Windows (issue 1290).
3261
3262 Limited the number of arguments in a function call to 32766
3263 (issue 1413).
3264
3265 Compress sources of JS libraries in addition to the snapshot.
3266
3267 Fixed a bug in Lithium environment iteration.
3268
3269 Performance improvements on all platforms.
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00003270
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003271
erik.corry@gmail.comd6076d92011-06-06 09:39:18 +000032722011-06-06: Version 3.4.2
3273
3274 More work on ES-Harmony proxies. Still hidden behind a flag.
3275
3276 Fixed some crash bugs and improved performance.
3277
3278 Fixed building with gdb debugging support.
3279
3280 Do not install SIGPROF handler until it is needed.
3281
3282 Added DateTimeFormat to i18n API.
3283
3284 Fixed compilation on OpenBSD.
3285
3286 Take the ulimit into account when sizing the heap. OpenBSD users
3287 may still have to increase the default ulimit to run heavy pages in
3288 the browser.
3289
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003290
ricow@chromium.orgd2be9012011-06-01 06:00:58 +000032912011-06-01: Version 3.4.1
3292
3293 Fixed JSON stringify issue with arrays.
3294
3295 Changed calls to JS builtins to be passed undefined when called with
3296 implicit receiver.
3297
3298 Implemented the set trap for Harmony proxies. Proxies still need to
3299 be enabled with the --harmony-proxies flag.
3300
3301
ricow@chromium.orgc54d3652011-05-30 09:20:16 +000033022011-05-30: Version 3.4.0
3303
3304 Changed calls to undefined property setters to not throw (issue 1355).
3305
3306 Made RegExp objects not callable.
3307
3308 Fixed issues on special case large JSON strings in new json parser
3309 (issues http://crbug.com/83877 and http://crbug.com/84186).
3310
3311 Performance improvements on all platforms.
3312
3313
danno@chromium.org40cb8782011-05-25 07:58:50 +000033142011-05-25: Version 3.3.10
3315
3316 Fixed calls of strict mode function with an implicit receiver.
3317
3318 Fixed fast handling of arrays to properly deal with changes to the
3319 Object prototype (issue 1403).
3320
3321 Changed strict mode poison pill to be the same type error function
3322 (issue 1387).
3323
3324 Fixed a debug crash in arguments object handling (issue 1227).
3325
3326 Fixed a bug in deoptimization on x64 (issue 1404).
3327
3328 Performance improvements and bug fixes on all platforms.
3329
3330
ager@chromium.orgea91cc52011-05-23 06:06:11 +000033312011-05-23: Version 3.3.9
3332
3333 Added DateTimeFormat class to experimental i18n API.
3334
3335 Extended preparser to give early errors for some strict mode
3336 restrictions.
3337
3338 Removed legacy execScript function from V8.
3339
3340 Extended isolate API with the ability to add embedder-specific
3341 data to an isolate.
3342
3343 Added basic support for polymorphic loads from JS and external
3344 arrays.
3345
3346 Fixed bug in handling of switch statements in the optimizing
3347 compiler.
3348
3349
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +000033502011-05-18: Version 3.3.8
3351
ager@chromium.orgea91cc52011-05-23 06:06:11 +00003352 Added MarkIndependent to the persistent handle API. Independent
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00003353 handles are independent of all other persistent handles and can be
3354 garbage collected more frequently.
3355
ager@chromium.orgea91cc52011-05-23 06:06:11 +00003356 Implemented the get trap for Harmony proxies. Proxies are enabled
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00003357 with the --harmony-proxies flag.
3358
3359 Performance improvements and bug fixes on all platforms.
3360
3361
vegorov@chromium.org7304bca2011-05-16 12:14:13 +000033622011-05-16: Version 3.3.7
3363
3364 Updated MIPS infrastructure files.
3365
3366 Performance improvements and bug fixes on all platforms.
3367
3368
karlklose@chromium.org83a47282011-05-11 11:54:09 +000033692011-05-11: Version 3.3.6
3370
3371 Updated MIPS infrastructure files.
3372
3373 Added method IsCallable for Object to the API.
3374 Patch by Peter Varga.
3375
3376
lrn@chromium.org1c092762011-05-09 09:42:16 +000033772011-05-09: Version 3.3.5
3378
3379 Fixed build on FreeBSD. Patch by Akinori MUSHA.
3380
3381 Added check that receiver is JSObject on API calls.
3382
3383 Implemented CallAsConstructor method for Object in the API (Issue 1348).
3384 Patch by Peter Varga.
3385
3386 Added CallAsFunction method to the Object class in the API (Issue 1336).
3387 Patch by Peter Varga.
3388
3389 Added per-isolate locking and unlocking.
3390
3391 Fixed bug in x64 >>> operator (Issue 1359).
3392
3393
fschneider@chromium.orgfb144a02011-05-04 12:43:48 +000033942011-05-04: Version 3.3.4
3395
3396 Implemented API to disallow code generation from strings for a context
3397 (issue 1258).
3398
3399 Fixed bug with whitespaces in parseInt (issue 955).
3400
3401 Fixed bug with == comparison of Date objects (issue 1356).
3402
3403 Added GYP variables for ARM code generation:
3404 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
3405 and v8_use_arm_eabi_hardfloat.
3406
3407
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +000034082011-05-02: Version 3.3.3
3409
3410 Added support for generating Visual Studio solution and project files
3411 using GYP.
3412
3413 Implemented support for ARM EABI calling convention variation where
3414 floating-point arguments are passed in registers (hardfloat).
3415
3416 Added Object::HasOwnProperty() to the API.
3417
3418 Added support for compressing startup data to reduce binary size. This
3419 includes build time support and an API for the embedder to decompress
3420 the startup data before initializing V8.
3421
3422 Reduced the profiling hooks overhead from >400% to 25% when using
3423 ll_prof.
3424
3425 Performance improvements and bug fixes on all platforms.
3426
3427
erik.corry@gmail.com3847bd52011-04-27 10:38:56 +000034282011-04-27: Version 3.3.2
3429
3430 Fixed crash bug on ARM with no VFP3 hardware.
3431
3432 Fixed compilation of V8 without debugger support.
3433
3434 Improved performance on JSLint.
3435
3436 Added support Float64 WebGL arrays.
3437
3438 Fixed crash bug in regexp replace.
3439
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +00003440
ricow@chromium.orgdcebac02011-04-20 09:44:50 +000034412011-04-20: Version 3.3.1
3442
3443 Reduced V8 binary size by removing virtual functions from hydrogen.
3444
3445 Fixed crash bug on x64.
3446
3447 Performance improvements on ARM and IA32.
3448
3449
danno@chromium.org160a7b02011-04-18 15:51:38 +000034502011-04-18: Version 3.3.0
3451
3452 Fixed bug in floating point rounding in Crankshaft on ARM
3453 (issue 958)
3454
3455 Fixed a number of issues with running without VFPv3 support on ARM
3456 (issue 1315)
3457
3458 Introduced v8Locale.Collator, a partial implementation of Collator
3459 per last ECMAScript meeting + mailing list.
3460
3461 Minor performance improvements and bug fixes.
3462
3463
ager@chromium.orga9aa5fa2011-04-13 08:46:07 +000034642011-04-13: Version 3.2.10
3465
3466 Fixed bug in external float arrays on ARM (issue 1323).
3467
3468 Minor performance improvements and bug fixes.
3469
3470
karlklose@chromium.org44bc7082011-04-11 12:33:05 +000034712011-04-11: Version 3.2.9
3472
3473 Removed support for ABI prior to EABI on ARM.
3474
3475 Fixed multiple crash bugs.
3476
3477 Added GCMole to the repository, a simple static analysis tool that
3478 searches for GC-unsafe evaluation order dependent callsites.
3479
3480 Made preparser API be exported in shared libraries.
3481
3482 Fixed multiple issues in EcmaScript 5 strict mode implementation.
3483
3484 Fixed mutable __proto__ property if object is not extensible
3485 (Issue 1309).
3486
3487 Fixed auto suspension of the sampler thread.
3488
3489
vegorov@chromium.org74f333b2011-04-06 11:17:46 +000034902011-04-06: Version 3.2.8
3491
3492 Exposed WebGL typed array constructors in the shell sample.
3493
3494 Performance improvements on all platforms.
3495
3496
kmillikin@chromium.orgc36ce6e2011-04-04 08:25:31 +000034972011-04-04: Version 3.2.7
3498
3499 Disabled the original 'classic' V8 code generator. Crankshaft is
3500 now the default on all platforms.
3501
3502 Changed the heap profiler to use more descriptive names.
3503
3504 Performance and stability improvements to isolates on all platforms.
3505
3506
lrn@chromium.org7516f052011-03-30 08:52:27 +000035072011-03-30: Version 3.2.6
3508
3509 Fixed xcode build warning in shell.cc (out of order initialization).
3510
3511 Fixed null-pointer dereference in the compiler when running without
3512 SSE3 support (Chromium issue 77654).
3513
3514 Fixed x64 compilation error due to some dead code. (Issue 1286)
3515
3516 Introduced scons target to build the preparser stand-alone example.
3517
3518 Made FreeBSD build and pass all tests.
3519
3520
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +000035212011-03-28: Version 3.2.5
3522
lrn@chromium.org7516f052011-03-30 08:52:27 +00003523 Fixed build with Irregexp interpreter (issue 1266).
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +00003524
3525 Added Crankshaft support for external arrays.
3526
3527 Fixed two potential crash bugs.
3528
3529
sgjesse@chromium.orgea88ce92011-03-23 11:19:56 +000035302011-03-23: Version 3.2.4
3531
3532 Added isolates which allows several V8 instances in the same process.
3533 This is controlled through the new Isolate class in the API.
3534
3535 Implemented more of EcmaScript 5 strict mode.
3536
3537 Reduced the time it takes to make detailed heap snapshot.
3538
3539 Added a number of commands to the ARM simulator and enhanced the ARM
3540 disassembler.
3541
3542
ricow@chromium.orgbadaffc2011-03-17 12:15:27 +000035432011-03-17: Version 3.2.3
3544
3545 Fixed a number of crash bugs.
3546
3547 Fixed Array::New(length) to return an array with a length (issue 1256).
3548
3549 Fixed FreeBSD build.
3550
3551 Changed __defineGetter__ to not throw (matching the behavior of Safari).
3552
3553 Implemented more of EcmaScript 5 strict mode.
3554
3555 Improved Crankshaft performance on all platforms.
3556
3557
whesse@chromium.orgb08986c2011-03-14 16:13:42 +000035582011-03-14: Version 3.2.2
3559
3560 Fixed a number of crash and correctness bugs.
3561
3562 Improved Crankshaft performance on all platforms.
3563
3564 Fixed Crankshaft on Solaris/Illumos.
3565
3566
danno@chromium.org4d3fe4e2011-03-10 10:14:28 +000035672011-03-10: Version 3.2.1
3568
3569 Fixed a number of crash bugs.
3570
3571 Improved Crankshaft for x64 and ARM.
3572
3573 Implemented more of EcmaScript 5 strict mode.
3574
3575
karlklose@chromium.org8f806e82011-03-07 14:06:08 +000035762011-03-07: Version 3.2.0
3577
3578 Fixed a number of crash bugs.
3579
3580 Turned on Crankshaft by default on x64 and ARM.
3581
3582 Improved Crankshaft for x64 and ARM.
3583
3584 Implemented more of EcmaScript 5 strict mode.
3585
3586
ager@chromium.org9ee27ae2011-03-02 13:43:26 +000035872011-03-02: Version 3.1.8
3588
3589 Fixed a number of crash bugs.
3590
3591 Improved Crankshaft for x64 and ARM.
3592
3593 Implemented more of EcmaScript 5 strict mode.
3594
3595 Fixed issue with unaligned reads and writes on ARM.
3596
3597 Improved heap profiler support.
3598
3599
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +000036002011-02-28: Version 3.1.7
3601
3602 Fixed a number of crash bugs.
3603
3604 Improved Crankshaft for x64 and ARM.
3605
ager@chromium.org9ee27ae2011-03-02 13:43:26 +00003606 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +00003607 arrays (http://crbug.com/73940).
3608
3609 Fixed bug in map space compaction (http://crbug.com/59688).
3610
3611 Added support for direct getter accessors calls on ARM.
3612
3613
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +000036142011-02-24: Version 3.1.6
3615
3616 Fixed a number of crash bugs.
3617
3618 Added support for Cygwin (issue 64).
3619
3620 Improved Crankshaft for x64 and ARM.
3621
3622 Added Crankshaft support for stores to pixel arrays.
3623
3624 Fixed issue in CPU profiler with Crankshaft.
3625
3626
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +000036272011-02-16: Version 3.1.5
3628
3629 Change RegExp parsing to disallow /(*)/.
3630
3631 Added GDB JIT support for ARM.
3632
3633 Fixed several crash bugs.
3634
3635 Performance improvements on the IA32 platform.
3636
3637
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000036382011-02-14: Version 3.1.4
3639
3640 Fixed incorrect compare of prototypes of the global object (issue
3641 1082).
3642
3643 Fixed a bug in optimizing calls to global functions (issue 1106).
3644
3645 Made optimized Function.prototype.apply safe for non-JSObject first
3646 arguments (issue 1128).
3647
3648 Fixed an error related to element accessors on Object.prototype and
3649 parser errors (issue 1130).
3650
3651 Fixed a bug in sorting an array with large array indices (issue 1131).
3652
3653 Properly treat exceptions thrown while compiling (issue 1132).
3654
3655 Fixed bug in register requirements for function.apply (issue 1133).
3656
3657 Fixed a representation change bug in the Hydrogen graph construction
3658 (issue 1134).
3659
3660 Fixed the semantics of delete on parameters (issue 1136).
3661
3662 Fixed a optimizer bug related to moving instructions with side effects
3663 (issue 1138).
3664
3665 Added support for the global object in Object.keys (issue 1150).
3666
3667 Fixed incorrect value for Math.LOG10E
3668 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
3669
3670 Performance improvements on the IA32 platform.
3671
3672 Implement assignment to undefined reference in ES5 Strict Mode.
3673
3674
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000036752011-02-09: Version 3.1.3
3676
3677 Fixed a bug triggered by functions with huge numbers of declared
3678 arguments.
3679
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00003680 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00003681
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00003682 Fixed issue where Array.prototype.__proto__ had been set to null
3683 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00003684
3685 Fixed stability bugs in Crankshaft for x86.
3686
3687
ricow@chromium.org83aa5492011-02-07 12:42:56 +000036882011-02-07: Version 3.1.2
3689
3690 Added better security checks when accessing properties via
3691 Object.getOwnPropertyDescriptor.
3692
3693 Fixed bug in Object.defineProperty and related access bugs (issues
3694 992, 1083 and 1092).
3695
3696 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
3697 copyright notice generation for embedders.
3698
3699
kmillikin@chromium.org31b12772011-02-02 16:08:26 +000037002011-02-02: Version 3.1.1
3701
3702 Perform security checks before fetching the value in
3703 Object.getOwnPropertyDescriptor.
3704
3705 Fixed a bug in Array.prototype.splice triggered by passing no
3706 arguments.
3707
3708 Fixed bugs in -0 in arithmetic and in Math.pow.
3709
3710 Fixed bugs in the register allocator and in switching from optimized
3711 to unoptimized code.
3712
3713
37142011-01-31: Version 3.1.0
3715
whesse@chromium.org7a392b32011-01-31 11:30:36 +00003716 Performance improvements on all platforms.
3717
3718
ager@chromium.org378b34e2011-01-28 08:04:38 +000037192011-01-28: Version 3.0.12
3720
3721 Added support for strict mode parameter and object property
3722 validation.
3723
3724 Fixed a couple of crash bugs.
3725
3726
ager@chromium.org0ee099b2011-01-25 14:06:47 +000037272011-01-25: Version 3.0.11
3728
3729 Fixed a bug in deletion of lookup slots that could cause global
3730 variables to be accidentally deleted (http://crbug.com/70066).
3731
3732 Added support for strict mode octal literal verification.
3733
3734 Fixed a couple of crash bugs (issues 1070 and 1071).
3735
3736
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +000037372011-01-24: Version 3.0.10
3738
3739 Fixed External::Wrap for 64-bit addresses (issue 1037).
3740
ager@chromium.org0ee099b2011-01-25 14:06:47 +00003741 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00003742 code generator (issue 1060).
3743
3744 Introduced partial strict mode support.
3745
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00003746 Changed formatting of recursive error messages to match Firefox and
3747 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00003748
3749 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +00003750 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00003751 (issue http://crbug.com/50972).
3752
3753 Performance improvements on the IA32 platform.
3754
3755
erik.corry@gmail.com0511e242011-01-19 11:11:08 +000037562011-01-19: Version 3.0.9
3757
3758 Added basic GDB JIT Interface integration.
3759
3760 Make invalid break/continue statements a syntax error instead of a
3761 runtime error.
3762
3763
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000037642011-01-17: Version 3.0.8
3765
3766 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00003767 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00003768
3769 Wrapped external pointers more carefully (issue 1037).
3770
3771 Hardened the implementation of error objects to avoid setters
3772 intercepting the properties set then throwing an error.
3773
3774 Avoided trashing the FPSCR when calculating Math.floor on ARM.
3775
3776 Performance improvements on the IA32 platform.
3777
3778
37792011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003780
3781 Stopped calling inherited setters when creating object literals
3782 (issue 1015).
3783
3784 Changed interpretation of malformed \c? escapes in RegExp to match
3785 JSC.
3786
3787 Enhanced the command-line debugger interface and fixed some minor
3788 bugs in the debugger.
3789
3790 Performance improvements on the IA32 platform.
3791
3792
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000037932011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +00003794
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003795 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00003796
3797 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003798 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00003799
3800 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003801 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00003802
3803 Added use_system_v8 option to gyp (off by default), to make it easier
3804 for Linux distributions to ship with system-provided V8 library.
3805
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003806 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00003807
3808 Added labelled thread names to help with debugging (on Linux).
3809
3810
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +000038112011-01-03: Version 3.0.5
3812
3813 Fixed a couple of cast errors for gcc-3.4.3.
3814
3815 Performance improvements in GC and IA32 code generator.
3816
3817
whesse@chromium.org023421e2010-12-21 12:19:12 +000038182010-12-21: Version 3.0.4
3819
3820 Added Date::ResetCache() to the API so that the cached values in the
3821 Date object can be reset to allow live DST / timezone changes.
3822
3823 Extended existing support for printing (while debugging) the contents
3824 of objects. Added support for printing objects from release builds.
3825
3826 Fixed V8 issues 989, 1006, and 1007.
3827
3828
ager@chromium.org5f0c45f2010-12-17 08:51:21 +000038292010-12-17: Version 3.0.3
3830
3831 Reapplied all changes for version 3.0.1.
3832
3833 Improved debugger protocol for remote debugging.
3834
3835 Added experimental support for using gyp to generate build files
3836 for V8.
3837
3838 Fixed implementation of String::Write in the API (issue 975).
3839
3840
lrn@chromium.org8541d772010-12-15 12:05:09 +000038412010-12-15: Version 3.0.2
3842
3843 Revert version 3.0.1 and patch 3.0.1.1.
3844
3845
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +000038462010-12-13: Version 3.0.1
3847
3848 Added support for an experimental internationalization API as an
3849 extension. This extension is disabled by default but can be enabled
3850 when building V8. The ECMAScript internationalization strawman is
3851 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
3852
3853 Made RegExp character class parsing stricter. This mirrors a change
3854 to RegExp parsing in WebKit.
3855
3856 Fixed a bug in Object.defineProperty when used to change attributes
3857 of an existing property. It incorrectly set the property value to
3858 undefined (issue 965).
3859
3860 Fixed several different compilation failures on various platforms
3861 caused by the 3.0.0 release.
3862
3863 Optimized Math.pow so it can work on unboxed doubles.
3864
3865 Sped up quoting of JSON strings by removing one traversal of the
3866 string.
3867
3868
kasperl@chromium.orga5551262010-12-07 12:49:48 +000038692010-12-07: Version 3.0.0
3870
3871 Improved performance by (partially) addressing issue 957 on
3872 IA-32. Still needs more work for the other architectures.
3873
3874
ager@chromium.orgbeb25712010-11-29 08:02:25 +000038752010-11-29: Version 2.5.9
3876
3877 Fixed crashes during GC caused by partially initialize heap
3878 objects.
3879
3880 Fixed bug in process sample that caused memory leaks.
3881
3882 Improved performance on ARM by implementing missing stubs and
3883 inlining.
3884
3885 Improved heap profiler support.
3886
3887 Added separate seeding on Windows of the random number generator
3888 used internally by the compiler (issue 936).
3889
3890 Exposed API for getting the name of the function used to construct
3891 an object.
3892
3893 Fixed date parser to handle one and two digit millisecond
3894 values (issue 944).
3895
3896 Fixed number parsing to disallow space between sign and
3897 digits (issue 946).
3898
3899
vegorov@chromium.org21b5e952010-11-23 10:24:40 +000039002010-11-23: Version 2.5.8
3901
3902 Removed dependency on Gay's dtoa.
3903
3904 Improved heap profiler precision and speed.
3905
3906 Reduced overhead of callback invocations on ARM.
3907
3908
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +000039092010-11-18: Version 2.5.7
3910
3911 Fixed obscure evaluation order bug (issue 931).
3912
3913 Split the random number state between JavaScript and the private API.
3914
3915 Fixed performance bug causing GCs when generating stack traces on
3916 code from very large scripts.
3917
3918 Fixed bug in parser that allowed (foo):42 as a labelled statement
3919 (issue 918).
3920
3921 Provide more accurate results about used heap size via
3922 GetHeapStatistics.
3923
3924 Allow build-time customization of the max semispace size.
3925
3926 Made String.prototype.split honor limit when separator is empty
3927 (issue 929).
3928
3929 Added missing failure check after expecting an identifier in
3930 preparser (Chromium issue 62639).
3931
3932
ager@chromium.org01fe7df2010-11-10 11:59:11 +000039332010-11-10: Version 2.5.6
3934
3935 Added support for VFP rounding modes to the ARM simulator.
3936
3937 Fixed multiplication overflow bug (issue 927).
3938
3939 Added a limit for the amount of executable memory (issue 925).
3940
3941
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000039422010-11-08: Version 2.5.5
3943
3944 Added more aggressive GC of external objects in near out-of-memory
3945 situations.
3946
3947 Fixed a bug that gave the incorrect result for String.split called
3948 on the empty string (issue 924).
3949
3950
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000039512010-11-03: Version 2.5.4
3952
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00003953 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00003954
3955
fschneider@chromium.orge03fb642010-11-01 12:34:09 +000039562010-11-01: Version 2.5.3
3957
3958 Fixed a bug that prevents constants from overwriting function values
3959 in object literals (issue 907).
3960
3961 Fixed a bug with reporting of impossible nested calls of DOM functions
3962 (issue http://crbug.com/60753).
3963
3964
lrn@chromium.org303ada72010-10-27 09:33:13 +000039652010-10-27: Version 2.5.2
3966
3967 Improved sampler resolution on Linux.
3968
3969 Allowed forcing the use of a simulator from the build script
3970 independently of the host architecture.
3971
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00003972 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +00003973
3974 Made windows-tick-processor respect D8_PATH.
3975
3976 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
3977
3978
whesse@chromium.org4a5224e2010-10-20 12:37:07 +000039792010-10-20: Version 2.5.1
3980
3981 Fixed bug causing spurious out of memory exceptions
3982 (issue http://crbug.com/54580).
3983
3984 Fixed compilation error on Solaris platform (issue 901).
3985
3986 Fixed error in strtod (string to floating point number conversion)
3987 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
3988
3989 Adjusted randomized allocations of executable memory to have 64k
3990 granularity (issue http://crbug.com/56036).
3991
3992 Supported profiling using kernel perf_events on linux. Added ll_prof
3993 script to tools and --ll-prof flag to V8.
3994
3995
vegorov@chromium.org42841962010-10-18 11:18:59 +000039962010-10-18: Version 2.5.0
3997
3998 Fixed bug in cache handling of lastIndex on global regexps
3999 (issue http://crbug.com/58740).
4000
4001 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
4002 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00004003 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +00004004
4005 Fixed compilation error on ARM with gcc 4.4 (issue 894).
4006
4007
40082010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +00004009
4010 Fixed a bug in the handling of conditional expressions in test
4011 contexts in compiler for top-level code.
4012
4013 Added "//@ sourceURL" information to the StackTrace API.
4014
4015 Exposed RegExp construction through the API.
4016
4017
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +000040182010-10-04: Version 2.4.8
4019
4020 Fixed a bug in ResumeProfilerEx causing it to not always write out the
4021 whole snapshot (issue 868).
4022
4023 Performance improvements on all platforms.
4024
4025
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000040262010-09-30: Version 2.4.7
4027
4028 Changed the command-line flag --max-new-space-size to be in kB and the
4029 flag --max-old-space-size to be in MB (previously they were in bytes).
4030
4031 Added Debug::CancelDebugBreak to the debugger API.
4032
4033 Fixed a bug in getters for negative numeric property names
4034 (https://bugs.webkit.org/show_bug.cgi?id=46689).
4035
4036 Performance improvements on all platforms.
4037
4038
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000040392010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00004040
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00004041 Fixed assertion failure related to copy-on-write arrays (issue 876).
4042
4043 Fixed build failure of 64-bit V8 on Windows.
4044
4045 Fixed a bug in RegExp (issue http://crbug.com/52801).
4046
4047 Improved the profiler's coverage to cover more functions (issue 858).
4048
4049 Fixed error in shift operators on 64-bit V8
4050 (issue http://crbug.com/54521).
4051
4052
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000040532010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00004054
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004055 Changed the RegExp benchmark to exercise the regexp engine on different
4056 inputs by scrambling the input strings.
4057
4058 Fixed a bug in keyed loads on strings.
4059
4060 Fixed a bug with loading global function prototypes.
4061
4062 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
4063
4064 Performance improvements on all platforms.
4065
4066
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000040672010-09-15: Version 2.4.4
4068
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004069 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004070
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004071 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004072
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004073 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004074
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004075 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00004076
4077
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +000040782010-09-13: Version 2.4.3
4079
4080 Made Date.parse properly handle TZ offsets (issue 857).
4081
4082 Performance improvements on all platforms.
4083
4084
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000040852010-09-08: Version 2.4.2
4086
4087 Fixed GC crash bug.
4088
4089 Fixed stack corruption bug.
4090
4091 Fixed compilation for newer C++ compilers that found Operand(0)
4092 ambiguous.
4093
4094
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000040952010-09-06: Version 2.4.1
4096
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004097 Added the ability for an embedding application to receive a callback
4098 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
4099 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004100
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004101 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004102
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004103 Fixed memory overrun crash bug triggered during V8's tick-based
4104 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004105
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004106 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004107
4108
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +000041092010-09-01: Version 2.4.0
4110
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004111 Fixed bug in Object.freeze and Object.seal when Array.prototype or
4112 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00004113
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004114 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004115 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00004116
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004117 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00004118
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004119 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00004120
4121
ricow@chromium.org65fae842010-08-25 15:26:24 +000041222010-08-25: Version 2.3.11
4123
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004124 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +00004125
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004126 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004127 VARIANT_FLAGS that allows specification of sets of flags with which
4128 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +00004129
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004130 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +00004131
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00004132 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +00004133
4134
erik.corry@gmail.com145eff52010-08-23 11:36:18 +000041352010-08-23: Version 2.3.10
4136
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004137 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00004138
4139 Build fixes for unusual compilers.
4140
4141 Track high water mark for RWX memory.
4142
4143 Performance improvements on all platforms.
4144
4145
ricow@chromium.org0b9f8502010-08-18 07:45:01 +000041462010-08-18: Version 2.3.9
4147
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004148 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00004149
4150 Removed specialized handling of GCC 4.4 (issue 830).
4151
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00004152 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00004153 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
4154
ricow@chromium.org65fae842010-08-25 15:26:24 +00004155 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00004156
4157
ager@chromium.orgea4f62e2010-08-16 16:28:43 +000041582010-08-16: Version 2.3.8
4159
4160 Fixed build with strict aliasing on GCC 4.4 (issue 463).
4161
4162 Fixed issue with incorrect handling of custom valueOf methods on
4163 string wrappers (issue 760).
4164
4165 Fixed compilation for ARMv4 (issue 590).
4166
4167 Improved performance.
4168
4169
vegorov@chromium.org26c16f82010-08-11 13:41:03 +000041702010-08-11: Version 2.3.7
4171
4172 Reduced size of heap snapshots produced by heap profiler (issue 783).
4173
4174 Introduced v8::Value::IsRegExp method.
4175
4176 Fixed CPU profiler crash in start / stop sequence when non-existent
4177 name is passed (issue http://crbug.com/51594).
4178
4179 Introduced new indexed property query callbacks API (issue 816). This
4180 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
4181 by default.
4182
4183 Removed support for object literal get/set with number/string
4184 property name.
4185
4186 Fixed handling of JSObject::elements in CalculateNetworkSize
4187 (issue 822).
4188
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004189 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00004190
4191
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +000041922010-08-09: Version 2.3.6
4193
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00004194 RegExp literals create a new object every time they are evaluated
4195 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00004196
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00004197 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00004198
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004199 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00004200
4201
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +000042022010-08-04: Version 2.3.5
4203
4204 Added support for ES5 property names. Object initialisers and
4205 dot-notation property access now allows keywords. Also allowed
4206 non-identifiers after "get" or "set" in an object initialiser.
4207
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004208 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00004209
4210
whesse@chromium.orge90029b2010-08-02 11:52:17 +000042112010-08-02: Version 2.3.4
4212
4213 Fixed problems in implementation of ES5 function.prototype.bind.
4214
4215 Fixed error when using apply with arguments object on ARM (issue 784).
4216
4217 Added setting of global flags to debugger protocol.
4218
4219 Fixed an error affecting cached results of sin and cos (issue 792).
4220
4221 Removed memory leak from a boundary case where V8 is not initialized.
4222
4223 Fixed issue where debugger could set breakpoints outside the body
4224 of a function.
4225
4226 Fixed issue in debugger when using both live edit and step in features.
4227
4228 Added Number-letter (Nl) category to Unicode tables. These characters
4229 can now be used in identifiers.
4230
4231 Fixed an assert failure on X64 (issue 806).
4232
4233 Performance improvements on all platforms.
4234
4235
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +000042362010-07-26: Version 2.3.3
4237
4238 Fixed error when building the d8 shell in a fresh checkout.
4239
4240 Implemented Function.prototype.bind (ES5 15.3.4.5).
4241
4242 Fixed an error in inlined stores on ia32.
4243
4244 Fixed an error when setting a breakpoint at the end of a function
4245 that does not end with a newline character.
4246
4247 Performance improvements on all platforms.
4248
4249
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +000042502010-07-21: Version 2.3.2
4251
4252 Fixed compiler warnings when building with LLVM.
4253
4254 Fixed a bug with for-in applied to strings (issue 785).
4255
4256 Performance improvements on all platforms.
4257
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00004258
ricow@chromium.org4980dff2010-07-19 08:33:45 +000042592010-07-19: Version 2.3.1
4260
4261 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
4262
4263 Fixed bug related to code flushing while compiling a lazy
4264 compilable function (issue http://crbug.com/49099).
4265
4266 Performance improvements on all platforms.
4267
4268
ager@chromium.orgb5737492010-07-15 09:29:43 +000042692010-07-15: Version 2.3.0
4270
4271 Added ES5 Object.seal and Object.isSealed.
4272
4273 Added debugger API for scheduling debugger commands from a
4274 separate thread.
4275
4276
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +000042772010-07-14: Version 2.2.24
4278
4279 Added API for capturing stack traces for uncaught exceptions.
4280
4281 Fixed crash bug when preparsing from a non-external V8 string
4282 (issue 775).
4283
4284 Fixed JSON.parse bug causing input not to be converted to string
4285 (issue 764).
4286
4287 Added ES5 Object.freeze and Object.isFrozen.
4288
4289 Performance improvements on all platforms.
4290
4291
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +000042922010-07-07: Version 2.2.23
4293
4294 API change: Convert Unicode code points outside the basic multilingual
4295 plane to the replacement character. Previous behavior was to silently
4296 truncate the value to 16 bits.
4297
4298 Fixed crash: handle all flat string types in regexp replace.
4299
4300 Prevent invalid pre-parsing data passed in through the API from
4301 crashing V8.
4302
4303 Performance improvements on all platforms.
4304
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00004305
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +000043062010-07-05: Version 2.2.22
4307
4308 Added ES5 Object.isExtensible and Object.preventExtensions.
4309
4310 Enabled building V8 as a DLL.
4311
4312 Fixed a bug in date code where -0 was not interpreted as 0
4313 (issue 736).
4314
4315 Performance improvements on all platforms.
4316
4317
lrn@chromium.org32d961d2010-06-30 09:09:34 +000043182010-06-30: Version 2.2.21
4319
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004320 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004321
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004322 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004323
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004324 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004325
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004326 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004327
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004328 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00004329
4330 Provide actual breakpoints locations in response to setBreakpoint
4331 and listBreakpoints requests.
4332
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004333
fschneider@chromium.org40b9da32010-06-28 11:29:21 +000043342010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004335
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004336 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00004337
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004338 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004339
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004340 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00004341
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004342 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00004343 miscalculated for some inputs.
4344
4345 Performance improvements on all platforms.
4346
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004347
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +000043482010-06-23: Version 2.2.19
4349
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004350 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00004351 (issue 738).
4352
4353 Added expose-externalize-string flag for testing extensions.
4354
4355 Resolve linker issues with using V8 as a DLL causing a number of
4356 problems with unresolved symbols.
4357
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004358 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00004359 defined.
4360
4361 Performance improvements on all platforms.
4362
4363
whesse@chromium.org2c186ca2010-06-16 11:32:39 +000043642010-06-16: Version 2.2.18
4365
4366 Added API functions to retrieve information on indexed properties
4367 managed by the embedding layer. Fixes bug 737.
4368
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004369 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00004370
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004371 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00004372
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004373 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00004374
4375 Incremental performance improvements.
4376
4377
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000043782010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00004379
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00004380 Improved debugger support for stepping out of functions.
4381
4382 Incremental performance improvements.
4383
4384
43852010-06-09: Version 2.2.16
4386
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004387 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00004388 disposal of external string resources to call a virtual Dispose
4389 method on the resource.
4390
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00004391 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00004392 stepping.
4393
4394 Memory usage improvements on all platforms.
4395
4396
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +000043972010-06-07: Version 2.2.15
4398
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004399 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00004400
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004401 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00004402 some compilers complaint when compiling with -Werror.
4403
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004404 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00004405
4406
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +000044072010-06-02: Version 2.2.14
4408
4409 Fixed a crash in code generated for String.charCodeAt.
4410
4411 Fixed a compilation issue with some GCC versions (issue 727).
4412
4413 Performance optimizations on x64 and ARM platforms.
4414
4415
ricow@chromium.org30ce4112010-05-31 10:38:25 +000044162010-05-31: Version 2.2.13
4417
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004418 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +00004419 strings (issue 599).
4420
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004421 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00004422
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004423 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00004424
4425 Performance improvements on all platforms.
4426
4427
kmillikin@chromium.org9155e252010-05-26 13:27:57 +000044282010-05-26: Version 2.2.12
4429
4430 Allowed accessors to be defined on objects rather than just object
4431 templates.
4432
4433 Changed the ScriptData API.
4434
4435
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000044362010-05-21: Version 2.2.11
4437
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004438 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004439
4440 Use 'full compiler' when debugging is active. This should increase
4441 the density of possible break points, making single step more fine
4442 grained. This will only take effect for functions compiled after
4443 debugging has been started, so recompilation of all functions is
4444 required to get the full effect. IA32 and x64 only for now.
4445
4446 Misc. fixes to the Solaris build.
4447
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004448 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004449
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004450 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004451
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004452 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004453
4454 Incremental performance improvements in all backends.
4455
4456
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +000044572010-05-17: Version 2.2.10
4458
4459 Performance improvements in the x64 and ARM backends.
4460
4461
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +000044622010-05-10: Version 2.2.9
4463
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004464 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00004465
4466 Fixed bug with Date.parse returning a non-NaN value when called on a
4467 non date string (issue 696).
4468
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004469 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004470 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00004471
4472 C++ API for retrieving JavaScript stack trace information.
4473
4474
ager@chromium.orgac091b72010-05-05 07:34:42 +000044752010-05-05: Version 2.2.8
4476
4477 Performance improvements in the x64 and ARM backends.
4478
4479
kmillikin@chromium.org4111b802010-05-03 10:34:42 +000044802010-05-03: Version 2.2.7
4481
4482 Added support for ES5 date time string format to Date.parse.
4483
4484 Performance improvements in the x64 backend.
4485
4486
lrn@chromium.orgc34f5802010-04-28 12:53:43 +000044872010-04-28: Version 2.2.6
4488
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00004489 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00004490 (by Ryan Dahl <coldredlemur@gmail.com>).
4491
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00004492 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00004493
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00004494 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00004495
4496 Performance improvements on all platforms.
4497
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00004498
fschneider@chromium.org013f3e12010-04-26 13:27:52 +000044992010-04-26: Version 2.2.5
4500
4501 Various performance improvements (especially for ARM and x64)
4502
4503 Fixed bug in CPU profiling (http://crbug.com/42137)
4504
4505 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00004506
4507 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00004508 wrong calculations.
4509
4510 Fixed a bug that may cause a wrong result for shift operations.
4511
4512
45132010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +00004514
4515 Fixed warnings on arm on newer GCC versions.
4516
4517 Fixed a number of minor bugs.
4518
4519 Performance improvements on all platforms.
4520
4521
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +000045222010-04-14: Version 2.2.3
4523
4524 Added stack command and mem command to ARM simulator debugger.
4525
4526 Fixed scons snapshot and ARM build, and Windows X64 build issues.
4527
4528 Performance improvements on all platforms.
4529
4530
ager@chromium.org357bf652010-04-12 11:30:10 +000045312010-04-12: Version 2.2.2
4532
4533 Introduced new profiler API.
4534
4535 Fixed random number generator to produce full 32 random bits.
4536
4537
lrn@chromium.org25156de2010-04-06 13:10:27 +000045382010-04-06: Version 2.2.1
4539
4540 Debugger improvements.
4541
4542 Fixed minor bugs.
4543
4544
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000045452010-03-29: Version 2.2.0
4546
4547 Fixed a few minor bugs.
4548
4549 Performance improvements for string operations.
4550
4551
ager@chromium.orgb26c50a2010-03-26 09:27:16 +000045522010-03-26: Version 2.1.10
4553
4554 Fixed scons build issues.
4555
4556 Fixed a couple of minor bugs.
4557
4558
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +000045592010-03-25: Version 2.1.9
4560
4561 Added API support for reattaching a global object to a context.
4562
4563 Extended debugger API with access to the internal debugger context.
4564
4565 Fixed Chromium crashes (issues http://crbug.com/39128 and
4566 http://crbug.com/39160)
4567
4568
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +000045692010-03-24: Version 2.1.8
4570
4571 Added fine-grained garbage collection callbacks to the API.
4572
4573 Performance improvements on all platforms.
4574
4575
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000045762010-03-22: Version 2.1.7
4577
4578 Fixed issue 650.
4579
4580 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +00004581
4582 Performance improvements for arithmetic operations.
4583
4584 Performance improvements for string operations.
4585
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00004586 Print script name and line number information in stack trace.
4587
4588
45892010-03-17: Version 2.1.6
4590
4591 Performance improvements for arithmetic operations.
4592
4593 Performance improvements for string operations.
4594
4595
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000045962010-03-10: Version 2.1.4
4597
4598 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
4599
4600 Performance improvements on all platforms.
4601
4602
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000046032010-03-10: Version 2.1.3
4604
4605 Added API method for context-disposal notifications.
4606
4607 Added API method for accessing elements by integer index.
4608
4609 Added missing implementation of Uint32::Value and Value::IsUint32
4610 API methods.
4611
4612 Added IsExecutionTerminating API method.
4613
4614 Disabled strict aliasing for GCC 4.4.
4615
4616 Fixed string-concatenation bug (issue 636).
4617
4618 Performance improvements on all platforms.
4619
4620
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000046212010-02-23: Version 2.1.2
4622
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004623 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00004624
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004625 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00004626
4627 Performance improvements on all platforms.
4628
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00004629
ager@chromium.org5c838252010-02-19 08:53:10 +000046302010-02-19: Version 2.1.1
4631
4632 [ES5] Implemented Object.defineProperty.
4633
4634 Improved profiler support.
4635
4636 Added SetPrototype method in the public V8 API.
4637
4638 Added GetScriptOrigin and GetScriptLineNumber methods to Function
4639 objects in the API.
4640
4641 Performance improvements on all platforms.
4642
4643
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000046442010-02-03: Version 2.1.0
4645
4646 Values are now always wrapped in objects when used as a receiver.
4647 (issue 223).
4648
4649 [ES5] Implemented Object.getOwnPropertyNames.
4650
4651 [ES5] Restrict JSON.parse to only accept strings that conforms to the
4652 JSON grammar.
4653
4654 Improvement of debugger agent (issue 549 and 554).
4655
4656 Fixed problem with skipped stack frame in profiles (issue 553).
4657
4658 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
4659 <ry@tinyclouds.org>.
4660
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004661 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00004662 integers.
4663
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004664 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00004665 functions (isue http://crbug.com/3867).
4666
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004667 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00004668
4669 Numerous performance improvements including porting of previous IA-32
4670 optimizations to x64 and ARM architectures.
4671
4672
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000046732010-01-14: Version 2.0.6
4674
4675 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
4676 GetOwnProperty, FromPropertyDescriptor.
4677
4678 Fixed Mac x64 build errors.
4679
4680 Improved performance of some math and string operations.
4681
4682 Improved performance of some regexp operations.
4683
4684 Improved performance of context creation.
4685
4686 Improved performance of hash tables.
4687
4688
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000046892009-12-18: Version 2.0.5
4690
4691 Extended to upper limit of map space to allow for 7 times as many map
4692 to be allocated (issue 524).
4693
4694 Improved performance of code using closures.
4695
4696 Improved performance of some binary operations involving doubles.
4697
4698
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000046992009-12-16: Version 2.0.4
4700
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004701 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004702
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004703 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004704
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004705 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004706
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004707 Improved handling of external strings by using a separate table
4708 instead of weak handles. This improves garbage collection
4709 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004710
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004711 Changed code generation for object and array literals in toplevel
4712 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004713
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004714 Fixed a crash bug triggered when garbage collection happened during
4715 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004716
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00004717 Fixed crash bug sometimes triggered when local variables shadowed
4718 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004719
4720
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000047212009-12-03: Version 2.0.3
4722
4723 Optimized handling and adding of strings, for-in and Array.join.
4724
4725 Heap serialization is now non-destructive.
4726
4727 Improved profiler support with information on time spend in C++
4728 callbacks registered through the API.
4729
4730 Added commands to the debugger protocol for starting/stopping
4731 profiling.
4732
4733 Enabled the non-optimizing compiler for top-level code.
4734
4735 Changed the API to only allow strings to be set as data objects on
4736 Contexts and scripts to avoid potentially keeping global objects
4737 around for too long (issue 528).
4738
4739 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
4740
4741 Fixed bugs.
4742
4743
ager@chromium.org01beca72009-11-24 14:29:16 +000047442009-11-24: Version 2.0.2
4745
4746 Improved profiler support.
4747
4748 Fixed bug that broke compilation of d8 with readline support.
4749
4750
ager@chromium.org6141cbe2009-11-20 12:14:52 +000047512009-11-20: Version 2.0.1
4752
4753 Fixed crash bug in String.prototype.replace.
4754
4755 Reverted a change which caused Chromium interactive ui test
4756 failures.
4757
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004758
ager@chromium.orgc4c92722009-11-18 14:12:51 +000047592009-11-18: Version 2.0.0
4760
4761 Added support for VFP on ARM.
4762
4763 Added TryCatch::ReThrow method to the API.
4764
4765 Reduced the size of snapshots and improved the snapshot load time.
4766
4767 Improved heap profiler support.
4768
4769 64-bit version now supported on Windows.
4770
4771 Fixed a number of debugger issues.
4772
4773 Fixed bugs.
4774
4775
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000047762009-10-29: Version 1.3.18
4777
4778 Reverted a change which caused crashes in RegExp replace.
4779
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00004780 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00004781
4782
ager@chromium.org3811b432009-10-28 14:53:37 +000047832009-10-28: Version 1.3.17
4784
4785 Added API method to get simple heap statistics.
4786
4787 Improved heap profiler support.
4788
4789 Fixed the implementation of the resource constraint API so it
4790 works when using snapshots.
4791
4792 Fixed a number of issues in the Windows 64-bit version.
4793
4794 Optimized calls to API getters.
4795
4796 Added valgrind notification on code modification to the 64-bit version.
4797
4798 Fixed issue where we logged shared library addresses on Windows at
4799 startup and never used them.
4800
4801
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000048022009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004803
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004804 X64: Convert smis to holding 32 bits of payload.
4805
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004806 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004807
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004808 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004809
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004810 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004811 Patch by Jan de Mooij <jandemooij@gmail.com>
4812
4813 Implement ES5 Array.isArray
4814 Patch by Jan de Mooij <jandemooij@gmail.com>
4815
4816 Skip access checks for hidden properties.
4817
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004818 Added String::Concat(Handle<String> left, Handle<String> right) to the
4819 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004820
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004821 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00004822
4823
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000048242009-10-07: Version 1.3.15
4825
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004826 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00004827
4828 Fixed a crash bug happening when starting profiling (issue
4829 http://crbug.com/23768).
4830
4831
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000048322009-10-07: Version 1.3.14
4833
4834 Added GetRealNamedProperty to the API to lookup real properties
4835 located on the object or in the prototype chain skipping any
4836 interceptors.
4837
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004838 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00004839 stack limit now needs to be set to each thread thich is used with V8.
4840
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004841 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00004842
4843 Ensure V8 is initialized before locking and unlocking threads.
4844
4845 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00004846 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00004847 Crockford from the project.
4848
4849 Added a missing optimization in StringCharAt.
4850
4851 Fixed some flaky socket tests.
4852
4853 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
4854 in 64-bit mode.
4855
4856 Fixed memory leaks in the thread management code.
4857
4858 Fixed the result of assignment to a pixel array. The assigned value
4859 is now the result.
4860
4861 Error reporting for invalid left-hand sides in for-in statements, pre-
4862 and postfix count expressions, and assignments now matches the JSC
4863 behavior in Safari 4.
4864
4865 Follow the spec in disallowing function declarations without a name.
4866
4867 Always allocate code objects within a 2 GB range. On x64 architecture
4868 this is used to use near calls (32-bit displacement) in Code objects.
4869
4870 Optimized array construction ported to x64 and ARM architectures.
4871
4872 [ES5] Changed Object.keys to return strings for element indices.
4873
4874
ager@chromium.org68e7ab72009-09-23 09:40:39 +000048752009-09-23: Version 1.3.13
4876
4877 Fixed uninitialized memory problem.
4878
4879 Improved heap profiler support.
4880
4881
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000048822009-09-22: Version 1.3.12
4883
4884 Changed behavior of |function|.toString() on built-in functions to
4885 be compatible with other implementations. Patch by Jan de Mooij.
4886
4887 Added Object::IsDirty in the API.
4888
4889 Optimized array construction; it is now handled purely in native
4890 code.
4891
4892 [ES5] Made properties of the arguments array enumerable.
4893
4894 [ES5] Added test suite adapter for the es5conform test suite.
4895
4896 [ES5] Added Object.keys function.
4897
ager@chromium.org68e7ab72009-09-23 09:40:39 +00004898
ager@chromium.org4af710e2009-09-15 12:20:11 +000048992009-09-15: Version 1.3.11
4900
4901 Fixed crash in error reporting during bootstrapping.
4902
4903 Optimized generated IA32 math code by using SSE2 instructions when
4904 available.
4905
4906 Implemented missing pieces of debugger infrastructure on ARM. The
4907 debugger is now fully functional on ARM.
4908
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004909 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00004910
4911
ager@chromium.orga1645e22009-09-09 19:27:10 +000049122009-09-09: Version 1.3.10
4913
4914 Fixed profiler on Mac in 64-bit mode.
4915
4916 Optimized creation of objects from simple constructor functions on
4917 ARM.
4918
4919 Fixed a number of debugger issues.
4920
4921 Reduced the amount of memory consumed by V8.
4922
4923
ager@chromium.org18ad94b2009-09-02 08:22:29 +000049242009-09-02: Version 1.3.9
4925
4926 Optimized stack guard checks on ARM.
4927
4928 Optimized API operations by inlining more in the API.
4929
4930 Optimized creation of objects from simple constructor functions.
4931
4932 Enabled a number of missing optimizations in the 64-bit port.
4933
4934 Implemented native-code support for regular expressions on ARM.
4935
4936 Stopped using the 'sahf' instruction on 64-bit machines that do
4937 not support it.
4938
4939 Fixed a bug in the support for forceful termination of JavaScript
4940 execution.
4941
4942
ager@chromium.org96c75b52009-08-26 09:13:16 +000049432009-08-26: Version 1.3.8
4944
4945 Changed the handling of idle notifications to allow idle
4946 notifications when V8 has not yet been initialized.
4947
4948 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00004949
ager@chromium.org96c75b52009-08-26 09:13:16 +00004950
ager@chromium.orgab99eea2009-08-25 07:05:41 +000049512009-08-25: Version 1.3.7
4952
4953 Reduced the size of generated code on ARM platforms by reducing
4954 the size of constant pools.
4955
4956 Changed build files to not include the 'ENV' user environment
4957 variable in the build environment.
4958
4959 Changed the handling of idle notifications.
4960
4961
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000049622009-08-21: Version 1.3.6
4963
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004964 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00004965
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004966 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00004967 a low memory situation to V8.
4968
4969 Changed the handling of global handles (persistent handles in the API
4970 sense) to avoid issues regarding allocation of new global handles
4971 during weak handle callbacks.
4972
4973 Changed the growth policy of the young space.
4974
4975 Fixed a GC issue introduced in version 1.3.5.
4976
4977
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000049782009-08-19: Version 1.3.5
4979
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004980 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00004981
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004982 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00004983
4984 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
4985
4986 Changed typeof RegExp from 'object' to 'function' for compatibility.
4987 Fixed bug where regexps were not callable across contexts.
4988
4989 Added context independent script compilation to the API.
4990
4991 Added API call to get the stack trace for an exception.
4992
4993 Added API for getting object mirrors.
4994
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00004995 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00004996 running off a snapshot generated without using SSE3 instructions.
4997
4998 Tweaked the handling of the initial size and growth policy of the heap.
4999
5000 Added native code generation for RegExp to 64-bit version.
5001
5002 Added JavaScript debugger support to 64-bit version.
5003
5004
ager@chromium.orgadd848f2009-08-13 12:44:13 +000050052009-08-13: Version 1.3.4
5006
5007 Added a readline() command to the d8 shell.
5008
5009 Fixed bug in json parsing.
5010
5011 Added idle notification to the API and reduced memory on idle
5012 notifications.
5013
5014
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000050152009-08-12: Version 1.3.3
5016
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005017 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00005018
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005019 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00005020
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005021 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00005022
5023 API: added function to find instance of template in prototype
5024 chain. Inlined Object::IsInstanceOf.
5025
5026 Land change to notify valgrind when we modify code on x86.
5027
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005028 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00005029
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005030 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00005031
5032
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000050332009-08-05: Version 1.3.2
5034
5035 Started new compiler infrastructure for two-pass compilation using a
5036 control flow graph constructed from the AST.
5037
5038 Profiler stack sampling for X64.
5039
5040 Safe handling of NaN to Posix platform-dependent time functions.
5041
5042 Added a new profiler control API to unify controlling various aspects
5043 of profiling.
5044
5045 Fixed issue 392.
5046
5047
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000050482009-07-30: Version 1.3.1
5049
5050 Speed improvements to accessors and interceptors.
5051
5052 Added support for capturing stack information on custom errors.
5053
5054 Added support for morphing an object into a pixel array where its
5055 indexed properties are stored in an external byte array. Values written
5056 are always clamped to the 0..255 interval.
5057
5058 Profiler on x64 now handles C/C++ functions from shared libraries.
5059
5060 Changed the debugger to avoid stepping into function.call/apply if the
5061 function is a built-in.
5062
5063 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00005064
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00005065 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00005066
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00005067 Optimized the called as constructor check for API calls.
5068
5069
kasperl@chromium.orge959c182009-07-27 08:59:04 +000050702009-07-27: Version 1.3.0
5071
5072 Allowed RegExp objects to be called as functions (issue 132).
5073
5074 Fixed issue where global property cells would escape after
5075 detaching the global object; see http://crbug.com/16276.
5076
5077 Added support for stepping into setters and getters in the
5078 debugger.
5079
5080 Changed the debugger to avoid stopping in its own JavaScript code
5081 and in the code of built-in functions.
5082
5083 Fixed issue 345 by avoiding duplicate escaping labels.
5084
5085 Fixed ARM code generator crash in short-circuited boolean
5086 expressions and added regression tests.
5087
5088 Added an external allocation limit to avoid issues where small V8
5089 objects would hold on to large amounts of external memory without
5090 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00005091
5092 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00005093
5094
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000050952009-07-13: Version 1.2.14
5096
5097 Added separate paged heap space for global property cells and
5098 avoid updating the write barrier when storing into them.
5099
5100 Improved peep-hole optimization on ARM platforms by not emitting
5101 unnecessary debug information.
5102
5103 Re-enabled ICs for loads and calls that skip a global object
5104 during lookup through the prototype chain.
5105
5106 Allowed access through global proxies to use ICs.
5107
5108 Fixed issue 401.
5109
5110
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000051112009-07-09: Version 1.2.13
5112
5113 Fixed issue 397, issue 398, and issue 399.
5114
5115 Added support for breakpoint groups.
5116
5117 Fixed bugs introduced with the new global object representation.
5118
5119 Fixed a few bugs in the ARM code generator.
5120
5121
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000051222009-07-06: Version 1.2.12
5123
5124 Added stack traces collection to Error objects accessible through
5125 the e.stack property.
5126
5127 Changed RegExp parser to use a recursive data structure instead of
5128 stack-based recursion.
5129
5130 Optimized Date object construction and string concatenation.
5131
5132 Improved performance of div, mod, and mul on ARM platforms.
5133
5134
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000051352009-07-02: Version 1.2.11
5136
5137 Improved performance on IA-32 and ARM.
5138
5139 Fixed profiler sampler implementation on Mac OS X.
5140
5141 Changed the representation of global objects to improve
5142 performance of adding a lot of new properties.
5143
5144
ager@chromium.org3e875802009-06-29 08:26:34 +000051452009-06-29: Version 1.2.10
5146
5147 Improved debugger support.
5148
5149 Fixed bug in exception message reporting (issue 390).
5150
5151 Improved overall performance.
5152
5153
ager@chromium.org5aa501c2009-06-23 07:57:28 +000051542009-06-23: Version 1.2.9
5155
5156 Improved math performance on ARM.
5157
5158 Fixed profiler name-inference bug.
5159
5160 Fixed handling of shared libraries in the profiler tick processor
5161 scripts.
5162
5163 Fixed handling of tests that time out in the test scripts.
5164
5165 Fixed compilation on MacOS X version 10.4.
5166
5167 Fixed two bugs in the regular expression engine.
5168
5169 Fixed a bug in the string type inference.
5170
5171 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00005172
ager@chromium.org5aa501c2009-06-23 07:57:28 +00005173 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00005174
ager@chromium.org5aa501c2009-06-23 07:57:28 +00005175
ager@chromium.orgeadaf222009-06-16 09:43:10 +000051762009-06-16: Version 1.2.8
5177
5178 Optimized math on ARM platforms.
5179
5180 Fixed two crash bugs in the handling of getters and setters.
5181
5182 Improved the debugger support by adding scope chain information.
5183
5184 Improved the profiler support by compressing log data transmitted
5185 to clients.
5186
5187 Improved overall performance.
5188
5189
ager@chromium.orge2902be2009-06-08 12:21:35 +000051902009-06-08: Version 1.2.7
5191
5192 Improved debugger and profiler support.
5193
5194 Reduced compilation time by improving the handling of deferred
5195 code.
5196
5197 Optimized interceptor accesses where the property is on the object
5198 on which the interceptors is attached.
5199
5200 Fixed compilation problem on GCC 4.4 by changing the stack
5201 alignment to 16 bytes.
5202
5203 Fixed handle creation to follow stric aliasing rules.
5204
5205 Fixed compilation on FreeBSD.
5206
5207 Introduced API for forcing the deletion of a property ignoring
5208 interceptors and attributes.
5209
5210
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000052112009-05-29: Version 1.2.6
5212
5213 Added a histogram recording hit rates at different levels of the
5214 compilation cache.
5215
5216 Added stack overflow check for the RegExp analysis phase. Previously a
5217 very long regexp graph could overflow the stack with recursive calls.
5218
5219 Use a dynamic buffer when collecting log events in memory.
5220
5221 Added start/stop events to the profiler log.
5222
5223 Fixed infinite loop which could happen when setting a debug break while
5224 executing a RegExp compiled to native code.
5225
5226 Fixed handling of lastIndexOf called with negative index (issue 351).
5227
5228 Fixed irregular crash in profiler test (issue 358).
5229
5230 Fixed compilation issues with some versions of gcc.
5231
5232
kasperl@chromium.org71affb52009-05-26 05:44:31 +000052332009-05-26: Version 1.2.5
5234
5235 Fixed bug in initial boundary check for Boyer-Moore text
5236 search (issue 349).
5237
5238 Fixed compilation issues with MinGW and gcc 4.3+ and added support
5239 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
5240 Craig Schlenter.
5241
5242 Added a script cache to the debugger.
5243
5244 Optimized compilation performance by improving internal data
5245 structures and avoiding expensive property load optimizations for
5246 code that's infrequently executed.
5247
5248 Exposed the calling JavaScript context through the static API
5249 function Context::GetCalling().
5250
5251
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000052522009-05-18: Version 1.2.4
5253
5254 Improved performance of floating point number allocation for ARM
5255 platforms.
5256
5257 Fixed crash when using the instanceof operator on functions with
5258 number values in their prototype chain (issue 341).
5259
5260 Optimized virtual frame operations in the code generator to speed
5261 up compilation time and allocated the frames in the zone.
5262
5263 Made the representation of virtual frames and jump targets in the
5264 code generator much more compact.
5265
5266 Avoided linear search for non-locals in scope code when resolving
5267 variables inside with and eval scopes.
5268
5269 Optimized lexical scanner by dealing with whitespace as part of
5270 the token scanning instead of as a separate step before it.
5271
5272 Changed the scavenging collector so that promoted objects do not
5273 reside in the old generation while their remembered set is being
5274 swept for pointers into the young generation.
5275
5276 Fixed numeric overflow handling when compiling count operations.
5277
5278
ager@chromium.org9085a012009-05-11 19:22:57 +000052792009-05-11: Version 1.2.3
5280
5281 Fixed bug in reporting of out-of-memory situations.
5282
5283 Introduced hidden prototypes on certain builtin prototype objects
5284 such as String.prototype to emulate JSC's behavior of restoring
5285 the original function when deleting functions from those prototype
5286 objects.
5287
5288 Fixed crash bug in the register allocator.
5289
5290
ager@chromium.org5ec48922009-05-05 07:25:34 +000052912009-05-04: Version 1.2.2
5292
5293 Fixed bug in array sorting for sparse arrays (issue 326).
5294
5295 Added support for adding a soname when building a shared library
5296 on Linux (issue 151).
5297
5298 Fixed bug caused by morphing internal ASCII strings to external
5299 two-byte strings. Slices over ASCII strings have to forward ASCII
5300 checks to the underlying buffer string.
5301
5302 Allowed API call-as-function handlers to be called as
5303 constructors.
5304
5305 Fixed a crash bug where an external string was disposed but a
5306 slice of the external string survived as a symbol.
5307
5308
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000053092009-04-27: Version 1.2.1
5310
5311 Added EcmaScript 5 JSON object.
5312
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00005313 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00005314
5315
ager@chromium.org65dad4b2009-04-23 08:48:43 +000053162009-04-23: Version 1.2.0
5317
5318 Optimized floating-point operations on ARM.
5319
5320 Added a number of extensions to the debugger API.
5321
5322 Changed the enumeration order for unsigned integer keys to always
5323 be numerical order.
5324
5325 Added a "read" extension to the shell sample.
5326
5327 Added support for Array.prototype.reduce and
5328 Array.prototype.reduceRight.
5329
5330 Added an option to the SCons build to control Microsoft Visual C++
5331 link-time code generation.
5332
5333 Fixed a number of bugs (in particular issue 315, issue 316,
5334 issue 317 and issue 318).
5335
5336
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000053372009-04-15: Version 1.1.10
5338
5339 Fixed crash bug that occurred when loading a const variable in the
5340 presence of eval.
5341
5342 Allowed using with and eval in registered extensions in debug mode
5343 by fixing bogus assert.
5344
5345 Fixed the source position for function returns to enable the
5346 debugger to break there.
5347
5348
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000053492009-04-14: Version 1.1.9
5350
5351 Made the stack traversal code in the profiler robust by avoiding
5352 to look into the heap.
5353
5354 Added name inferencing for anonymous functions to facilitate
5355 debugging and profiling.
5356
5357 Re-enabled stats timers in the developer shell (d8).
5358
5359 Fixed issue 303 by avoiding to shortcut cons-symbols.
5360
5361
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000053622009-04-11: Version 1.1.8
5363
5364 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
5365
ager@chromium.org65dad4b2009-04-23 08:48:43 +00005366 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00005367 the debugger (issue 269).
5368
5369 Fixed v8::Object::DeleteHiddenValue to not bail out when there
5370 are no hidden properties.
5371
ager@chromium.org65dad4b2009-04-23 08:48:43 +00005372 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00005373 entries with deleted resources would lead to NPEs when looking
5374 up in the symbol table.
5375
5376
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000053772009-04-07: Version 1.1.7
5378
5379 Added support for easily importing additional environment
5380 variables into the SCons build.
5381
5382 Optimized strict equality checks.
5383
5384 Fixed crash in indexed setters on objects without a corresponding
5385 getter (issue 298).
5386
5387 Re-enabled script compilation cache.
5388
5389
ager@chromium.org8682a592009-04-01 10:47:14 +000053902009-04-01: Version 1.1.6
5391
5392 Reverted an unsafe code generator change.
5393
5394
ager@chromium.org71daaf62009-04-01 07:22:49 +000053952009-04-01: Version 1.1.5
5396
5397 Fixed bug that caused function literals to not be optimized as
5398 much as other functions.
5399
5400 Improved profiler support.
5401
5402 Fixed a crash bug in connection with debugger unloading.
5403
5404 Fixed a crash bug in the code generator caused by losing the
5405 information that a frame element was copied.
5406
5407 Fixed an exception propagation bug that could cause non-null
5408 return values when exceptions were thrown.
5409
5410
ager@chromium.org41826e72009-03-30 13:30:57 +000054112009-03-30: Version 1.1.4
5412
5413 Optimized String.prototype.match.
5414
5415 Improved the stack information in profiles.
5416
5417 Fixed bug in ARM port making it possible to compile the runtime
5418 system for thumb mode again.
5419
5420 Implemented a number of optimizations in the code generator.
5421
5422 Fixed a number of memory leaks in tests.
5423
5424 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00005425 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00005426
5427
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000054282009-03-24: Version 1.1.3
5429
5430 Fixed assertion failures in compilation of loop conditions.
5431
5432 Removed STL dependency from developer shell (d8).
5433
5434 Added infrastructure for protecting the V8 heap from corruption
5435 caused by memory modifications from the outside.
5436
5437
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000054382009-03-24: Version 1.1.2
5439
5440 Improved frame merge code generated by the code generator.
5441
5442 Optimized String.prototype.replace.
5443
5444 Implemented __defineGetter__ and __defineSetter__ for properties
5445 with integer keys on non-array objects.
5446
5447 Improved debugger and profiler support.
5448
5449 Fixed a number of portability issues to allow compilation for
5450 smaller ARM devices.
5451
5452 Exposed object cloning through the API.
5453
5454 Implemented hidden properties. This is used to expose an identity
5455 hash for objects through the API.
5456
5457 Implemented restarting of regular expressions if their input
5458 string changes representation during preemption.
5459
5460 Fixed a code generator bug that could cause assignments in loops
5461 to be ignored if using continue to break out of the loop (issue
5462 284).
5463
5464
ager@chromium.org3a6061e2009-03-12 14:24:36 +000054652009-03-12: Version 1.1.1
5466
5467 Fixed an assertion in the new compiler to take stack overflow
5468 exceptions into account.
5469
5470 Removed exception propagation code that could cause crashes.
5471
5472 Fixed minor bug in debugger line number computations.
5473
5474 8-byte align the C stack on Linux and Windows to speed up floating
5475 point computations.
5476
5477
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000054782009-03-12: Version 1.1.0
5479
5480 Improved code generation infrastructure by doing simple register
5481 allocation and constant folding and propagation.
5482
5483 Optimized regular expression matching by avoiding to create
5484 intermediate string arrays and by flattening nested array
5485 representations of RegExp data.
5486
5487 Traverse a few stack frames when recording profiler samples to
5488 include partial call graphs in the profiling output.
5489
5490 Added support for using OProfile to profile generated code.
5491
5492 Added remote debugging support to the D8 developer shell.
5493
5494 Optimized creation of nested literals like JSON objects.
5495
5496 Fixed a bug in garbage collecting unused maps and turned it on by
5497 default (--collect-maps).
5498
5499 Added support for running tests under Valgrind.
5500
5501
kasperl@chromium.org061ef742009-02-27 12:16:20 +000055022009-02-27: Version 1.0.3
5503
5504 Optimized double-to-integer conversions in bit operations by using
5505 SSE3 instructions if available.
5506
5507 Optimized initialization sequences that store to multiple
5508 properties of the same object.
5509
5510 Changed the D8 debugger frontend to use JSON messages.
5511
5512 Force garbage collections when disposing contexts.
5513
5514 Align code objects at 32-byte boundaries.
5515
5516
ager@chromium.org381abbb2009-02-25 13:23:22 +000055172009-02-25: Version 1.0.2
5518
5519 Improved profiling support by performing simple call stack
5520 sampling for ticks and by fixing a bug in the logging of code
5521 addresses.
5522
5523 Fixed a number of debugger issues.
5524
5525 Optimized code that uses eval.
5526
5527 Fixed a couple of bugs in the regular expression engine.
5528
5529 Reduced the size of generated code for certain regular expressions.
5530
5531 Removed JSCRE completely.
5532
5533 Fixed issue where test could not be run if there was a dot in the
5534 checkout path.
5535
5536
ager@chromium.org6f10e412009-02-13 10:11:16 +000055372009-02-13: Version 1.0.1
5538
5539 Fixed two crash-bugs in irregexp (issue 231 and 233).
5540
5541 Fixed a number of minor bugs (issue 87, 227 and 228).
5542
5543 Added support for morphing strings to external strings on demand
5544 to avoid having to create copies in the embedding code.
5545
5546 Removed experimental support for external symbol callbacks.
5547
5548
iposva@chromium.org245aa852009-02-10 00:49:54 +000055492009-02-09: Version 1.0.0
5550
5551 Fixed crash-bug in the code generation for case independent 16 bit
5552 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00005553
iposva@chromium.org245aa852009-02-10 00:49:54 +00005554 Made shells more robust in the presence of string conversion
5555 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00005556
iposva@chromium.org245aa852009-02-10 00:49:54 +00005557 Fixed a potential infinite loop when attempting to resolve
5558 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00005559
iposva@chromium.org245aa852009-02-10 00:49:54 +00005560 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00005561
iposva@chromium.org245aa852009-02-10 00:49:54 +00005562 Reduced binary by stripping unneeded text from JavaScript library and
5563 minifying some JavaScript files.
5564
5565
ager@chromium.orgddb913d2009-01-27 10:01:48 +000055662009-01-27: Version 0.4.9
5567
5568 Enabled new regular expression engine.
5569
5570 Made a number of changes to the debugger protocol.
5571
5572 Fixed a number of bugs in the preemption support.
5573
5574 Added -p option to the developer shell to run files in parallel
5575 using preemption.
5576
5577 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
5578 193, 198 and 201).
5579
5580 Fixed a number of bugs in the serialization/deserialization
5581 support for the ARM platform.
5582
5583
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000055842009-01-19: Version 0.4.8.1
5585
5586 Minor patch to debugger support.
5587
5588
ager@chromium.org32912102009-01-16 10:38:43 +000055892009-01-16: Version 0.4.8
5590
5591 Fixed string length bug on ARM (issue 171).
5592
5593 Made most methods in the API const.
5594
5595 Optimized object literals by improving data locality.
5596
5597 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00005598 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00005599
5600 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00005601 eval to behave incorrectly when using accessors (issues 186, 190
5602 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00005603
5604
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000056052009-01-06: Version 0.4.7
5606
ager@chromium.org32912102009-01-16 10:38:43 +00005607 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00005608
ager@chromium.org32912102009-01-16 10:38:43 +00005609 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00005610
ager@chromium.org32912102009-01-16 10:38:43 +00005611 Fixed subtle bug that caused the wrong 'this' to be used when
5612 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00005613
ager@chromium.org32912102009-01-16 10:38:43 +00005614 Inline array loads within loops directly in the code instead of
5615 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00005616
ager@chromium.org32912102009-01-16 10:38:43 +00005617
ager@chromium.org8bb60582008-12-11 12:02:20 +000056182008-12-11: Version 0.4.6
5619
5620 Fixed exception reporting bug where certain exceptions were
5621 incorrectly reported as uncaught.
5622
5623 Improved the memory allocation strategy used during compilation to
5624 make running out of memory when compiling huge scripts less
5625 likely.
5626
5627 Optimized String.replace by avoiding the construction of certain
5628 sub strings.
5629
5630 Fixed bug in code generation for large switch statements on ARM.
5631
5632 Fixed bug that caused V8 to change the global object template
5633 passed in by the user.
5634
5635 Changed the API for creating object groups used during garbage
5636 collection. Entire object groups are now passed to V8 instead of
5637 individual members of the groups.
5638
ager@chromium.org32912102009-01-16 10:38:43 +00005639
ager@chromium.orga74f0da2008-12-03 16:05:52 +000056402008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00005641
ager@chromium.orga74f0da2008-12-03 16:05:52 +00005642 Added experimental API support for allocating V8 symbols as
5643 external strings.
5644
5645 Fixed bugs in debugging support on ARM.
5646
5647 Changed eval implementation to correctly detect whether or not a
5648 call to eval is aliased.
5649
5650 Fixed bug caused by a combination of the compilation cache and
5651 dictionary probing in native code. The bug caused us to sometimes
5652 call functions that had not yet been compiled.
5653
5654 Added platform support for FreeBSD.
5655
5656 Added support for building V8 on Windows with either the shared or
5657 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00005658
iposva@chromium.org96f667e2008-11-26 23:48:02 +00005659 Added the v8::jscre namespace around the jscre functions to avoid
5660 link errors (duplicate symbols) when building Google Chrome.
5661
ager@chromium.orga74f0da2008-12-03 16:05:52 +00005662 Added support for calling a JavaScript function with the current
5663 debugger execution context as its argument to the debugger
5664 interface.
5665
5666 Changed the type of names of counters from wchar_t to char.
5667
5668 Changed the Windows system call used to compute daylight savings
5669 time. The system call that we used to use became four times
5670 slower on WinXP SP3.
5671
5672 Added support in the d8 developer shell for memory-mapped counters
5673 and added a stats-viewer tool.
5674
5675 Fixed bug in upper/lower case mappings (issue 149).
5676
iposva@chromium.org96f667e2008-11-26 23:48:02 +00005677
ager@chromium.org3bf7b912008-11-17 09:09:45 +000056782008-11-17: Version 0.4.4
5679
5680 Reduced code size by using shorter instruction encoding when
5681 possible.
5682
5683 Added a --help option to the shell sample and to the d8 shell.
5684
5685 Added visual studio project files for building the ARM simulator.
5686
5687 Fixed a number of ARM simulator issues.
5688
5689 Fixed bug in out-of-memory handling on ARM.
5690
5691 Implemented shell support for passing arguments to a script from
5692 the command line.
5693
5694 Fixed bug in date code that made certain date functions return -0
5695 instead of 0 for dates before the epoch.
5696
5697 Restricted applications of eval so it can only be used in the
5698 context of the associated global object.
5699
5700 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00005701
5702
ager@chromium.org870a0b62008-11-04 11:43:05 +000057032008-11-04: Version 0.4.3
5704
5705 Added support for API accessors that prohibit overwriting by
5706 accessors defined in JavaScript code by using __defineGetter__ and
5707 __defineSetter__.
5708
5709 Improved handling of conditionals in test status files.
5710
5711 Introduced access control in propertyIsEnumerable.
5712
5713 Improved performance of some string operations by caching
5714 information about the type of the string between operations.
5715
5716 Fixed bug in fast-case code for switch statements that only have
5717 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00005718
ager@chromium.org870a0b62008-11-04 11:43:05 +00005719
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000057202008-10-30: Version 0.4.2
5721
5722 Improved performance of Array.prototype.concat by moving the
5723 implementation to C++ (issue 123).
5724
5725 Fixed heap growth policy to avoid growing old space to its maximum
5726 capacity before doing a garbage collection and fixed issue that
5727 would lead to artificial out of memory situations (issue 129).
5728
5729 Fixed Date.prototype.toLocaleDateString to return the date in the
5730 same format as WebKit.
5731
5732 Added missing initialization checks to debugger API.
5733
5734 Added removing of unused maps during GC.
5735
5736
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000057372008-10-28: Version 0.4.1
5738
5739 Added caching of RegExp data in compilation cache.
5740
5741 Added Visual Studio project file for d8 shell.
5742
5743 Fixed function call performance regression introduced in version
5744 0.4.0 when splitting the global object in two parts (issue 120).
5745
5746 Fixed issue 131 by checking for empty handles before throwing and
5747 reporting exceptions.
5748
5749
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000057502008-10-23: Version 0.4.0
5751
5752 Split the global object into two parts: The state holding global
5753 object and the global object proxy.
5754
5755 Fixed bug that affected the value of an assignment to an element
5756 in certain cases (issue 116).
5757
5758 Added GetPropertyNames functionality (issue 33) and extra Date
5759 functions (issue 77) to the API.
5760
5761 Changed WeakReferenceCallback to take a Persistent<Value> instead
5762 of a Persistent<Object> (issue 101).
5763
5764 Fixed issues with message reporting for exceptions in try-finally
5765 blocks (issues 73 and 75).
5766
ager@chromium.org32912102009-01-16 10:38:43 +00005767 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00005768
5769 Improved Boyer-Moore implementation for faster indexOf operations.
5770
5771 Added development shell (d8) which includes counters and
5772 completion support.
5773
5774 Fixed problem with the receiver passed to functions called from
5775 eval (issue 124).
5776
5777
ager@chromium.org7c537e22008-10-16 08:43:32 +000057782008-10-16: Version 0.3.5
5779
5780 Improved string hash-code distribution by excluding bit-field bits
5781 from the hash-code.
5782
5783 Changed string search algorithm used in indexOf from KMP to
5784 Boyer-Moore.
5785
5786 Improved the generated code for the instanceof operator.
5787
5788 Improved performance of slow-case string equality checks by
5789 specializing the code based on the string representation.
5790
5791 Improve the handling of out-of-memory situations (issue 70).
5792
5793 Improved performance of strict equality checks.
5794
5795 Improved profiler output to make it easier to see anonymous
5796 functions.
5797
5798 Improved performance of slow-case keyed loads.
5799
5800 Improved property access performance by allocating a number of
5801 properties in the front object.
5802
5803 Changed the toString behavior on the built-in object constructors
5804 to print [native code] instead of the actual source. Some web
5805 applications do not like constructors with complex toString
5806 results.
ager@chromium.org32912102009-01-16 10:38:43 +00005807
ager@chromium.org7c537e22008-10-16 08:43:32 +00005808
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000058092008-10-06: Version 0.3.4
5810
5811 Changed Array.prototype.sort to use quick sort.
5812
5813 Fixed code generation issue where leaving a finally block with
5814 break or continue would accumulate elements on the expression
5815 stack (issue 86).
5816
5817 Made sure that the name accessor on functions returns the expected
5818 names for builtin JavaScript functions and C++ callback functions.
5819
5820 Added fast case code for extending the property storage array of
5821 JavaScript objects.
5822
5823 Ported switch statement optimizations introduced in version 0.3.3
5824 to the ARM code generator.
5825
5826 Allowed GCC to use strict-aliasing rules when compiling.
5827
5828 Improved performance of arguments object allocation by taking care
5829 of arguments adaptor frames in the generated code.
5830
5831 Updated the V8 benchmark suite to version 2.
5832
5833
ager@chromium.org236ad962008-09-25 09:45:57 +000058342008-09-25: Version 0.3.3
5835
5836 Improved handling of relocation information to enable more
5837 peep-hole optimizations.
5838
5839 Optimized switch statements where all labels are constant small
5840 integers.
5841
5842 Optimized String.prototype.indexOf for common cases.
5843
5844 Fixed more build issues (issue 80).
5845
5846 Fixed a couple of profiler issues.
5847
5848 Fixed bug where the body of a function created using the Function
5849 constructor was not allowed to end with a single-line comment
5850 (issue 85).
5851
5852 Improved handling of object literals by canonicalizing object
5853 literal maps. This will allow JSON objects with the same set of
5854 properties to share the same map making inline caching work better
5855 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00005856
ager@chromium.org236ad962008-09-25 09:45:57 +00005857
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000058582008-09-17: Version 0.3.2
5859
5860 Generalized the EvalCache into a CompilationCache and enabled it
5861 for scripts too. The current strategy is to retire all entries
5862 whenever a mark-sweep collection is started.
5863
5864 Fixed bug where switch statements containing only a default case
5865 would lead to an unbalanced stack (issue 69).
5866
5867 Fixed bug that made access to the function in a named function
5868 expression impossible in certain situations (issue 24).
5869
5870 Fixed even more build issues.
5871
5872 Optimized calling conventions on ARM. The conventions on ARM and
5873 IA-32 now match.
5874
5875 Removed static initializers for flags and counters.
5876
5877 Improved inline caching behavior for uncommon cases where lazily
5878 loading Date and RegExp code could force certain code paths go
5879 megamorphic.
5880
5881 Removed arguments adaption for builtins written in C++. This
5882 makes Array.prototype.push and Array.prototype.pop slightly
5883 faster.
5884
5885
ager@chromium.org9258b6b2008-09-11 09:11:10 +000058862008-09-11: Version 0.3.1
5887
5888 Fixed a number of build issues.
5889
5890 Fixed problem with missing I-cache flusing on ARM.
5891
5892 Changed space layout in memory management by splitting up
5893 code space into old data space and code space.
5894
5895 Added utf-8 conversion support to the API (issue 57).
5896
5897 Optimized repeated calls to eval with the same strings. These
5898 repeated calls are common in web applications.
5899
5900 Added Xcode project file.
5901
5902 Optimized a couple of Array operation.
5903
5904 Fixed parser bug by checking for end-of-string when parsing break
5905 and continue (issue 35).
5906
5907 Fixed problem where asian characters were not categorized as
5908 letters.
5909
5910 Fixed bug that disallowed calling functions fetched from an array
5911 using a string as an array index (issue 32).
5912
5913 Fixed bug where the internal field count on object templates were
5914 sometimes ignored (issue 54).
5915
5916 Added -f option to the shell sample for compatibility with other
5917 engines (issue 18).
5918
5919 Added source info to TryCatches in the API.
5920
5921 Fixed problem where the seed for the random number generator was
5922 clipped in a double to unsigned int conversion.
5923
5924 Fixed bug where cons string symbols were sometimes converted to
5925 non-symbol flat strings during GC.
5926
5927 Fixed bug in error reporting when attempting to convert null to an
5928 object.
ager@chromium.org32912102009-01-16 10:38:43 +00005929
5930
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000059312008-09-04: Version 0.3.0
5932
5933 Added support for running tests on the ARM simulator.
5934
5935 Fixed bug in the 'in' operator where negative indices were not
5936 treated correctly.
5937
5938 Fixed build issues on gcc-4.3.1.
5939
5940 Changed Date.prototype.toLocaleTimeString to not print the
5941 timezone part of the time.
5942
5943 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
5944 with user code.
5945
5946
v8.team.kasperl727e9952008-09-02 14:56:44 +000059472008-09-02: Version 0.2.5
5948
5949 Renamed the top level directory 'public' to 'include'.
5950
5951 Added 'env' option to the SCons build scripts to support
5952 overriding the ENV part of the build environment. This is mostly
5953 to support Windows builds in cases where SCons cannot find the
5954 correct paths to the Windows SDK, as these paths cannot be passed
5955 through shell environment variables.
5956
5957 Enabled "Buffer Security Check" on for the Windows SCons build and
5958 added the linker option /OPT:ICF as an optimization.
5959
5960 Added the V8 benchmark suite to the repository.
5961
5962
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000059632008-09-01: Version 0.2.4
5964
5965 Included mjsunit JavaScript test suite and C++ unit tests.
5966
5967 Changed the shell sample to not print the result of executing a
5968 script provided on the command line.
5969
5970 Fixed issue when building samples on Windows using a shared V8
5971 library. Added visibility option on Linux build which makes the
5972 generated library 18% smaller.
5973
5974 Changed build system to accept multiple build modes in one build
5975 and generate separate objects, libraries and executables for each
5976 mode.
5977
5978 Removed deferred negation optimization (a * -b => -(a * b)) since
5979 this visibly changes operand conversion order.
5980
5981 Improved parsing performance by introducing stack guard in
5982 preparsing. Without a stack guard preparsing always bails out
5983 with stack overflow.
5984
5985 Changed shell sample to take flags directly from the command-line.
5986 Added API call that implements this.
5987
5988 Added load, quit and version functions to the shell sample so it's
5989 easier to run benchmarks and tests.
5990
5991 Fixed issue with building samples and cctests on 64-bit machines.
5992
5993 Fixed bug in the runtime system where the prototype chain was not
5994 always searched for a setter when setting a property that does not
5995 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00005996
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00005997
mads.s.agercbaa0602008-08-14 13:41:48 +000059982008-08-14: Version 0.2.3
5999
6000 Improved performance of garbage collection by moving the
6001 function that updates pointers during compacting collection
6002 into the updating visitor. This gives the compiler a better
6003 chance to inline and avoid a function call per (potential)
6004 pointer.
6005
6006 Extended the shell sample with a --runtime-flags option.
6007
6008 Added Visual Studio project files for the shell.cc and
6009 process.cc samples.
6010
6011
60122008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00006013
6014 Improved performance of garbage collection by changing the way
6015 we use the marking stack in the event of stack overflow during
6016 full garbage collection and by changing the way we mark roots.
6017
6018 Cleaned up ARM version by removing top of stack caching and by
6019 introducing push/pop elimination.
6020
6021 Cleaned up the way runtime functions are called to allow
6022 runtime calls with no arguments.
6023
6024 Changed Windows build options to make sure that exceptions are
6025 disabled and that optimization flags are enabled.
6026
6027 Added first version of Visual Studio project files.
6028
6029
mads.s.agercbaa0602008-08-14 13:41:48 +000060302008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00006031
6032 Improved performance of unary addition by avoiding runtime calls.
6033
6034 Fixed the handling of '>' and '<=' to use right-to-left conversion
6035 and left-to-right evaluation as specified by ECMA-262.
6036
6037 Fixed a branch elimination bug on the ARM platform where incorrect
6038 code was generated because of overly aggressive branch
6039 elimination.
6040
6041 Improved performance of code that repeatedly assigns the same
6042 function to the same property of different objects with the same
6043 map.
6044
6045 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
6046 no longer expects DEBUG to be defined.
6047
6048 Added platform-nullos.cc to serve as the basis for new platform
6049 implementations.
6050
mads.s.ager31e71382008-08-13 09:32:07 +00006051
mads.s.agercbaa0602008-08-14 13:41:48 +000060522008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00006053
6054 Changed all text files to have native svn:eol-style.
6055
6056 Added a few samples and support for building them. The samples
6057 include a simple shell that can be used to benchmark and test V8.
6058
6059 Changed V8::GetVersion to return the version as a string.
6060
6061 Added source for lazily loaded scripts to snapshots and made
6062 serialization non-destructive.
6063
6064 Improved ARM support by fixing the write barrier code to use
6065 aligned loads and stores and by removing premature locals
6066 optimization that relied on broken support for callee-saved
6067 registers (removed).
6068
6069 Refactored the code for marking live objects during garbage
6070 collection and the code for allocating objects in paged
6071 spaces. Introduced an abstraction for the map word of a heap-
6072 allocated object and changed the memory allocator to allocate
6073 executable memory only for spaces that may contain code objects.
6074
6075 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
6076 they can be used by debugging and logging modules. Added
6077 thread-safe message queues for dealing with debugger events.
6078
6079 Fixed the source code reported by toString for certain builtin
6080 empty functions and made sure that the prototype property of a
6081 function is enumerable.
6082
6083 Improved performance of converting values to condition flags in
6084 generated code.
6085
6086 Merged disassembler-{arch} files.
6087
6088
mads.s.agercbaa0602008-08-14 13:41:48 +000060892008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00006090
6091 Added support for storing JavaScript stack traces in a stack
6092 allocated buffer to make it visible in shallow core dumps.
6093 Controlled by the --preallocate-message-memory flag which is
6094 disabled by default.
6095
6096
mads.s.agercbaa0602008-08-14 13:41:48 +000060972008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00006098
6099 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
6100 map transitions would count as properties.
6101
6102 Allowed aliased eval invocations by treating them as evals in the
6103 global context. This may change in the future.
6104
6105 Added support for accessing the last entered context through the
6106 API and renamed Context::Current to Context::GetCurrent and
6107 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
6108
6109 Fixed bug in the debugger that would cause the debugger scripts to
6110 be recursively loaded and changed all disabling of interrupts to
6111 be block-structured.
6112
6113 Made snapshot data read-only to allow it to be more easily shared
6114 across multiple users of V8 when linked as a shared library.
6115
6116
mads.s.agercbaa0602008-08-14 13:41:48 +000061172008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00006118
6119 Fixed building on Mac OS X by recognizing i386 and friends as
6120 IA-32 platforms.
6121
6122 Added propagation of stack overflow exceptions that occur while
6123 compiling nested functions.
6124
6125 Improved debugger with support for recursive break points and
6126 handling of exceptions that occur in the debugger JavaScript code.
6127
6128 Renamed GetInternal to GetInternalField and SetInternal to
6129 SetInternalField in the API and moved InternalFieldCount and
6130 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
6131
6132
mads.s.agercbaa0602008-08-14 13:41:48 +000061332008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00006134
6135 Fixed bug in stack overflow check code for IA-32 targets where a
6136 non-tagged value in register eax was pushed to the stack.
6137
6138 Fixed potential quadratic behavior when converting strings to
6139 numbers.
6140
6141 Fixed bug where the return value from Object::SetProperty could
6142 end up being the property holder instead of the written value.
6143
6144 Improved debugger support by allowing nested break points and by
6145 dealing with stack-overflows when compiling functions before
6146 setting break points in them.
6147
6148
mads.s.agercbaa0602008-08-14 13:41:48 +000061492008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00006150
kasper.lundbd3ec4e2008-07-09 11:06:54 +00006151 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00006152
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00006153# Local Variables:
6154# mode:text
6155# End: