blob: b5663744d3aaee990bdd6b48eb75e99761100d1e [file] [log] [blame]
Ben Murdochbb769b22010-08-11 14:56:33 +010012010-08-09: Version 2.3.6
2
3 RegExp literals create a new object every time they are evaluated
4 (issue 704).
5
6 Object.seal and Object.freeze return the modified object (issue 809).
7
8 Fix building using GCC 4.4.4.
9
10
112010-08-04: Version 2.3.5
12
13 Added support for ES5 property names. Object initialisers and
14 dot-notation property access now allows keywords. Also allowed
15 non-identifiers after "get" or "set" in an object initialiser.
16
17 Randomize the addresses of allocated executable memory on Windows.
18
19
202010-08-02: Version 2.3.4
21
22 Fixed problems in implementation of ES5 function.prototype.bind.
23
24 Fixed error when using apply with arguments object on ARM (issue 784).
25
26 Added setting of global flags to debugger protocol.
27
28 Fixed an error affecting cached results of sin and cos (issue 792).
29
30 Removed memory leak from a boundary case where V8 is not initialized.
31
32 Fixed issue where debugger could set breakpoints outside the body
33 of a function.
34
35 Fixed issue in debugger when using both live edit and step in features.
36
37 Added Number-letter (Nl) category to Unicode tables. These characters
38 can now be used in identifiers.
39
40 Fixed an assert failure on X64 (issue 806).
41
42 Performance improvements on all platforms.
43
44
Kristian Monsen50ef84f2010-07-29 15:18:00 +0100452010-07-26: Version 2.3.3
46
47 Fixed error when building the d8 shell in a fresh checkout.
48
49 Implemented Function.prototype.bind (ES5 15.3.4.5).
50
51 Fixed an error in inlined stores on ia32.
52
53 Fixed an error when setting a breakpoint at the end of a function
54 that does not end with a newline character.
55
56 Performance improvements on all platforms.
57
58
592010-07-21: Version 2.3.2
60
61 Fixed compiler warnings when building with LLVM.
62
63 Fixed a bug with for-in applied to strings (issue 785).
64
65 Performance improvements on all platforms.
66
67
Ben Murdoch3bec4d22010-07-22 14:51:16 +0100682010-07-19: Version 2.3.1
69
70 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
71
72 Fixed bug related to code flushing while compiling a lazy
73 compilable function (issue http://crbug.com/49099).
74
75 Performance improvements on all platforms.
76
77
782010-07-15: Version 2.3.0
79
80 Added ES5 Object.seal and Object.isSealed.
81
82 Added debugger API for scheduling debugger commands from a
83 separate thread.
84
85
862010-07-14: Version 2.2.24
87
88 Added API for capturing stack traces for uncaught exceptions.
89
90 Fixed crash bug when preparsing from a non-external V8 string
91 (issue 775).
92
93 Fixed JSON.parse bug causing input not to be converted to string
94 (issue 764).
95
96 Added ES5 Object.freeze and Object.isFrozen.
97
98 Performance improvements on all platforms.
99
100
Leon Clarkeac952652010-07-15 11:15:24 +01001012010-07-07: Version 2.2.23
102
103 API change: Convert Unicode code points outside the basic multilingual
104 plane to the replacement character. Previous behavior was to silently
105 truncate the value to 16 bits.
106
107 Fixed crash: handle all flat string types in regexp replace.
108
109 Prevent invalid pre-parsing data passed in through the API from
110 crashing V8.
111
112 Performance improvements on all platforms.
113
Ben Murdoch3bec4d22010-07-22 14:51:16 +0100114
Steve Block8defd9f2010-07-08 12:39:36 +01001152010-07-05: Version 2.2.22
116
117 Added ES5 Object.isExtensible and Object.preventExtensions.
118
119 Enabled building V8 as a DLL.
120
121 Fixed a bug in date code where -0 was not interpreted as 0
122 (issue 736).
123
124 Performance improvements on all platforms.
125
126
1272010-06-30: Version 2.2.21
128
129 Fix bug in externalizing some ASCII strings (Chromium issue 47824).
130
131 Update JSON.stringify to floor the space parameter (issue 753).
132
133 Update the Mozilla test expectations to the newest version.
134
135 Update the ES5 Conformance Test expectations to the latest version.
136
137 Update the V8 benchmark suite.
138
139 Provide actual breakpoints locations in response to setBreakpoint
140 and listBreakpoints requests.
141
142
1432010-06-28: Version 2.2.20
144
145 Fix bug with for-in on x64 platform (issue 748).
146
147 Fix crash bug on x64 platform (issue 756).
148
149 Fix bug in Object.getOwnPropertyNames. (chromium issue 41243).
150
151 Fix a bug on ARM that caused the result of 1 << x to be
152 miscalculated for some inputs.
153
154 Performance improvements on all platforms.
155
156
Kristian Monsen9dcf7e22010-06-28 14:14:28 +01001572010-06-23: Version 2.2.19
158
159 Fix bug that causes the build to break when profillingsupport=off
160 (issue 738).
161
162 Added expose-externalize-string flag for testing extensions.
163
164 Resolve linker issues with using V8 as a DLL causing a number of
165 problems with unresolved symbols.
166
167 Fix build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
168 defined.
169
170 Performance improvements on all platforms.
171
172
1732010-06-16: Version 2.2.18
174
175 Added API functions to retrieve information on indexed properties
176 managed by the embedding layer. Fixes bug 737.
177
178 Make ES5 Object.defineProperty support array elements. Fixes bug 619.
179
180 Add heap profiling to the API.
181
182 Remove old named property query from the API.
183
184 Incremental performance improvements.
185
186
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +01001872010-06-14: Version 2.2.17
188
189 Improved debugger support for stepping out of functions.
190
191 Incremental performance improvements.
192
193
1942010-06-09: Version 2.2.16
195
Steve Block8defd9f2010-07-08 12:39:36 +0100196 Removed the SetExternalStringDiposeCallback API. Changed the
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +0100197 disposal of external string resources to call a virtual Dispose
198 method on the resource.
199
Steve Block8defd9f2010-07-08 12:39:36 +0100200 Added support for more precise break points when debugging and
Ben Murdoch7f4d5bd2010-06-15 11:15:29 +0100201 stepping.
202
203 Memory usage improvements on all platforms.
204
205
2062010-06-07: Version 2.2.15
207
208 Add an API to control the disposal of external string resources.
209
210 Add missing initialization of a couple of variables which makes
211 some compilers complaint when compiling with -Werror.
212
213 Improve performance on all platforms.
214
215
2162010-06-02: Version 2.2.14
217
218 Fixed a crash in code generated for String.charCodeAt.
219
220 Fixed a compilation issue with some GCC versions (issue 727).
221
222 Performance optimizations on x64 and ARM platforms.
223
224
2252010-05-31: Version 2.2.13
226
227 Implement Object.getOwnPropertyDescriptor for element indices and
228 strings (issue 599).
229
230 Fix bug for windows 64 bit C calls from generated code.
231
232 Add new scons flag unalignedaccesses for arm builds.
233
234 Performance improvements on all platforms.
235
236
Leon Clarkef7060e22010-06-03 12:02:55 +01002372010-05-26: Version 2.2.12
238
239 Allowed accessors to be defined on objects rather than just object
240 templates.
241
242 Changed the ScriptData API.
243
244
2452010-05-21: Version 2.2.11
246
247 Fix crash bug in liveedit on 64 bit.
248
249 Use 'full compiler' when debugging is active. This should increase
250 the density of possible break points, making single step more fine
251 grained. This will only take effect for functions compiled after
252 debugging has been started, so recompilation of all functions is
253 required to get the full effect. IA32 and x64 only for now.
254
255 Misc. fixes to the Solaris build.
256
257 Add new flags --print-cumulative-gc-stat and --trace-gc-nvp.
258
259 Add filtering of CPU profiles by security context.
260
261 Fix crash bug on ARM when running without VFP2 or VFP3.
262
263 Incremental performance improvements in all backends.
264
265
Kristian Monsen25f61362010-05-21 11:50:48 +01002662010-05-17: Version 2.2.10
267
268 Performance improvements in the x64 and ARM backends.
269
270
2712010-05-10: Version 2.2.9
272
273 Allow Object.create to be called with a function (issue 697).
274
275 Fixed bug with Date.parse returning a non-NaN value when called on a
276 non date string (issue 696).
277
278 Allow unaligned memory accesses on ARM targets that support it (by
Leon Clarkef7060e22010-06-03 12:02:55 +0100279 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
Kristian Monsen25f61362010-05-21 11:50:48 +0100280
281 C++ API for retrieving JavaScript stack trace information.
282
283
Steve Block6ded16b2010-05-10 14:33:55 +01002842010-05-05: Version 2.2.8
285
286 Performance improvements in the x64 and ARM backends.
287
288
2892010-05-03: Version 2.2.7
290
291 Added support for ES5 date time string format to Date.parse.
292
293 Performance improvements in the x64 backend.
294
295
2962010-04-28: Version 2.2.6
297
298 Added "amd64" as recognized architecture in scons build script
299 (by Ryan Dahl <coldredlemur@gmail.com>).
300
301 Fixed bug in String search and replace with very simple RegExps.
302
303 Fixed bug in RegExp containing "\b^".
304
305 Performance improvements on all platforms.
306
307
3082010-04-26: Version 2.2.5
309
310 Various performance improvements (especially for ARM and x64)
311
312 Fixed bug in CPU profiling (http://crbug.com/42137)
313
314 Fixed a bug with the natives cache.
315
316 Fixed two bugs in the ARM code generator that can cause
317 wrong calculations.
318
319 Fixed a bug that may cause a wrong result for shift operations.
320
321
3222010-04-21: Version 2.2.4
323
324 Fixed warnings on arm on newer GCC versions.
325
326 Fixed a number of minor bugs.
327
328 Performance improvements on all platforms.
329
330
3312010-04-14: Version 2.2.3
332
333 Added stack command and mem command to ARM simulator debugger.
334
335 Fixed scons snapshot and ARM build, and Windows X64 build issues.
336
337 Performance improvements on all platforms.
338
339
3402010-04-12: Version 2.2.2
341
342 Introduced new profiler API.
343
344 Fixed random number generator to produce full 32 random bits.
345
346
3472010-04-06: Version 2.2.1
348
349 Debugger improvements.
350
351 Fixed minor bugs.
352
353
3542010-03-29: Version 2.2.0
355
356 Fixed a few minor bugs.
357
358 Performance improvements for string operations.
359
360
3612010-03-26: Version 2.1.10
362
363 Fixed scons build issues.
364
365 Fixed a couple of minor bugs.
366
367
3682010-03-25: Version 2.1.9
369
370 Added API support for reattaching a global object to a context.
371
372 Extended debugger API with access to the internal debugger context.
373
374 Fixed Chromium crashes (issues http://crbug.com/39128 and
375 http://crbug.com/39160)
376
377
3782010-03-24: Version 2.1.8
379
380 Added fine-grained garbage collection callbacks to the API.
381
382 Performance improvements on all platforms.
383
384
3852010-03-22: Version 2.1.7
386
387 Fixed issue 650.
388
389 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
390
391 Performance improvements for arithmetic operations.
392
393 Performance improvements for string operations.
394
395 Print script name and line number information in stack trace.
396
397
3982010-03-17: Version 2.1.6
399
400 Performance improvements for arithmetic operations.
401
402 Performance improvements for string operations.
403
404
4052010-03-10: Version 2.1.4
406
407 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
408
409 Performance improvements on all platforms.
410
411
4122010-03-10: Version 2.1.3
413
414 Added API method for context-disposal notifications.
415
416 Added API method for accessing elements by integer index.
417
418 Added missing implementation of Uint32::Value and Value::IsUint32
419 API methods.
420
421 Added IsExecutionTerminating API method.
422
423 Disabled strict aliasing for GCC 4.4.
424
425 Fixed string-concatenation bug (issue 636).
426
427 Performance improvements on all platforms.
428
429
Andrei Popescu402d9372010-02-26 13:31:12 +00004302010-02-23: Version 2.1.2
431
432 Fix a crash bug caused by wrong assert.
433
434 Fix a bug with register names on 64-bit V8 (issue 615).
435
436 Performance improvements on all platforms.
437
Steve Block6ded16b2010-05-10 14:33:55 +0100438
Andrei Popescu402d9372010-02-26 13:31:12 +00004392010-02-19: Version 2.1.1
440
441 [ES5] Implemented Object.defineProperty.
442
443 Improved profiler support.
444
445 Added SetPrototype method in the public V8 API.
446
447 Added GetScriptOrigin and GetScriptLineNumber methods to Function
448 objects in the API.
449
450 Performance improvements on all platforms.
451
452
Leon Clarke4515c472010-02-03 11:58:03 +00004532010-02-03: Version 2.1.0
454
455 Values are now always wrapped in objects when used as a receiver.
456 (issue 223).
457
458 [ES5] Implemented Object.getOwnPropertyNames.
459
460 [ES5] Restrict JSON.parse to only accept strings that conforms to the
461 JSON grammar.
462
463 Improvement of debugger agent (issue 549 and 554).
464
465 Fixed problem with skipped stack frame in profiles (issue 553).
466
467 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
468 <ry@tinyclouds.org>.
469
470 Fix a bug that Math.round() returns incorrect results for huge
471 integers.
472
473 Fix enumeration order for objects created from some constructor
474 functions (isue http://crbug.com/3867).
475
476 Fix arithmetic on some integer constants (issue 580).
477
478 Numerous performance improvements including porting of previous IA-32
479 optimizations to x64 and ARM architectures.
480
481
Leon Clarkee46be812010-01-19 14:06:41 +00004822010-01-14: Version 2.0.6
483
484 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
485 GetOwnProperty, FromPropertyDescriptor.
486
487 Fixed Mac x64 build errors.
488
489 Improved performance of some math and string operations.
490
491 Improved performance of some regexp operations.
492
493 Improved performance of context creation.
494
495 Improved performance of hash tables.
496
497
4982009-12-18: Version 2.0.5
499
500 Extended to upper limit of map space to allow for 7 times as many map
501 to be allocated (issue 524).
502
503 Improved performance of code using closures.
504
505 Improved performance of some binary operations involving doubles.
506
507
5082009-12-16: Version 2.0.4
509
510 Added ECMAScript 5 Object.create.
511
512 Improved performance of Math.max and Math.min.
513
514 Optimized adding of strings on 64-bit platforms.
515
516 Improved handling of external strings by using a separate table
517 instead of weak handles. This improves garbage collection
518 performance and uses less memory.
519
520 Changed code generation for object and array literals in toplevel
521 code to be more compact by doing more work in the runtime.
522
523 Fixed a crash bug triggered when garbage collection happened during
524 generation of a callback load inline cache stub.
525
526 Fixed crash bug sometimes triggered when local variables shadowed
527 parameters in functions that used the arguments object.
528
529
Steve Blockd0582a62009-12-15 09:54:21 +00005302009-12-03: Version 2.0.3
531
532 Optimized handling and adding of strings, for-in and Array.join.
533
534 Heap serialization is now non-destructive.
535
536 Improved profiler support with information on time spend in C++
537 callbacks registered through the API.
538
539 Added commands to the debugger protocol for starting/stopping
540 profiling.
541
542 Enabled the non-optimizing compiler for top-level code.
543
544 Changed the API to only allow strings to be set as data objects on
545 Contexts and scripts to avoid potentially keeping global objects
546 around for too long (issue 528).
547
548 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
549
550 Fixed bugs.
551
552
5532009-11-24: Version 2.0.2
554
555 Improved profiler support.
556
557 Fixed bug that broke compilation of d8 with readline support.
558
559
5602009-11-20: Version 2.0.1
561
562 Fixed crash bug in String.prototype.replace.
563
564 Reverted a change which caused Chromium interactive ui test
565 failures.
566
Leon Clarkee46be812010-01-19 14:06:41 +0000567
Steve Blockd0582a62009-12-15 09:54:21 +00005682009-11-18: Version 2.0.0
569
570 Added support for VFP on ARM.
571
572 Added TryCatch::ReThrow method to the API.
573
574 Reduced the size of snapshots and improved the snapshot load time.
575
576 Improved heap profiler support.
577
578 64-bit version now supported on Windows.
579
580 Fixed a number of debugger issues.
581
582 Fixed bugs.
583
584
5852009-10-29: Version 1.3.18
586
587 Reverted a change which caused crashes in RegExp replace.
588
589 Reverted a change which caused Chromium ui_tests failure.
590
591
5922009-10-28: Version 1.3.17
593
594 Added API method to get simple heap statistics.
595
596 Improved heap profiler support.
597
598 Fixed the implementation of the resource constraint API so it
599 works when using snapshots.
600
601 Fixed a number of issues in the Windows 64-bit version.
602
603 Optimized calls to API getters.
604
605 Added valgrind notification on code modification to the 64-bit version.
606
607 Fixed issue where we logged shared library addresses on Windows at
608 startup and never used them.
609
610
Steve Block3ce2e202009-11-05 08:53:23 +00006112009-10-16: Version 1.3.16
Leon Clarkee46be812010-01-19 14:06:41 +0000612
Steve Block3ce2e202009-11-05 08:53:23 +0000613 X64: Convert smis to holding 32 bits of payload.
614
615 Introduce v8::Integer::NewFromUnsigned method.
616
617 Add missing null check in Context::GetCurrent.
618
619 Add trim, trimLeft and trimRight methods to String
620 Patch by Jan de Mooij <jandemooij@gmail.com>
621
622 Implement ES5 Array.isArray
623 Patch by Jan de Mooij <jandemooij@gmail.com>
624
625 Skip access checks for hidden properties.
626
627 Add String::Concat(Handle<String> left, Handle<String> right) to the V8 API.
628
629 Fix GYP-based builds of V8.
630
631
6322009-10-07: Version 1.3.15
633
634 Expand the maximum size of the code space to 512MB for 64-bit mode.
635
636 Fixed a crash bug happening when starting profiling (issue
637 http://crbug.com/23768).
638
639
6402009-10-07: Version 1.3.14
641
642 Added GetRealNamedProperty to the API to lookup real properties
643 located on the object or in the prototype chain skipping any
644 interceptors.
645
646 Fix the stack limits setting API to work correctly with threads. The
647 stack limit now needs to be set to each thread thich is used with V8.
648
649 Remove the high-priority flag from IdleNotification()
650
651 Ensure V8 is initialized before locking and unlocking threads.
652
653 Implemented a new JavaScript minifier for compressing the source of
Steve Blockd0582a62009-12-15 09:54:21 +0000654 the built-in JavaScript. This removes non-Open Source code from Douglas
Steve Block3ce2e202009-11-05 08:53:23 +0000655 Crockford from the project.
656
657 Added a missing optimization in StringCharAt.
658
659 Fixed some flaky socket tests.
660
661 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
662 in 64-bit mode.
663
664 Fixed memory leaks in the thread management code.
665
666 Fixed the result of assignment to a pixel array. The assigned value
667 is now the result.
668
669 Error reporting for invalid left-hand sides in for-in statements, pre-
670 and postfix count expressions, and assignments now matches the JSC
671 behavior in Safari 4.
672
673 Follow the spec in disallowing function declarations without a name.
674
675 Always allocate code objects within a 2 GB range. On x64 architecture
676 this is used to use near calls (32-bit displacement) in Code objects.
677
678 Optimized array construction ported to x64 and ARM architectures.
679
680 [ES5] Changed Object.keys to return strings for element indices.
681
682
Steve Blocka7e24c12009-10-30 11:49:00 +00006832009-09-23: Version 1.3.13
684
685 Fixed uninitialized memory problem.
686
687 Improved heap profiler support.
688
689
6902009-09-22: Version 1.3.12
691
692 Changed behavior of |function|.toString() on built-in functions to
693 be compatible with other implementations. Patch by Jan de Mooij.
694
695 Added Object::IsDirty in the API.
696
697 Optimized array construction; it is now handled purely in native
698 code.
699
700 [ES5] Made properties of the arguments array enumerable.
701
702 [ES5] Added test suite adapter for the es5conform test suite.
703
704 [ES5] Added Object.keys function.
705
706
7072009-09-15: Version 1.3.11
708
709 Fixed crash in error reporting during bootstrapping.
710
711 Optimized generated IA32 math code by using SSE2 instructions when
712 available.
713
714 Implemented missing pieces of debugger infrastructure on ARM. The
715 debugger is now fully functional on ARM.
716
717 Make 'hidden' the default visibility for gcc.
718
719
7202009-09-09: Version 1.3.10
721
722 Fixed profiler on Mac in 64-bit mode.
723
724 Optimized creation of objects from simple constructor functions on
725 ARM.
726
727 Fixed a number of debugger issues.
728
729 Reduced the amount of memory consumed by V8.
730
731
7322009-09-02: Version 1.3.9
733
734 Optimized stack guard checks on ARM.
735
736 Optimized API operations by inlining more in the API.
737
738 Optimized creation of objects from simple constructor functions.
739
740 Enabled a number of missing optimizations in the 64-bit port.
741
742 Implemented native-code support for regular expressions on ARM.
743
744 Stopped using the 'sahf' instruction on 64-bit machines that do
745 not support it.
746
747 Fixed a bug in the support for forceful termination of JavaScript
748 execution.
749
750
7512009-08-26: Version 1.3.8
752
753 Changed the handling of idle notifications to allow idle
754 notifications when V8 has not yet been initialized.
755
756 Fixed ARM simulator compilation problem on Windows.
Leon Clarkee46be812010-01-19 14:06:41 +0000757
Steve Blocka7e24c12009-10-30 11:49:00 +0000758
7592009-08-25: Version 1.3.7
760
761 Reduced the size of generated code on ARM platforms by reducing
762 the size of constant pools.
763
764 Changed build files to not include the 'ENV' user environment
765 variable in the build environment.
766
767 Changed the handling of idle notifications.
768
769
7702009-08-21: Version 1.3.6
771
772 Add support for forceful termination of JavaScript execution.
773
774 Add low memory notification to the API. The embedding host can signal
775 a low memory situation to V8.
776
777 Changed the handling of global handles (persistent handles in the API
778 sense) to avoid issues regarding allocation of new global handles
779 during weak handle callbacks.
780
781 Changed the growth policy of the young space.
782
783 Fixed a GC issue introduced in version 1.3.5.
784
785
7862009-08-19: Version 1.3.5
787
788 Optimize initialization of some arrays in the builtins.
789
790 Fix mac-nm script to support filenames with spaces.
791
792 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
793
794 Changed typeof RegExp from 'object' to 'function' for compatibility.
795 Fixed bug where regexps were not callable across contexts.
796
797 Added context independent script compilation to the API.
798
799 Added API call to get the stack trace for an exception.
800
801 Added API for getting object mirrors.
802
803 Make sure that SSE3 instructions are used whenever possible even when
804 running off a snapshot generated without using SSE3 instructions.
805
806 Tweaked the handling of the initial size and growth policy of the heap.
807
808 Added native code generation for RegExp to 64-bit version.
809
810 Added JavaScript debugger support to 64-bit version.
811
812
8132009-08-13: Version 1.3.4
814
815 Added a readline() command to the d8 shell.
816
817 Fixed bug in json parsing.
818
819 Added idle notification to the API and reduced memory on idle
820 notifications.
821
822
8232009-08-12: Version 1.3.3
824
825 Fix issue 417: incorrect %t placeholder expansion.
826
827 Add .gitignore file similar to Chromium's one.
828
829 Fix SConstruct file to build with new logging code for Android.
830
831 API: added function to find instance of template in prototype
832 chain. Inlined Object::IsInstanceOf.
833
834 Land change to notify valgrind when we modify code on x86.
835
836 Add api call to determine whether a string can be externalized.
837
838 Add a write() command to d8.
839
840
8412009-08-05: Version 1.3.2
842
843 Started new compiler infrastructure for two-pass compilation using a
844 control flow graph constructed from the AST.
845
846 Profiler stack sampling for X64.
847
848 Safe handling of NaN to Posix platform-dependent time functions.
849
850 Added a new profiler control API to unify controlling various aspects
851 of profiling.
852
853 Fixed issue 392.
854
855
8562009-07-30: Version 1.3.1
857
858 Speed improvements to accessors and interceptors.
859
860 Added support for capturing stack information on custom errors.
861
862 Added support for morphing an object into a pixel array where its
863 indexed properties are stored in an external byte array. Values written
864 are always clamped to the 0..255 interval.
865
866 Profiler on x64 now handles C/C++ functions from shared libraries.
867
868 Changed the debugger to avoid stepping into function.call/apply if the
869 function is a built-in.
870
871 Initial implementation of constructor heap profile for JS objects.
Leon Clarkee46be812010-01-19 14:06:41 +0000872
Steve Blocka7e24c12009-10-30 11:49:00 +0000873 More fine grained control of profiling aspects through the API.
Leon Clarkee46be812010-01-19 14:06:41 +0000874
Steve Blocka7e24c12009-10-30 11:49:00 +0000875 Optimized the called as constructor check for API calls.
876
877
8782009-07-27: Version 1.3.0
879
880 Allowed RegExp objects to be called as functions (issue 132).
881
882 Fixed issue where global property cells would escape after
883 detaching the global object; see http://crbug.com/16276.
884
885 Added support for stepping into setters and getters in the
886 debugger.
887
888 Changed the debugger to avoid stopping in its own JavaScript code
889 and in the code of built-in functions.
890
891 Fixed issue 345 by avoiding duplicate escaping labels.
892
893 Fixed ARM code generator crash in short-circuited boolean
894 expressions and added regression tests.
895
896 Added an external allocation limit to avoid issues where small V8
897 objects would hold on to large amounts of external memory without
898 causing garbage collections.
Leon Clarkee46be812010-01-19 14:06:41 +0000899
900 Finished more of the inline caching stubs for x64 targets.
Steve Blocka7e24c12009-10-30 11:49:00 +0000901
902
9032009-07-13: Version 1.2.14
904
905 Added separate paged heap space for global property cells and
906 avoid updating the write barrier when storing into them.
907
908 Improved peep-hole optimization on ARM platforms by not emitting
909 unnecessary debug information.
910
911 Re-enabled ICs for loads and calls that skip a global object
912 during lookup through the prototype chain.
913
914 Allowed access through global proxies to use ICs.
915
916 Fixed issue 401.
917
918
9192009-07-09: Version 1.2.13
920
921 Fixed issue 397, issue 398, and issue 399.
922
923 Added support for breakpoint groups.
924
925 Fixed bugs introduced with the new global object representation.
926
927 Fixed a few bugs in the ARM code generator.
928
929
9302009-07-06: Version 1.2.12
931
932 Added stack traces collection to Error objects accessible through
933 the e.stack property.
934
935 Changed RegExp parser to use a recursive data structure instead of
936 stack-based recursion.
937
938 Optimized Date object construction and string concatenation.
939
940 Improved performance of div, mod, and mul on ARM platforms.
941
942
9432009-07-02: Version 1.2.11
944
945 Improved performance on IA-32 and ARM.
946
947 Fixed profiler sampler implementation on Mac OS X.
948
949 Changed the representation of global objects to improve
950 performance of adding a lot of new properties.
951
952
9532009-06-29: Version 1.2.10
954
955 Improved debugger support.
956
957 Fixed bug in exception message reporting (issue 390).
958
959 Improved overall performance.
960
961
9622009-06-23: Version 1.2.9
963
964 Improved math performance on ARM.
965
966 Fixed profiler name-inference bug.
967
968 Fixed handling of shared libraries in the profiler tick processor
969 scripts.
970
971 Fixed handling of tests that time out in the test scripts.
972
973 Fixed compilation on MacOS X version 10.4.
974
975 Fixed two bugs in the regular expression engine.
976
977 Fixed a bug in the string type inference.
978
979 Fixed a bug in the handling of 'constant function' properties.
Leon Clarkee46be812010-01-19 14:06:41 +0000980
Steve Blocka7e24c12009-10-30 11:49:00 +0000981 Improved overall performance.
Leon Clarkee46be812010-01-19 14:06:41 +0000982
Steve Blocka7e24c12009-10-30 11:49:00 +0000983
9842009-06-16: Version 1.2.8
985
986 Optimized math on ARM platforms.
987
988 Fixed two crash bugs in the handling of getters and setters.
989
990 Improved the debugger support by adding scope chain information.
991
992 Improved the profiler support by compressing log data transmitted
993 to clients.
994
995 Improved overall performance.
996
997
9982009-06-08: Version 1.2.7
999
1000 Improved debugger and profiler support.
1001
1002 Reduced compilation time by improving the handling of deferred
1003 code.
1004
1005 Optimized interceptor accesses where the property is on the object
1006 on which the interceptors is attached.
1007
1008 Fixed compilation problem on GCC 4.4 by changing the stack
1009 alignment to 16 bytes.
1010
1011 Fixed handle creation to follow stric aliasing rules.
1012
1013 Fixed compilation on FreeBSD.
1014
1015 Introduced API for forcing the deletion of a property ignoring
1016 interceptors and attributes.
1017
1018
10192009-05-29: Version 1.2.6
1020
1021 Added a histogram recording hit rates at different levels of the
1022 compilation cache.
1023
1024 Added stack overflow check for the RegExp analysis phase. Previously a
1025 very long regexp graph could overflow the stack with recursive calls.
1026
1027 Use a dynamic buffer when collecting log events in memory.
1028
1029 Added start/stop events to the profiler log.
1030
1031 Fixed infinite loop which could happen when setting a debug break while
1032 executing a RegExp compiled to native code.
1033
1034 Fixed handling of lastIndexOf called with negative index (issue 351).
1035
1036 Fixed irregular crash in profiler test (issue 358).
1037
1038 Fixed compilation issues with some versions of gcc.
1039
1040
10412009-05-26: Version 1.2.5
1042
1043 Fixed bug in initial boundary check for Boyer-Moore text
1044 search (issue 349).
1045
1046 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1047 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1048 Craig Schlenter.
1049
1050 Added a script cache to the debugger.
1051
1052 Optimized compilation performance by improving internal data
1053 structures and avoiding expensive property load optimizations for
1054 code that's infrequently executed.
1055
1056 Exposed the calling JavaScript context through the static API
1057 function Context::GetCalling().
1058
1059
10602009-05-18: Version 1.2.4
1061
1062 Improved performance of floating point number allocation for ARM
1063 platforms.
1064
1065 Fixed crash when using the instanceof operator on functions with
1066 number values in their prototype chain (issue 341).
1067
1068 Optimized virtual frame operations in the code generator to speed
1069 up compilation time and allocated the frames in the zone.
1070
1071 Made the representation of virtual frames and jump targets in the
1072 code generator much more compact.
1073
1074 Avoided linear search for non-locals in scope code when resolving
1075 variables inside with and eval scopes.
1076
1077 Optimized lexical scanner by dealing with whitespace as part of
1078 the token scanning instead of as a separate step before it.
1079
1080 Changed the scavenging collector so that promoted objects do not
1081 reside in the old generation while their remembered set is being
1082 swept for pointers into the young generation.
1083
1084 Fixed numeric overflow handling when compiling count operations.
1085
1086
10872009-05-11: Version 1.2.3
1088
1089 Fixed bug in reporting of out-of-memory situations.
1090
1091 Introduced hidden prototypes on certain builtin prototype objects
1092 such as String.prototype to emulate JSC's behavior of restoring
1093 the original function when deleting functions from those prototype
1094 objects.
1095
1096 Fixed crash bug in the register allocator.
1097
1098
10992009-05-04: Version 1.2.2
1100
1101 Fixed bug in array sorting for sparse arrays (issue 326).
1102
1103 Added support for adding a soname when building a shared library
1104 on Linux (issue 151).
1105
1106 Fixed bug caused by morphing internal ASCII strings to external
1107 two-byte strings. Slices over ASCII strings have to forward ASCII
1108 checks to the underlying buffer string.
1109
1110 Allowed API call-as-function handlers to be called as
1111 constructors.
1112
1113 Fixed a crash bug where an external string was disposed but a
1114 slice of the external string survived as a symbol.
1115
1116
11172009-04-27: Version 1.2.1
1118
1119 Added EcmaScript 5 JSON object.
1120
1121 Fix bug in preemption support on ARM.
1122
1123
11242009-04-23: Version 1.2.0
1125
1126 Optimized floating-point operations on ARM.
1127
1128 Added a number of extensions to the debugger API.
1129
1130 Changed the enumeration order for unsigned integer keys to always
1131 be numerical order.
1132
1133 Added a "read" extension to the shell sample.
1134
1135 Added support for Array.prototype.reduce and
1136 Array.prototype.reduceRight.
1137
1138 Added an option to the SCons build to control Microsoft Visual C++
1139 link-time code generation.
1140
1141 Fixed a number of bugs (in particular issue 315, issue 316,
1142 issue 317 and issue 318).
1143
1144
11452009-04-15: Version 1.1.10
1146
1147 Fixed crash bug that occurred when loading a const variable in the
1148 presence of eval.
1149
1150 Allowed using with and eval in registered extensions in debug mode
1151 by fixing bogus assert.
1152
1153 Fixed the source position for function returns to enable the
1154 debugger to break there.
1155
1156
11572009-04-14: Version 1.1.9
1158
1159 Made the stack traversal code in the profiler robust by avoiding
1160 to look into the heap.
1161
1162 Added name inferencing for anonymous functions to facilitate
1163 debugging and profiling.
1164
1165 Re-enabled stats timers in the developer shell (d8).
1166
1167 Fixed issue 303 by avoiding to shortcut cons-symbols.
1168
1169
11702009-04-11: Version 1.1.8
1171
1172 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1173
1174 Fixed step-in handling for Function.prototype.apply and call in
1175 the debugger (issue 269).
1176
1177 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1178 are no hidden properties.
1179
1180 Added workaround for crash bug, where external symbol table
1181 entries with deleted resources would lead to NPEs when looking
1182 up in the symbol table.
1183
1184
11852009-04-07: Version 1.1.7
1186
1187 Added support for easily importing additional environment
1188 variables into the SCons build.
1189
1190 Optimized strict equality checks.
1191
1192 Fixed crash in indexed setters on objects without a corresponding
1193 getter (issue 298).
1194
1195 Re-enabled script compilation cache.
1196
1197
11982009-04-01: Version 1.1.6
1199
1200 Reverted an unsafe code generator change.
1201
1202
12032009-04-01: Version 1.1.5
1204
1205 Fixed bug that caused function literals to not be optimized as
1206 much as other functions.
1207
1208 Improved profiler support.
1209
1210 Fixed a crash bug in connection with debugger unloading.
1211
1212 Fixed a crash bug in the code generator caused by losing the
1213 information that a frame element was copied.
1214
1215 Fixed an exception propagation bug that could cause non-null
1216 return values when exceptions were thrown.
1217
1218
12192009-03-30: Version 1.1.4
1220
1221 Optimized String.prototype.match.
1222
1223 Improved the stack information in profiles.
1224
1225 Fixed bug in ARM port making it possible to compile the runtime
1226 system for thumb mode again.
1227
1228 Implemented a number of optimizations in the code generator.
1229
1230 Fixed a number of memory leaks in tests.
1231
1232 Fixed crash bug in connection with script source code and external
1233 strings.
1234
1235
12362009-03-24: Version 1.1.3
1237
1238 Fixed assertion failures in compilation of loop conditions.
1239
1240 Removed STL dependency from developer shell (d8).
1241
1242 Added infrastructure for protecting the V8 heap from corruption
1243 caused by memory modifications from the outside.
1244
1245
12462009-03-24: Version 1.1.2
1247
1248 Improved frame merge code generated by the code generator.
1249
1250 Optimized String.prototype.replace.
1251
1252 Implemented __defineGetter__ and __defineSetter__ for properties
1253 with integer keys on non-array objects.
1254
1255 Improved debugger and profiler support.
1256
1257 Fixed a number of portability issues to allow compilation for
1258 smaller ARM devices.
1259
1260 Exposed object cloning through the API.
1261
1262 Implemented hidden properties. This is used to expose an identity
1263 hash for objects through the API.
1264
1265 Implemented restarting of regular expressions if their input
1266 string changes representation during preemption.
1267
1268 Fixed a code generator bug that could cause assignments in loops
1269 to be ignored if using continue to break out of the loop (issue
1270 284).
1271
1272
12732009-03-12: Version 1.1.1
1274
1275 Fixed an assertion in the new compiler to take stack overflow
1276 exceptions into account.
1277
1278 Removed exception propagation code that could cause crashes.
1279
1280 Fixed minor bug in debugger line number computations.
1281
1282 8-byte align the C stack on Linux and Windows to speed up floating
1283 point computations.
1284
1285
12862009-03-12: Version 1.1.0
1287
1288 Improved code generation infrastructure by doing simple register
1289 allocation and constant folding and propagation.
1290
1291 Optimized regular expression matching by avoiding to create
1292 intermediate string arrays and by flattening nested array
1293 representations of RegExp data.
1294
1295 Traverse a few stack frames when recording profiler samples to
1296 include partial call graphs in the profiling output.
1297
1298 Added support for using OProfile to profile generated code.
1299
1300 Added remote debugging support to the D8 developer shell.
1301
1302 Optimized creation of nested literals like JSON objects.
1303
1304 Fixed a bug in garbage collecting unused maps and turned it on by
1305 default (--collect-maps).
1306
1307 Added support for running tests under Valgrind.
1308
1309
13102009-02-27: Version 1.0.3
1311
1312 Optimized double-to-integer conversions in bit operations by using
1313 SSE3 instructions if available.
1314
1315 Optimized initialization sequences that store to multiple
1316 properties of the same object.
1317
1318 Changed the D8 debugger frontend to use JSON messages.
1319
1320 Force garbage collections when disposing contexts.
1321
1322 Align code objects at 32-byte boundaries.
1323
1324
13252009-02-25: Version 1.0.2
1326
1327 Improved profiling support by performing simple call stack
1328 sampling for ticks and by fixing a bug in the logging of code
1329 addresses.
1330
1331 Fixed a number of debugger issues.
1332
1333 Optimized code that uses eval.
1334
1335 Fixed a couple of bugs in the regular expression engine.
1336
1337 Reduced the size of generated code for certain regular expressions.
1338
1339 Removed JSCRE completely.
1340
1341 Fixed issue where test could not be run if there was a dot in the
1342 checkout path.
1343
1344
13452009-02-13: Version 1.0.1
1346
1347 Fixed two crash-bugs in irregexp (issue 231 and 233).
1348
1349 Fixed a number of minor bugs (issue 87, 227 and 228).
1350
1351 Added support for morphing strings to external strings on demand
1352 to avoid having to create copies in the embedding code.
1353
1354 Removed experimental support for external symbol callbacks.
1355
1356
13572009-02-09: Version 1.0.0
1358
1359 Fixed crash-bug in the code generation for case independent 16 bit
1360 backreferences.
1361
1362 Made shells more robust in the presence of string conversion
1363 failures (issue 224).
1364
1365 Fixed a potential infinite loop when attempting to resolve
1366 eval (issue 221).
1367
1368 Miscellaneous fixes to the new regular expression engine.
1369
1370 Reduced binary by stripping unneeded text from JavaScript library and
1371 minifying some JavaScript files.
1372
1373
13742009-01-27: Version 0.4.9
1375
1376 Enabled new regular expression engine.
1377
1378 Made a number of changes to the debugger protocol.
1379
1380 Fixed a number of bugs in the preemption support.
1381
1382 Added -p option to the developer shell to run files in parallel
1383 using preemption.
1384
1385 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1386 193, 198 and 201).
1387
1388 Fixed a number of bugs in the serialization/deserialization
1389 support for the ARM platform.
1390
1391
13922009-01-19: Version 0.4.8.1
1393
1394 Minor patch to debugger support.
1395
1396
13972009-01-16: Version 0.4.8
1398
1399 Fixed string length bug on ARM (issue 171).
1400
1401 Made most methods in the API const.
1402
1403 Optimized object literals by improving data locality.
1404
1405 Fixed bug that caused incomplete functions to be cached in case of
1406 stack overflow exceptions.
1407
1408 Fixed bugs that caused catch variables and variables introduced by
1409 eval to behave incorrectly when using accessors (issues 186, 190
1410 and 191).
1411
1412
14132009-01-06: Version 0.4.7
1414
1415 Minor bugfixes and optimizations.
1416
1417 Added command line debugger to D8 shell.
1418
1419 Fixed subtle bug that caused the wrong 'this' to be used when
1420 calling a caught function in a catch clause.
1421
1422 Inline array loads within loops directly in the code instead of
1423 always calling a stub.
1424
1425
14262008-12-11: Version 0.4.6
1427
1428 Fixed exception reporting bug where certain exceptions were
1429 incorrectly reported as uncaught.
1430
1431 Improved the memory allocation strategy used during compilation to
1432 make running out of memory when compiling huge scripts less
1433 likely.
1434
1435 Optimized String.replace by avoiding the construction of certain
1436 sub strings.
1437
1438 Fixed bug in code generation for large switch statements on ARM.
1439
1440 Fixed bug that caused V8 to change the global object template
1441 passed in by the user.
1442
1443 Changed the API for creating object groups used during garbage
1444 collection. Entire object groups are now passed to V8 instead of
1445 individual members of the groups.
1446
1447
14482008-12-03: Version 0.4.5
1449
1450 Added experimental API support for allocating V8 symbols as
1451 external strings.
1452
1453 Fixed bugs in debugging support on ARM.
1454
1455 Changed eval implementation to correctly detect whether or not a
1456 call to eval is aliased.
1457
1458 Fixed bug caused by a combination of the compilation cache and
1459 dictionary probing in native code. The bug caused us to sometimes
1460 call functions that had not yet been compiled.
1461
1462 Added platform support for FreeBSD.
1463
1464 Added support for building V8 on Windows with either the shared or
1465 static version of MSVCRT
1466
1467 Added the v8::jscre namespace around the jscre functions to avoid
1468 link errors (duplicate symbols) when building Google Chrome.
1469
1470 Added support for calling a JavaScript function with the current
1471 debugger execution context as its argument to the debugger
1472 interface.
1473
1474 Changed the type of names of counters from wchar_t to char.
1475
1476 Changed the Windows system call used to compute daylight savings
1477 time. The system call that we used to use became four times
1478 slower on WinXP SP3.
1479
1480 Added support in the d8 developer shell for memory-mapped counters
1481 and added a stats-viewer tool.
1482
1483 Fixed bug in upper/lower case mappings (issue 149).
1484
1485
14862008-11-17: Version 0.4.4
1487
1488 Reduced code size by using shorter instruction encoding when
1489 possible.
1490
1491 Added a --help option to the shell sample and to the d8 shell.
1492
1493 Added visual studio project files for building the ARM simulator.
1494
1495 Fixed a number of ARM simulator issues.
1496
1497 Fixed bug in out-of-memory handling on ARM.
1498
1499 Implemented shell support for passing arguments to a script from
1500 the command line.
1501
1502 Fixed bug in date code that made certain date functions return -0
1503 instead of 0 for dates before the epoch.
1504
1505 Restricted applications of eval so it can only be used in the
1506 context of the associated global object.
1507
1508 Treat byte-order marks as whitespace characters.
1509
1510
15112008-11-04: Version 0.4.3
1512
1513 Added support for API accessors that prohibit overwriting by
1514 accessors defined in JavaScript code by using __defineGetter__ and
1515 __defineSetter__.
1516
1517 Improved handling of conditionals in test status files.
1518
1519 Introduced access control in propertyIsEnumerable.
1520
1521 Improved performance of some string operations by caching
1522 information about the type of the string between operations.
1523
1524 Fixed bug in fast-case code for switch statements that only have
1525 integer labels.
1526
1527
15282008-10-30: Version 0.4.2
1529
1530 Improved performance of Array.prototype.concat by moving the
1531 implementation to C++ (issue 123).
1532
1533 Fixed heap growth policy to avoid growing old space to its maximum
1534 capacity before doing a garbage collection and fixed issue that
1535 would lead to artificial out of memory situations (issue 129).
1536
1537 Fixed Date.prototype.toLocaleDateString to return the date in the
1538 same format as WebKit.
1539
1540 Added missing initialization checks to debugger API.
1541
1542 Added removing of unused maps during GC.
1543
1544
15452008-10-28: Version 0.4.1
1546
1547 Added caching of RegExp data in compilation cache.
1548
1549 Added Visual Studio project file for d8 shell.
1550
1551 Fixed function call performance regression introduced in version
1552 0.4.0 when splitting the global object in two parts (issue 120).
1553
1554 Fixed issue 131 by checking for empty handles before throwing and
1555 reporting exceptions.
1556
1557
15582008-10-23: Version 0.4.0
1559
1560 Split the global object into two parts: The state holding global
1561 object and the global object proxy.
1562
1563 Fixed bug that affected the value of an assignment to an element
1564 in certain cases (issue 116).
1565
1566 Added GetPropertyNames functionality (issue 33) and extra Date
1567 functions (issue 77) to the API.
1568
1569 Changed WeakReferenceCallback to take a Persistent<Value> instead
1570 of a Persistent<Object> (issue 101).
1571
1572 Fixed issues with message reporting for exceptions in try-finally
1573 blocks (issues 73 and 75).
1574
1575 Optimized flattening of strings and string equality checking.
1576
1577 Improved Boyer-Moore implementation for faster indexOf operations.
1578
1579 Added development shell (d8) which includes counters and
1580 completion support.
1581
1582 Fixed problem with the receiver passed to functions called from
1583 eval (issue 124).
1584
1585
15862008-10-16: Version 0.3.5
1587
1588 Improved string hash-code distribution by excluding bit-field bits
1589 from the hash-code.
1590
1591 Changed string search algorithm used in indexOf from KMP to
1592 Boyer-Moore.
1593
1594 Improved the generated code for the instanceof operator.
1595
1596 Improved performance of slow-case string equality checks by
1597 specializing the code based on the string representation.
1598
1599 Improve the handling of out-of-memory situations (issue 70).
1600
1601 Improved performance of strict equality checks.
1602
1603 Improved profiler output to make it easier to see anonymous
1604 functions.
1605
1606 Improved performance of slow-case keyed loads.
1607
1608 Improved property access performance by allocating a number of
1609 properties in the front object.
1610
1611 Changed the toString behavior on the built-in object constructors
1612 to print [native code] instead of the actual source. Some web
1613 applications do not like constructors with complex toString
1614 results.
1615
1616
16172008-10-06: Version 0.3.4
1618
1619 Changed Array.prototype.sort to use quick sort.
1620
1621 Fixed code generation issue where leaving a finally block with
1622 break or continue would accumulate elements on the expression
1623 stack (issue 86).
1624
1625 Made sure that the name accessor on functions returns the expected
1626 names for builtin JavaScript functions and C++ callback functions.
1627
1628 Added fast case code for extending the property storage array of
1629 JavaScript objects.
1630
1631 Ported switch statement optimizations introduced in version 0.3.3
1632 to the ARM code generator.
1633
1634 Allowed GCC to use strict-aliasing rules when compiling.
1635
1636 Improved performance of arguments object allocation by taking care
1637 of arguments adaptor frames in the generated code.
1638
1639 Updated the V8 benchmark suite to version 2.
1640
1641
16422008-09-25: Version 0.3.3
1643
1644 Improved handling of relocation information to enable more
1645 peep-hole optimizations.
1646
1647 Optimized switch statements where all labels are constant small
1648 integers.
1649
1650 Optimized String.prototype.indexOf for common cases.
1651
1652 Fixed more build issues (issue 80).
1653
1654 Fixed a couple of profiler issues.
1655
1656 Fixed bug where the body of a function created using the Function
1657 constructor was not allowed to end with a single-line comment
1658 (issue 85).
1659
1660 Improved handling of object literals by canonicalizing object
1661 literal maps. This will allow JSON objects with the same set of
1662 properties to share the same map making inline caching work better
1663 for JSON objects.
1664
1665
16662008-09-17: Version 0.3.2
1667
1668 Generalized the EvalCache into a CompilationCache and enabled it
1669 for scripts too. The current strategy is to retire all entries
1670 whenever a mark-sweep collection is started.
1671
1672 Fixed bug where switch statements containing only a default case
1673 would lead to an unbalanced stack (issue 69).
1674
1675 Fixed bug that made access to the function in a named function
1676 expression impossible in certain situations (issue 24).
1677
1678 Fixed even more build issues.
1679
1680 Optimized calling conventions on ARM. The conventions on ARM and
1681 IA-32 now match.
1682
1683 Removed static initializers for flags and counters.
1684
1685 Improved inline caching behavior for uncommon cases where lazily
1686 loading Date and RegExp code could force certain code paths go
1687 megamorphic.
1688
1689 Removed arguments adaption for builtins written in C++. This
1690 makes Array.prototype.push and Array.prototype.pop slightly
1691 faster.
1692
1693
16942008-09-11: Version 0.3.1
1695
1696 Fixed a number of build issues.
1697
1698 Fixed problem with missing I-cache flusing on ARM.
1699
1700 Changed space layout in memory management by splitting up
1701 code space into old data space and code space.
1702
1703 Added utf-8 conversion support to the API (issue 57).
1704
1705 Optimized repeated calls to eval with the same strings. These
1706 repeated calls are common in web applications.
1707
1708 Added Xcode project file.
1709
1710 Optimized a couple of Array operation.
1711
1712 Fixed parser bug by checking for end-of-string when parsing break
1713 and continue (issue 35).
1714
1715 Fixed problem where asian characters were not categorized as
1716 letters.
1717
1718 Fixed bug that disallowed calling functions fetched from an array
1719 using a string as an array index (issue 32).
1720
1721 Fixed bug where the internal field count on object templates were
1722 sometimes ignored (issue 54).
1723
1724 Added -f option to the shell sample for compatibility with other
1725 engines (issue 18).
1726
1727 Added source info to TryCatches in the API.
1728
1729 Fixed problem where the seed for the random number generator was
1730 clipped in a double to unsigned int conversion.
1731
1732 Fixed bug where cons string symbols were sometimes converted to
1733 non-symbol flat strings during GC.
1734
1735 Fixed bug in error reporting when attempting to convert null to an
1736 object.
1737
1738
17392008-09-04: Version 0.3.0
1740
1741 Added support for running tests on the ARM simulator.
1742
1743 Fixed bug in the 'in' operator where negative indices were not
1744 treated correctly.
1745
1746 Fixed build issues on gcc-4.3.1.
1747
1748 Changed Date.prototype.toLocaleTimeString to not print the
1749 timezone part of the time.
1750
1751 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
1752 with user code.
1753
1754
17552008-09-02: Version 0.2.5
1756
1757 Renamed the top level directory 'public' to 'include'.
1758
1759 Added 'env' option to the SCons build scripts to support
1760 overriding the ENV part of the build environment. This is mostly
1761 to support Windows builds in cases where SCons cannot find the
1762 correct paths to the Windows SDK, as these paths cannot be passed
1763 through shell environment variables.
1764
1765 Enabled "Buffer Security Check" on for the Windows SCons build and
1766 added the linker option /OPT:ICF as an optimization.
1767
1768 Added the V8 benchmark suite to the repository.
1769
1770
17712008-09-01: Version 0.2.4
1772
1773 Included mjsunit JavaScript test suite and C++ unit tests.
1774
1775 Changed the shell sample to not print the result of executing a
1776 script provided on the command line.
1777
1778 Fixed issue when building samples on Windows using a shared V8
1779 library. Added visibility option on Linux build which makes the
1780 generated library 18% smaller.
1781
1782 Changed build system to accept multiple build modes in one build
1783 and generate separate objects, libraries and executables for each
1784 mode.
1785
1786 Removed deferred negation optimization (a * -b => -(a * b)) since
1787 this visibly changes operand conversion order.
1788
1789 Improved parsing performance by introducing stack guard in
1790 preparsing. Without a stack guard preparsing always bails out
1791 with stack overflow.
1792
1793 Changed shell sample to take flags directly from the command-line.
1794 Added API call that implements this.
1795
1796 Added load, quit and version functions to the shell sample so it's
1797 easier to run benchmarks and tests.
1798
1799 Fixed issue with building samples and cctests on 64-bit machines.
1800
1801 Fixed bug in the runtime system where the prototype chain was not
1802 always searched for a setter when setting a property that does not
1803 exist locally.
1804
1805
18062008-08-14: Version 0.2.3
1807
1808 Improved performance of garbage collection by moving the
1809 function that updates pointers during compacting collection
1810 into the updating visitor. This gives the compiler a better
1811 chance to inline and avoid a function call per (potential)
1812 pointer.
1813
1814 Extended the shell sample with a --runtime-flags option.
1815
1816 Added Visual Studio project files for the shell.cc and
1817 process.cc samples.
1818
1819
18202008-08-13: Version 0.2.2
1821
1822 Improved performance of garbage collection by changing the way
1823 we use the marking stack in the event of stack overflow during
1824 full garbage collection and by changing the way we mark roots.
1825
1826 Cleaned up ARM version by removing top of stack caching and by
1827 introducing push/pop elimination.
1828
1829 Cleaned up the way runtime functions are called to allow
1830 runtime calls with no arguments.
1831
1832 Changed Windows build options to make sure that exceptions are
1833 disabled and that optimization flags are enabled.
1834
1835 Added first version of Visual Studio project files.
1836
1837
18382008-08-06: Version 0.2.1
1839
1840 Improved performance of unary addition by avoiding runtime calls.
1841
1842 Fixed the handling of '>' and '<=' to use right-to-left conversion
1843 and left-to-right evaluation as specified by ECMA-262.
1844
1845 Fixed a branch elimination bug on the ARM platform where incorrect
1846 code was generated because of overly aggressive branch
1847 elimination.
1848
1849 Improved performance of code that repeatedly assigns the same
1850 function to the same property of different objects with the same
1851 map.
1852
1853 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
1854 no longer expects DEBUG to be defined.
1855
1856 Added platform-nullos.cc to serve as the basis for new platform
1857 implementations.
1858
1859
18602008-07-30: Version 0.2.0
1861
1862 Changed all text files to have native svn:eol-style.
1863
1864 Added a few samples and support for building them. The samples
1865 include a simple shell that can be used to benchmark and test V8.
1866
1867 Changed V8::GetVersion to return the version as a string.
1868
1869 Added source for lazily loaded scripts to snapshots and made
1870 serialization non-destructive.
1871
1872 Improved ARM support by fixing the write barrier code to use
1873 aligned loads and stores and by removing premature locals
1874 optimization that relied on broken support for callee-saved
1875 registers (removed).
1876
1877 Refactored the code for marking live objects during garbage
1878 collection and the code for allocating objects in paged
1879 spaces. Introduced an abstraction for the map word of a heap-
1880 allocated object and changed the memory allocator to allocate
1881 executable memory only for spaces that may contain code objects.
1882
1883 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
1884 they can be used by debugging and logging modules. Added
1885 thread-safe message queues for dealing with debugger events.
1886
1887 Fixed the source code reported by toString for certain builtin
1888 empty functions and made sure that the prototype property of a
1889 function is enumerable.
1890
1891 Improved performance of converting values to condition flags in
1892 generated code.
1893
1894 Merged disassembler-{arch} files.
1895
1896
18972008-07-28: Version 0.1.4
1898
1899 Added support for storing JavaScript stack traces in a stack
1900 allocated buffer to make it visible in shallow core dumps.
1901 Controlled by the --preallocate-message-memory flag which is
1902 disabled by default.
1903
1904
19052008-07-25: Version 0.1.3
1906
1907 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
1908 map transitions would count as properties.
1909
1910 Allowed aliased eval invocations by treating them as evals in the
1911 global context. This may change in the future.
1912
1913 Added support for accessing the last entered context through the
1914 API and renamed Context::Current to Context::GetCurrent and
1915 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
1916
1917 Fixed bug in the debugger that would cause the debugger scripts to
1918 be recursively loaded and changed all disabling of interrupts to
1919 be block-structured.
1920
1921 Made snapshot data read-only to allow it to be more easily shared
1922 across multiple users of V8 when linked as a shared library.
1923
1924
19252008-07-16: Version 0.1.2
1926
1927 Fixed building on Mac OS X by recognizing i386 and friends as
1928 IA-32 platforms.
1929
1930 Added propagation of stack overflow exceptions that occur while
1931 compiling nested functions.
1932
1933 Improved debugger with support for recursive break points and
1934 handling of exceptions that occur in the debugger JavaScript code.
1935
1936 Renamed GetInternal to GetInternalField and SetInternal to
1937 SetInternalField in the API and moved InternalFieldCount and
1938 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
1939
1940
19412008-07-09: Version 0.1.1
1942
1943 Fixed bug in stack overflow check code for IA-32 targets where a
1944 non-tagged value in register eax was pushed to the stack.
1945
1946 Fixed potential quadratic behavior when converting strings to
1947 numbers.
1948
1949 Fixed bug where the return value from Object::SetProperty could
1950 end up being the property holder instead of the written value.
1951
1952 Improved debugger support by allowing nested break points and by
1953 dealing with stack-overflows when compiling functions before
1954 setting break points in them.
1955
1956
19572008-07-03: Version 0.1.0
1958
1959 Initial export.
1960