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