blob: 1326791a4287d1cbf17d23f2ac841617afab5001 [file] [log] [blame]
ager@chromium.org5aa501c2009-06-23 07:57:28 +000012009-06-23: Version 1.2.9
2
3 Improved math performance on ARM.
4
5 Fixed profiler name-inference bug.
6
7 Fixed handling of shared libraries in the profiler tick processor
8 scripts.
9
10 Fixed handling of tests that time out in the test scripts.
11
12 Fixed compilation on MacOS X version 10.4.
13
14 Fixed two bugs in the regular expression engine.
15
16 Fixed a bug in the string type inference.
17
18 Fixed a bug in the handling of 'constant function' properties.
19
20 Improved overall performance.
21
22
ager@chromium.orgeadaf222009-06-16 09:43:10 +0000232009-06-16: Version 1.2.8
24
25 Optimized math on ARM platforms.
26
27 Fixed two crash bugs in the handling of getters and setters.
28
29 Improved the debugger support by adding scope chain information.
30
31 Improved the profiler support by compressing log data transmitted
32 to clients.
33
34 Improved overall performance.
35
36
ager@chromium.orge2902be2009-06-08 12:21:35 +0000372009-06-08: Version 1.2.7
38
39 Improved debugger and profiler support.
40
41 Reduced compilation time by improving the handling of deferred
42 code.
43
44 Optimized interceptor accesses where the property is on the object
45 on which the interceptors is attached.
46
47 Fixed compilation problem on GCC 4.4 by changing the stack
48 alignment to 16 bytes.
49
50 Fixed handle creation to follow stric aliasing rules.
51
52 Fixed compilation on FreeBSD.
53
54 Introduced API for forcing the deletion of a property ignoring
55 interceptors and attributes.
56
57
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +0000582009-05-29: Version 1.2.6
59
60 Added a histogram recording hit rates at different levels of the
61 compilation cache.
62
63 Added stack overflow check for the RegExp analysis phase. Previously a
64 very long regexp graph could overflow the stack with recursive calls.
65
66 Use a dynamic buffer when collecting log events in memory.
67
68 Added start/stop events to the profiler log.
69
70 Fixed infinite loop which could happen when setting a debug break while
71 executing a RegExp compiled to native code.
72
73 Fixed handling of lastIndexOf called with negative index (issue 351).
74
75 Fixed irregular crash in profiler test (issue 358).
76
77 Fixed compilation issues with some versions of gcc.
78
79
kasperl@chromium.org71affb52009-05-26 05:44:31 +0000802009-05-26: Version 1.2.5
81
82 Fixed bug in initial boundary check for Boyer-Moore text
83 search (issue 349).
84
85 Fixed compilation issues with MinGW and gcc 4.3+ and added support
86 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
87 Craig Schlenter.
88
89 Added a script cache to the debugger.
90
91 Optimized compilation performance by improving internal data
92 structures and avoiding expensive property load optimizations for
93 code that's infrequently executed.
94
95 Exposed the calling JavaScript context through the static API
96 function Context::GetCalling().
97
98
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +0000992009-05-18: Version 1.2.4
100
101 Improved performance of floating point number allocation for ARM
102 platforms.
103
104 Fixed crash when using the instanceof operator on functions with
105 number values in their prototype chain (issue 341).
106
107 Optimized virtual frame operations in the code generator to speed
108 up compilation time and allocated the frames in the zone.
109
110 Made the representation of virtual frames and jump targets in the
111 code generator much more compact.
112
113 Avoided linear search for non-locals in scope code when resolving
114 variables inside with and eval scopes.
115
116 Optimized lexical scanner by dealing with whitespace as part of
117 the token scanning instead of as a separate step before it.
118
119 Changed the scavenging collector so that promoted objects do not
120 reside in the old generation while their remembered set is being
121 swept for pointers into the young generation.
122
123 Fixed numeric overflow handling when compiling count operations.
124
125
ager@chromium.org9085a012009-05-11 19:22:57 +00001262009-05-11: Version 1.2.3
127
128 Fixed bug in reporting of out-of-memory situations.
129
130 Introduced hidden prototypes on certain builtin prototype objects
131 such as String.prototype to emulate JSC's behavior of restoring
132 the original function when deleting functions from those prototype
133 objects.
134
135 Fixed crash bug in the register allocator.
136
137
ager@chromium.org5ec48922009-05-05 07:25:34 +00001382009-05-04: Version 1.2.2
139
140 Fixed bug in array sorting for sparse arrays (issue 326).
141
142 Added support for adding a soname when building a shared library
143 on Linux (issue 151).
144
145 Fixed bug caused by morphing internal ASCII strings to external
146 two-byte strings. Slices over ASCII strings have to forward ASCII
147 checks to the underlying buffer string.
148
149 Allowed API call-as-function handlers to be called as
150 constructors.
151
152 Fixed a crash bug where an external string was disposed but a
153 slice of the external string survived as a symbol.
154
155
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001562009-04-27: Version 1.2.1
157
158 Added EcmaScript 5 JSON object.
159
160 Fix bug in preemption support on ARM.
161
162
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001632009-04-23: Version 1.2.0
164
165 Optimized floating-point operations on ARM.
166
167 Added a number of extensions to the debugger API.
168
169 Changed the enumeration order for unsigned integer keys to always
170 be numerical order.
171
172 Added a "read" extension to the shell sample.
173
174 Added support for Array.prototype.reduce and
175 Array.prototype.reduceRight.
176
177 Added an option to the SCons build to control Microsoft Visual C++
178 link-time code generation.
179
180 Fixed a number of bugs (in particular issue 315, issue 316,
181 issue 317 and issue 318).
182
183
kasperl@chromium.org2d18d102009-04-15 13:27:32 +00001842009-04-15: Version 1.1.10
185
186 Fixed crash bug that occurred when loading a const variable in the
187 presence of eval.
188
189 Allowed using with and eval in registered extensions in debug mode
190 by fixing bogus assert.
191
192 Fixed the source position for function returns to enable the
193 debugger to break there.
194
195
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +00001962009-04-14: Version 1.1.9
197
198 Made the stack traversal code in the profiler robust by avoiding
199 to look into the heap.
200
201 Added name inferencing for anonymous functions to facilitate
202 debugging and profiling.
203
204 Re-enabled stats timers in the developer shell (d8).
205
206 Fixed issue 303 by avoiding to shortcut cons-symbols.
207
208
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00002092009-04-11: Version 1.1.8
210
211 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
212
ager@chromium.org65dad4b2009-04-23 08:48:43 +0000213 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +0000214 the debugger (issue 269).
215
216 Fixed v8::Object::DeleteHiddenValue to not bail out when there
217 are no hidden properties.
218
ager@chromium.org65dad4b2009-04-23 08:48:43 +0000219 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +0000220 entries with deleted resources would lead to NPEs when looking
221 up in the symbol table.
222
223
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00002242009-04-07: Version 1.1.7
225
226 Added support for easily importing additional environment
227 variables into the SCons build.
228
229 Optimized strict equality checks.
230
231 Fixed crash in indexed setters on objects without a corresponding
232 getter (issue 298).
233
234 Re-enabled script compilation cache.
235
236
ager@chromium.org8682a592009-04-01 10:47:14 +00002372009-04-01: Version 1.1.6
238
239 Reverted an unsafe code generator change.
240
241
ager@chromium.org71daaf62009-04-01 07:22:49 +00002422009-04-01: Version 1.1.5
243
244 Fixed bug that caused function literals to not be optimized as
245 much as other functions.
246
247 Improved profiler support.
248
249 Fixed a crash bug in connection with debugger unloading.
250
251 Fixed a crash bug in the code generator caused by losing the
252 information that a frame element was copied.
253
254 Fixed an exception propagation bug that could cause non-null
255 return values when exceptions were thrown.
256
257
ager@chromium.org41826e72009-03-30 13:30:57 +00002582009-03-30: Version 1.1.4
259
260 Optimized String.prototype.match.
261
262 Improved the stack information in profiles.
263
264 Fixed bug in ARM port making it possible to compile the runtime
265 system for thumb mode again.
266
267 Implemented a number of optimizations in the code generator.
268
269 Fixed a number of memory leaks in tests.
270
271 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +0000272 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +0000273
274
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +00002752009-03-24: Version 1.1.3
276
277 Fixed assertion failures in compilation of loop conditions.
278
279 Removed STL dependency from developer shell (d8).
280
281 Added infrastructure for protecting the V8 heap from corruption
282 caused by memory modifications from the outside.
283
284
ager@chromium.orgbb29dc92009-03-24 13:25:23 +00002852009-03-24: Version 1.1.2
286
287 Improved frame merge code generated by the code generator.
288
289 Optimized String.prototype.replace.
290
291 Implemented __defineGetter__ and __defineSetter__ for properties
292 with integer keys on non-array objects.
293
294 Improved debugger and profiler support.
295
296 Fixed a number of portability issues to allow compilation for
297 smaller ARM devices.
298
299 Exposed object cloning through the API.
300
301 Implemented hidden properties. This is used to expose an identity
302 hash for objects through the API.
303
304 Implemented restarting of regular expressions if their input
305 string changes representation during preemption.
306
307 Fixed a code generator bug that could cause assignments in loops
308 to be ignored if using continue to break out of the loop (issue
309 284).
310
311
ager@chromium.org3a6061e2009-03-12 14:24:36 +00003122009-03-12: Version 1.1.1
313
314 Fixed an assertion in the new compiler to take stack overflow
315 exceptions into account.
316
317 Removed exception propagation code that could cause crashes.
318
319 Fixed minor bug in debugger line number computations.
320
321 8-byte align the C stack on Linux and Windows to speed up floating
322 point computations.
323
324
kasperl@chromium.org7be3c992009-03-12 07:19:55 +00003252009-03-12: Version 1.1.0
326
327 Improved code generation infrastructure by doing simple register
328 allocation and constant folding and propagation.
329
330 Optimized regular expression matching by avoiding to create
331 intermediate string arrays and by flattening nested array
332 representations of RegExp data.
333
334 Traverse a few stack frames when recording profiler samples to
335 include partial call graphs in the profiling output.
336
337 Added support for using OProfile to profile generated code.
338
339 Added remote debugging support to the D8 developer shell.
340
341 Optimized creation of nested literals like JSON objects.
342
343 Fixed a bug in garbage collecting unused maps and turned it on by
344 default (--collect-maps).
345
346 Added support for running tests under Valgrind.
347
348
kasperl@chromium.org061ef742009-02-27 12:16:20 +00003492009-02-27: Version 1.0.3
350
351 Optimized double-to-integer conversions in bit operations by using
352 SSE3 instructions if available.
353
354 Optimized initialization sequences that store to multiple
355 properties of the same object.
356
357 Changed the D8 debugger frontend to use JSON messages.
358
359 Force garbage collections when disposing contexts.
360
361 Align code objects at 32-byte boundaries.
362
363
ager@chromium.org381abbb2009-02-25 13:23:22 +00003642009-02-25: Version 1.0.2
365
366 Improved profiling support by performing simple call stack
367 sampling for ticks and by fixing a bug in the logging of code
368 addresses.
369
370 Fixed a number of debugger issues.
371
372 Optimized code that uses eval.
373
374 Fixed a couple of bugs in the regular expression engine.
375
376 Reduced the size of generated code for certain regular expressions.
377
378 Removed JSCRE completely.
379
380 Fixed issue where test could not be run if there was a dot in the
381 checkout path.
382
383
ager@chromium.org6f10e412009-02-13 10:11:16 +00003842009-02-13: Version 1.0.1
385
386 Fixed two crash-bugs in irregexp (issue 231 and 233).
387
388 Fixed a number of minor bugs (issue 87, 227 and 228).
389
390 Added support for morphing strings to external strings on demand
391 to avoid having to create copies in the embedding code.
392
393 Removed experimental support for external symbol callbacks.
394
395
iposva@chromium.org245aa852009-02-10 00:49:54 +00003962009-02-09: Version 1.0.0
397
398 Fixed crash-bug in the code generation for case independent 16 bit
399 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +0000400
iposva@chromium.org245aa852009-02-10 00:49:54 +0000401 Made shells more robust in the presence of string conversion
402 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +0000403
iposva@chromium.org245aa852009-02-10 00:49:54 +0000404 Fixed a potential infinite loop when attempting to resolve
405 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +0000406
iposva@chromium.org245aa852009-02-10 00:49:54 +0000407 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +0000408
iposva@chromium.org245aa852009-02-10 00:49:54 +0000409 Reduced binary by stripping unneeded text from JavaScript library and
410 minifying some JavaScript files.
411
412
ager@chromium.orgddb913d2009-01-27 10:01:48 +00004132009-01-27: Version 0.4.9
414
415 Enabled new regular expression engine.
416
417 Made a number of changes to the debugger protocol.
418
419 Fixed a number of bugs in the preemption support.
420
421 Added -p option to the developer shell to run files in parallel
422 using preemption.
423
424 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
425 193, 198 and 201).
426
427 Fixed a number of bugs in the serialization/deserialization
428 support for the ARM platform.
429
430
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00004312009-01-19: Version 0.4.8.1
432
433 Minor patch to debugger support.
434
435
ager@chromium.org32912102009-01-16 10:38:43 +00004362009-01-16: Version 0.4.8
437
438 Fixed string length bug on ARM (issue 171).
439
440 Made most methods in the API const.
441
442 Optimized object literals by improving data locality.
443
444 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +0000445 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +0000446
447 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +0000448 eval to behave incorrectly when using accessors (issues 186, 190
449 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +0000450
451
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00004522009-01-06: Version 0.4.7
453
ager@chromium.org32912102009-01-16 10:38:43 +0000454 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +0000455
ager@chromium.org32912102009-01-16 10:38:43 +0000456 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +0000457
ager@chromium.org32912102009-01-16 10:38:43 +0000458 Fixed subtle bug that caused the wrong 'this' to be used when
459 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +0000460
ager@chromium.org32912102009-01-16 10:38:43 +0000461 Inline array loads within loops directly in the code instead of
462 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +0000463
ager@chromium.org32912102009-01-16 10:38:43 +0000464
ager@chromium.org8bb60582008-12-11 12:02:20 +00004652008-12-11: Version 0.4.6
466
467 Fixed exception reporting bug where certain exceptions were
468 incorrectly reported as uncaught.
469
470 Improved the memory allocation strategy used during compilation to
471 make running out of memory when compiling huge scripts less
472 likely.
473
474 Optimized String.replace by avoiding the construction of certain
475 sub strings.
476
477 Fixed bug in code generation for large switch statements on ARM.
478
479 Fixed bug that caused V8 to change the global object template
480 passed in by the user.
481
482 Changed the API for creating object groups used during garbage
483 collection. Entire object groups are now passed to V8 instead of
484 individual members of the groups.
485
ager@chromium.org32912102009-01-16 10:38:43 +0000486
ager@chromium.orga74f0da2008-12-03 16:05:52 +00004872008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +0000488
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000489 Added experimental API support for allocating V8 symbols as
490 external strings.
491
492 Fixed bugs in debugging support on ARM.
493
494 Changed eval implementation to correctly detect whether or not a
495 call to eval is aliased.
496
497 Fixed bug caused by a combination of the compilation cache and
498 dictionary probing in native code. The bug caused us to sometimes
499 call functions that had not yet been compiled.
500
501 Added platform support for FreeBSD.
502
503 Added support for building V8 on Windows with either the shared or
504 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +0000505
iposva@chromium.org96f667e2008-11-26 23:48:02 +0000506 Added the v8::jscre namespace around the jscre functions to avoid
507 link errors (duplicate symbols) when building Google Chrome.
508
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000509 Added support for calling a JavaScript function with the current
510 debugger execution context as its argument to the debugger
511 interface.
512
513 Changed the type of names of counters from wchar_t to char.
514
515 Changed the Windows system call used to compute daylight savings
516 time. The system call that we used to use became four times
517 slower on WinXP SP3.
518
519 Added support in the d8 developer shell for memory-mapped counters
520 and added a stats-viewer tool.
521
522 Fixed bug in upper/lower case mappings (issue 149).
523
iposva@chromium.org96f667e2008-11-26 23:48:02 +0000524
ager@chromium.org3bf7b912008-11-17 09:09:45 +00005252008-11-17: Version 0.4.4
526
527 Reduced code size by using shorter instruction encoding when
528 possible.
529
530 Added a --help option to the shell sample and to the d8 shell.
531
532 Added visual studio project files for building the ARM simulator.
533
534 Fixed a number of ARM simulator issues.
535
536 Fixed bug in out-of-memory handling on ARM.
537
538 Implemented shell support for passing arguments to a script from
539 the command line.
540
541 Fixed bug in date code that made certain date functions return -0
542 instead of 0 for dates before the epoch.
543
544 Restricted applications of eval so it can only be used in the
545 context of the associated global object.
546
547 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +0000548
549
ager@chromium.org870a0b62008-11-04 11:43:05 +00005502008-11-04: Version 0.4.3
551
552 Added support for API accessors that prohibit overwriting by
553 accessors defined in JavaScript code by using __defineGetter__ and
554 __defineSetter__.
555
556 Improved handling of conditionals in test status files.
557
558 Introduced access control in propertyIsEnumerable.
559
560 Improved performance of some string operations by caching
561 information about the type of the string between operations.
562
563 Fixed bug in fast-case code for switch statements that only have
564 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +0000565
ager@chromium.org870a0b62008-11-04 11:43:05 +0000566
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +00005672008-10-30: Version 0.4.2
568
569 Improved performance of Array.prototype.concat by moving the
570 implementation to C++ (issue 123).
571
572 Fixed heap growth policy to avoid growing old space to its maximum
573 capacity before doing a garbage collection and fixed issue that
574 would lead to artificial out of memory situations (issue 129).
575
576 Fixed Date.prototype.toLocaleDateString to return the date in the
577 same format as WebKit.
578
579 Added missing initialization checks to debugger API.
580
581 Added removing of unused maps during GC.
582
583
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +00005842008-10-28: Version 0.4.1
585
586 Added caching of RegExp data in compilation cache.
587
588 Added Visual Studio project file for d8 shell.
589
590 Fixed function call performance regression introduced in version
591 0.4.0 when splitting the global object in two parts (issue 120).
592
593 Fixed issue 131 by checking for empty handles before throwing and
594 reporting exceptions.
595
596
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00005972008-10-23: Version 0.4.0
598
599 Split the global object into two parts: The state holding global
600 object and the global object proxy.
601
602 Fixed bug that affected the value of an assignment to an element
603 in certain cases (issue 116).
604
605 Added GetPropertyNames functionality (issue 33) and extra Date
606 functions (issue 77) to the API.
607
608 Changed WeakReferenceCallback to take a Persistent<Value> instead
609 of a Persistent<Object> (issue 101).
610
611 Fixed issues with message reporting for exceptions in try-finally
612 blocks (issues 73 and 75).
613
ager@chromium.org32912102009-01-16 10:38:43 +0000614 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +0000615
616 Improved Boyer-Moore implementation for faster indexOf operations.
617
618 Added development shell (d8) which includes counters and
619 completion support.
620
621 Fixed problem with the receiver passed to functions called from
622 eval (issue 124).
623
624
ager@chromium.org7c537e22008-10-16 08:43:32 +00006252008-10-16: Version 0.3.5
626
627 Improved string hash-code distribution by excluding bit-field bits
628 from the hash-code.
629
630 Changed string search algorithm used in indexOf from KMP to
631 Boyer-Moore.
632
633 Improved the generated code for the instanceof operator.
634
635 Improved performance of slow-case string equality checks by
636 specializing the code based on the string representation.
637
638 Improve the handling of out-of-memory situations (issue 70).
639
640 Improved performance of strict equality checks.
641
642 Improved profiler output to make it easier to see anonymous
643 functions.
644
645 Improved performance of slow-case keyed loads.
646
647 Improved property access performance by allocating a number of
648 properties in the front object.
649
650 Changed the toString behavior on the built-in object constructors
651 to print [native code] instead of the actual source. Some web
652 applications do not like constructors with complex toString
653 results.
ager@chromium.org32912102009-01-16 10:38:43 +0000654
ager@chromium.org7c537e22008-10-16 08:43:32 +0000655
kasperl@chromium.org41044eb2008-10-06 08:24:46 +00006562008-10-06: Version 0.3.4
657
658 Changed Array.prototype.sort to use quick sort.
659
660 Fixed code generation issue where leaving a finally block with
661 break or continue would accumulate elements on the expression
662 stack (issue 86).
663
664 Made sure that the name accessor on functions returns the expected
665 names for builtin JavaScript functions and C++ callback functions.
666
667 Added fast case code for extending the property storage array of
668 JavaScript objects.
669
670 Ported switch statement optimizations introduced in version 0.3.3
671 to the ARM code generator.
672
673 Allowed GCC to use strict-aliasing rules when compiling.
674
675 Improved performance of arguments object allocation by taking care
676 of arguments adaptor frames in the generated code.
677
678 Updated the V8 benchmark suite to version 2.
679
680
ager@chromium.org236ad962008-09-25 09:45:57 +00006812008-09-25: Version 0.3.3
682
683 Improved handling of relocation information to enable more
684 peep-hole optimizations.
685
686 Optimized switch statements where all labels are constant small
687 integers.
688
689 Optimized String.prototype.indexOf for common cases.
690
691 Fixed more build issues (issue 80).
692
693 Fixed a couple of profiler issues.
694
695 Fixed bug where the body of a function created using the Function
696 constructor was not allowed to end with a single-line comment
697 (issue 85).
698
699 Improved handling of object literals by canonicalizing object
700 literal maps. This will allow JSON objects with the same set of
701 properties to share the same map making inline caching work better
702 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +0000703
ager@chromium.org236ad962008-09-25 09:45:57 +0000704
kasperl@chromium.orgb9123622008-09-17 14:05:56 +00007052008-09-17: Version 0.3.2
706
707 Generalized the EvalCache into a CompilationCache and enabled it
708 for scripts too. The current strategy is to retire all entries
709 whenever a mark-sweep collection is started.
710
711 Fixed bug where switch statements containing only a default case
712 would lead to an unbalanced stack (issue 69).
713
714 Fixed bug that made access to the function in a named function
715 expression impossible in certain situations (issue 24).
716
717 Fixed even more build issues.
718
719 Optimized calling conventions on ARM. The conventions on ARM and
720 IA-32 now match.
721
722 Removed static initializers for flags and counters.
723
724 Improved inline caching behavior for uncommon cases where lazily
725 loading Date and RegExp code could force certain code paths go
726 megamorphic.
727
728 Removed arguments adaption for builtins written in C++. This
729 makes Array.prototype.push and Array.prototype.pop slightly
730 faster.
731
732
ager@chromium.org9258b6b2008-09-11 09:11:10 +00007332008-09-11: Version 0.3.1
734
735 Fixed a number of build issues.
736
737 Fixed problem with missing I-cache flusing on ARM.
738
739 Changed space layout in memory management by splitting up
740 code space into old data space and code space.
741
742 Added utf-8 conversion support to the API (issue 57).
743
744 Optimized repeated calls to eval with the same strings. These
745 repeated calls are common in web applications.
746
747 Added Xcode project file.
748
749 Optimized a couple of Array operation.
750
751 Fixed parser bug by checking for end-of-string when parsing break
752 and continue (issue 35).
753
754 Fixed problem where asian characters were not categorized as
755 letters.
756
757 Fixed bug that disallowed calling functions fetched from an array
758 using a string as an array index (issue 32).
759
760 Fixed bug where the internal field count on object templates were
761 sometimes ignored (issue 54).
762
763 Added -f option to the shell sample for compatibility with other
764 engines (issue 18).
765
766 Added source info to TryCatches in the API.
767
768 Fixed problem where the seed for the random number generator was
769 clipped in a double to unsigned int conversion.
770
771 Fixed bug where cons string symbols were sometimes converted to
772 non-symbol flat strings during GC.
773
774 Fixed bug in error reporting when attempting to convert null to an
775 object.
ager@chromium.org32912102009-01-16 10:38:43 +0000776
777
ager@chromium.orgc27e4e72008-09-04 13:52:27 +00007782008-09-04: Version 0.3.0
779
780 Added support for running tests on the ARM simulator.
781
782 Fixed bug in the 'in' operator where negative indices were not
783 treated correctly.
784
785 Fixed build issues on gcc-4.3.1.
786
787 Changed Date.prototype.toLocaleTimeString to not print the
788 timezone part of the time.
789
790 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
791 with user code.
792
793
v8.team.kasperl727e9952008-09-02 14:56:44 +00007942008-09-02: Version 0.2.5
795
796 Renamed the top level directory 'public' to 'include'.
797
798 Added 'env' option to the SCons build scripts to support
799 overriding the ENV part of the build environment. This is mostly
800 to support Windows builds in cases where SCons cannot find the
801 correct paths to the Windows SDK, as these paths cannot be passed
802 through shell environment variables.
803
804 Enabled "Buffer Security Check" on for the Windows SCons build and
805 added the linker option /OPT:ICF as an optimization.
806
807 Added the V8 benchmark suite to the repository.
808
809
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00008102008-09-01: Version 0.2.4
811
812 Included mjsunit JavaScript test suite and C++ unit tests.
813
814 Changed the shell sample to not print the result of executing a
815 script provided on the command line.
816
817 Fixed issue when building samples on Windows using a shared V8
818 library. Added visibility option on Linux build which makes the
819 generated library 18% smaller.
820
821 Changed build system to accept multiple build modes in one build
822 and generate separate objects, libraries and executables for each
823 mode.
824
825 Removed deferred negation optimization (a * -b => -(a * b)) since
826 this visibly changes operand conversion order.
827
828 Improved parsing performance by introducing stack guard in
829 preparsing. Without a stack guard preparsing always bails out
830 with stack overflow.
831
832 Changed shell sample to take flags directly from the command-line.
833 Added API call that implements this.
834
835 Added load, quit and version functions to the shell sample so it's
836 easier to run benchmarks and tests.
837
838 Fixed issue with building samples and cctests on 64-bit machines.
839
840 Fixed bug in the runtime system where the prototype chain was not
841 always searched for a setter when setting a property that does not
842 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +0000843
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000844
mads.s.agercbaa0602008-08-14 13:41:48 +00008452008-08-14: Version 0.2.3
846
847 Improved performance of garbage collection by moving the
848 function that updates pointers during compacting collection
849 into the updating visitor. This gives the compiler a better
850 chance to inline and avoid a function call per (potential)
851 pointer.
852
853 Extended the shell sample with a --runtime-flags option.
854
855 Added Visual Studio project files for the shell.cc and
856 process.cc samples.
857
858
8592008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +0000860
861 Improved performance of garbage collection by changing the way
862 we use the marking stack in the event of stack overflow during
863 full garbage collection and by changing the way we mark roots.
864
865 Cleaned up ARM version by removing top of stack caching and by
866 introducing push/pop elimination.
867
868 Cleaned up the way runtime functions are called to allow
869 runtime calls with no arguments.
870
871 Changed Windows build options to make sure that exceptions are
872 disabled and that optimization flags are enabled.
873
874 Added first version of Visual Studio project files.
875
876
mads.s.agercbaa0602008-08-14 13:41:48 +00008772008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +0000878
879 Improved performance of unary addition by avoiding runtime calls.
880
881 Fixed the handling of '>' and '<=' to use right-to-left conversion
882 and left-to-right evaluation as specified by ECMA-262.
883
884 Fixed a branch elimination bug on the ARM platform where incorrect
885 code was generated because of overly aggressive branch
886 elimination.
887
888 Improved performance of code that repeatedly assigns the same
889 function to the same property of different objects with the same
890 map.
891
892 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
893 no longer expects DEBUG to be defined.
894
895 Added platform-nullos.cc to serve as the basis for new platform
896 implementations.
897
mads.s.ager31e71382008-08-13 09:32:07 +0000898
mads.s.agercbaa0602008-08-14 13:41:48 +00008992008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +0000900
901 Changed all text files to have native svn:eol-style.
902
903 Added a few samples and support for building them. The samples
904 include a simple shell that can be used to benchmark and test V8.
905
906 Changed V8::GetVersion to return the version as a string.
907
908 Added source for lazily loaded scripts to snapshots and made
909 serialization non-destructive.
910
911 Improved ARM support by fixing the write barrier code to use
912 aligned loads and stores and by removing premature locals
913 optimization that relied on broken support for callee-saved
914 registers (removed).
915
916 Refactored the code for marking live objects during garbage
917 collection and the code for allocating objects in paged
918 spaces. Introduced an abstraction for the map word of a heap-
919 allocated object and changed the memory allocator to allocate
920 executable memory only for spaces that may contain code objects.
921
922 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
923 they can be used by debugging and logging modules. Added
924 thread-safe message queues for dealing with debugger events.
925
926 Fixed the source code reported by toString for certain builtin
927 empty functions and made sure that the prototype property of a
928 function is enumerable.
929
930 Improved performance of converting values to condition flags in
931 generated code.
932
933 Merged disassembler-{arch} files.
934
935
mads.s.agercbaa0602008-08-14 13:41:48 +00009362008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +0000937
938 Added support for storing JavaScript stack traces in a stack
939 allocated buffer to make it visible in shallow core dumps.
940 Controlled by the --preallocate-message-memory flag which is
941 disabled by default.
942
943
mads.s.agercbaa0602008-08-14 13:41:48 +00009442008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +0000945
946 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
947 map transitions would count as properties.
948
949 Allowed aliased eval invocations by treating them as evals in the
950 global context. This may change in the future.
951
952 Added support for accessing the last entered context through the
953 API and renamed Context::Current to Context::GetCurrent and
954 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
955
956 Fixed bug in the debugger that would cause the debugger scripts to
957 be recursively loaded and changed all disabling of interrupts to
958 be block-structured.
959
960 Made snapshot data read-only to allow it to be more easily shared
961 across multiple users of V8 when linked as a shared library.
962
963
mads.s.agercbaa0602008-08-14 13:41:48 +00009642008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +0000965
966 Fixed building on Mac OS X by recognizing i386 and friends as
967 IA-32 platforms.
968
969 Added propagation of stack overflow exceptions that occur while
970 compiling nested functions.
971
972 Improved debugger with support for recursive break points and
973 handling of exceptions that occur in the debugger JavaScript code.
974
975 Renamed GetInternal to GetInternalField and SetInternal to
976 SetInternalField in the API and moved InternalFieldCount and
977 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
978
979
mads.s.agercbaa0602008-08-14 13:41:48 +00009802008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +0000981
982 Fixed bug in stack overflow check code for IA-32 targets where a
983 non-tagged value in register eax was pushed to the stack.
984
985 Fixed potential quadratic behavior when converting strings to
986 numbers.
987
988 Fixed bug where the return value from Object::SetProperty could
989 end up being the property holder instead of the written value.
990
991 Improved debugger support by allowing nested break points and by
992 dealing with stack-overflows when compiling functions before
993 setting break points in them.
994
995
mads.s.agercbaa0602008-08-14 13:41:48 +00009962008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +0000997
kasper.lundbd3ec4e2008-07-09 11:06:54 +0000998 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +0000999