blob: 49122a2349eef987045def1c7f32da5faeb016bd [file] [log] [blame]
lrn@chromium.org25156de2010-04-06 13:10:27 +000012010-04-06: Version 2.2.1
2
3 Debugger improvements.
4
5 Fixed minor bugs.
6
7
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000082010-03-29: Version 2.2.0
9
10 Fixed a few minor bugs.
11
12 Performance improvements for string operations.
13
14
ager@chromium.orgb26c50a2010-03-26 09:27:16 +0000152010-03-26: Version 2.1.10
16
17 Fixed scons build issues.
18
19 Fixed a couple of minor bugs.
20
21
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +0000222010-03-25: Version 2.1.9
23
24 Added API support for reattaching a global object to a context.
25
26 Extended debugger API with access to the internal debugger context.
27
28 Fixed Chromium crashes (issues http://crbug.com/39128 and
29 http://crbug.com/39160)
30
31
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +0000322010-03-24: Version 2.1.8
33
34 Added fine-grained garbage collection callbacks to the API.
35
36 Performance improvements on all platforms.
37
38
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000392010-03-22: Version 2.1.7
40
41 Fixed issue 650.
42
43 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +000044
45 Performance improvements for arithmetic operations.
46
47 Performance improvements for string operations.
48
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000049 Print script name and line number information in stack trace.
50
51
522010-03-17: Version 2.1.6
53
54 Performance improvements for arithmetic operations.
55
56 Performance improvements for string operations.
57
58
vegorov@chromium.orgf8372902010-03-15 10:26:20 +0000592010-03-10: Version 2.1.4
60
61 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
62
63 Performance improvements on all platforms.
64
65
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000662010-03-10: Version 2.1.3
67
68 Added API method for context-disposal notifications.
69
70 Added API method for accessing elements by integer index.
71
72 Added missing implementation of Uint32::Value and Value::IsUint32
73 API methods.
74
75 Added IsExecutionTerminating API method.
76
77 Disabled strict aliasing for GCC 4.4.
78
79 Fixed string-concatenation bug (issue 636).
80
81 Performance improvements on all platforms.
82
83
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000842010-02-23: Version 2.1.2
85
86 Fix a crash bug caused by wrong assert.
87
88 Fix a bug with register names on 64-bit V8 (issue 615).
89
90 Performance improvements on all platforms.
91
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000092
ager@chromium.org5c838252010-02-19 08:53:10 +0000932010-02-19: Version 2.1.1
94
95 [ES5] Implemented Object.defineProperty.
96
97 Improved profiler support.
98
99 Added SetPrototype method in the public V8 API.
100
101 Added GetScriptOrigin and GetScriptLineNumber methods to Function
102 objects in the API.
103
104 Performance improvements on all platforms.
105
106
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001072010-02-03: Version 2.1.0
108
109 Values are now always wrapped in objects when used as a receiver.
110 (issue 223).
111
112 [ES5] Implemented Object.getOwnPropertyNames.
113
114 [ES5] Restrict JSON.parse to only accept strings that conforms to the
115 JSON grammar.
116
117 Improvement of debugger agent (issue 549 and 554).
118
119 Fixed problem with skipped stack frame in profiles (issue 553).
120
121 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
122 <ry@tinyclouds.org>.
123
124 Fix a bug that Math.round() returns incorrect results for huge
125 integers.
126
127 Fix enumeration order for objects created from some constructor
128 functions (isue http://crbug.com/3867).
129
130 Fix arithmetic on some integer constants (issue 580).
131
132 Numerous performance improvements including porting of previous IA-32
133 optimizations to x64 and ARM architectures.
134
135
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00001362010-01-14: Version 2.0.6
137
138 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
139 GetOwnProperty, FromPropertyDescriptor.
140
141 Fixed Mac x64 build errors.
142
143 Improved performance of some math and string operations.
144
145 Improved performance of some regexp operations.
146
147 Improved performance of context creation.
148
149 Improved performance of hash tables.
150
151
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001522009-12-18: Version 2.0.5
153
154 Extended to upper limit of map space to allow for 7 times as many map
155 to be allocated (issue 524).
156
157 Improved performance of code using closures.
158
159 Improved performance of some binary operations involving doubles.
160
161
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001622009-12-16: Version 2.0.4
163
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000164 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000165
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000166 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000167
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000168 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000169
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000170 Improved handling of external strings by using a separate table
171 instead of weak handles. This improves garbage collection
172 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000173
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000174 Changed code generation for object and array literals in toplevel
175 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000176
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000177 Fixed a crash bug triggered when garbage collection happened during
178 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000179
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000180 Fixed crash bug sometimes triggered when local variables shadowed
181 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000182
183
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00001842009-12-03: Version 2.0.3
185
186 Optimized handling and adding of strings, for-in and Array.join.
187
188 Heap serialization is now non-destructive.
189
190 Improved profiler support with information on time spend in C++
191 callbacks registered through the API.
192
193 Added commands to the debugger protocol for starting/stopping
194 profiling.
195
196 Enabled the non-optimizing compiler for top-level code.
197
198 Changed the API to only allow strings to be set as data objects on
199 Contexts and scripts to avoid potentially keeping global objects
200 around for too long (issue 528).
201
202 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
203
204 Fixed bugs.
205
206
ager@chromium.org01beca72009-11-24 14:29:16 +00002072009-11-24: Version 2.0.2
208
209 Improved profiler support.
210
211 Fixed bug that broke compilation of d8 with readline support.
212
213
ager@chromium.org6141cbe2009-11-20 12:14:52 +00002142009-11-20: Version 2.0.1
215
216 Fixed crash bug in String.prototype.replace.
217
218 Reverted a change which caused Chromium interactive ui test
219 failures.
220
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000221
ager@chromium.orgc4c92722009-11-18 14:12:51 +00002222009-11-18: Version 2.0.0
223
224 Added support for VFP on ARM.
225
226 Added TryCatch::ReThrow method to the API.
227
228 Reduced the size of snapshots and improved the snapshot load time.
229
230 Improved heap profiler support.
231
232 64-bit version now supported on Windows.
233
234 Fixed a number of debugger issues.
235
236 Fixed bugs.
237
238
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00002392009-10-29: Version 1.3.18
240
241 Reverted a change which caused crashes in RegExp replace.
242
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000243 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000244
245
ager@chromium.org3811b432009-10-28 14:53:37 +00002462009-10-28: Version 1.3.17
247
248 Added API method to get simple heap statistics.
249
250 Improved heap profiler support.
251
252 Fixed the implementation of the resource constraint API so it
253 works when using snapshots.
254
255 Fixed a number of issues in the Windows 64-bit version.
256
257 Optimized calls to API getters.
258
259 Added valgrind notification on code modification to the 64-bit version.
260
261 Fixed issue where we logged shared library addresses on Windows at
262 startup and never used them.
263
264
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00002652009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000266
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000267 X64: Convert smis to holding 32 bits of payload.
268
269 Introduce v8::Integer::NewFromUnsigned method.
270
271 Add missing null check in Context::GetCurrent.
272
273 Add trim, trimLeft and trimRight methods to String
274 Patch by Jan de Mooij <jandemooij@gmail.com>
275
276 Implement ES5 Array.isArray
277 Patch by Jan de Mooij <jandemooij@gmail.com>
278
279 Skip access checks for hidden properties.
280
281 Add String::Concat(Handle<String> left, Handle<String> right) to the V8 API.
282
283 Fix GYP-based builds of V8.
284
285
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00002862009-10-07: Version 1.3.15
287
288 Expand the maximum size of the code space to 512MB for 64-bit mode.
289
290 Fixed a crash bug happening when starting profiling (issue
291 http://crbug.com/23768).
292
293
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00002942009-10-07: Version 1.3.14
295
296 Added GetRealNamedProperty to the API to lookup real properties
297 located on the object or in the prototype chain skipping any
298 interceptors.
299
300 Fix the stack limits setting API to work correctly with threads. The
301 stack limit now needs to be set to each thread thich is used with V8.
302
303 Remove the high-priority flag from IdleNotification()
304
305 Ensure V8 is initialized before locking and unlocking threads.
306
307 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +0000308 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000309 Crockford from the project.
310
311 Added a missing optimization in StringCharAt.
312
313 Fixed some flaky socket tests.
314
315 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
316 in 64-bit mode.
317
318 Fixed memory leaks in the thread management code.
319
320 Fixed the result of assignment to a pixel array. The assigned value
321 is now the result.
322
323 Error reporting for invalid left-hand sides in for-in statements, pre-
324 and postfix count expressions, and assignments now matches the JSC
325 behavior in Safari 4.
326
327 Follow the spec in disallowing function declarations without a name.
328
329 Always allocate code objects within a 2 GB range. On x64 architecture
330 this is used to use near calls (32-bit displacement) in Code objects.
331
332 Optimized array construction ported to x64 and ARM architectures.
333
334 [ES5] Changed Object.keys to return strings for element indices.
335
336
ager@chromium.org68e7ab72009-09-23 09:40:39 +00003372009-09-23: Version 1.3.13
338
339 Fixed uninitialized memory problem.
340
341 Improved heap profiler support.
342
343
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +00003442009-09-22: Version 1.3.12
345
346 Changed behavior of |function|.toString() on built-in functions to
347 be compatible with other implementations. Patch by Jan de Mooij.
348
349 Added Object::IsDirty in the API.
350
351 Optimized array construction; it is now handled purely in native
352 code.
353
354 [ES5] Made properties of the arguments array enumerable.
355
356 [ES5] Added test suite adapter for the es5conform test suite.
357
358 [ES5] Added Object.keys function.
359
ager@chromium.org68e7ab72009-09-23 09:40:39 +0000360
ager@chromium.org4af710e2009-09-15 12:20:11 +00003612009-09-15: Version 1.3.11
362
363 Fixed crash in error reporting during bootstrapping.
364
365 Optimized generated IA32 math code by using SSE2 instructions when
366 available.
367
368 Implemented missing pieces of debugger infrastructure on ARM. The
369 debugger is now fully functional on ARM.
370
371 Make 'hidden' the default visibility for gcc.
372
373
ager@chromium.orga1645e22009-09-09 19:27:10 +00003742009-09-09: Version 1.3.10
375
376 Fixed profiler on Mac in 64-bit mode.
377
378 Optimized creation of objects from simple constructor functions on
379 ARM.
380
381 Fixed a number of debugger issues.
382
383 Reduced the amount of memory consumed by V8.
384
385
ager@chromium.org18ad94b2009-09-02 08:22:29 +00003862009-09-02: Version 1.3.9
387
388 Optimized stack guard checks on ARM.
389
390 Optimized API operations by inlining more in the API.
391
392 Optimized creation of objects from simple constructor functions.
393
394 Enabled a number of missing optimizations in the 64-bit port.
395
396 Implemented native-code support for regular expressions on ARM.
397
398 Stopped using the 'sahf' instruction on 64-bit machines that do
399 not support it.
400
401 Fixed a bug in the support for forceful termination of JavaScript
402 execution.
403
404
ager@chromium.org96c75b52009-08-26 09:13:16 +00004052009-08-26: Version 1.3.8
406
407 Changed the handling of idle notifications to allow idle
408 notifications when V8 has not yet been initialized.
409
410 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000411
ager@chromium.org96c75b52009-08-26 09:13:16 +0000412
ager@chromium.orgab99eea2009-08-25 07:05:41 +00004132009-08-25: Version 1.3.7
414
415 Reduced the size of generated code on ARM platforms by reducing
416 the size of constant pools.
417
418 Changed build files to not include the 'ENV' user environment
419 variable in the build environment.
420
421 Changed the handling of idle notifications.
422
423
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00004242009-08-21: Version 1.3.6
425
426 Add support for forceful termination of JavaScript execution.
427
428 Add low memory notification to the API. The embedding host can signal
429 a low memory situation to V8.
430
431 Changed the handling of global handles (persistent handles in the API
432 sense) to avoid issues regarding allocation of new global handles
433 during weak handle callbacks.
434
435 Changed the growth policy of the young space.
436
437 Fixed a GC issue introduced in version 1.3.5.
438
439
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00004402009-08-19: Version 1.3.5
441
442 Optimize initialization of some arrays in the builtins.
443
444 Fix mac-nm script to support filenames with spaces.
445
446 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
447
448 Changed typeof RegExp from 'object' to 'function' for compatibility.
449 Fixed bug where regexps were not callable across contexts.
450
451 Added context independent script compilation to the API.
452
453 Added API call to get the stack trace for an exception.
454
455 Added API for getting object mirrors.
456
457 Make sure that SSE3 instructions are used whenever possible even when
458 running off a snapshot generated without using SSE3 instructions.
459
460 Tweaked the handling of the initial size and growth policy of the heap.
461
462 Added native code generation for RegExp to 64-bit version.
463
464 Added JavaScript debugger support to 64-bit version.
465
466
ager@chromium.orgadd848f2009-08-13 12:44:13 +00004672009-08-13: Version 1.3.4
468
469 Added a readline() command to the d8 shell.
470
471 Fixed bug in json parsing.
472
473 Added idle notification to the API and reduced memory on idle
474 notifications.
475
476
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00004772009-08-12: Version 1.3.3
478
479 Fix issue 417: incorrect %t placeholder expansion.
480
481 Add .gitignore file similar to Chromium's one.
482
483 Fix SConstruct file to build with new logging code for Android.
484
485 API: added function to find instance of template in prototype
486 chain. Inlined Object::IsInstanceOf.
487
488 Land change to notify valgrind when we modify code on x86.
489
490 Add api call to determine whether a string can be externalized.
491
492 Add a write() command to d8.
493
494
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +00004952009-08-05: Version 1.3.2
496
497 Started new compiler infrastructure for two-pass compilation using a
498 control flow graph constructed from the AST.
499
500 Profiler stack sampling for X64.
501
502 Safe handling of NaN to Posix platform-dependent time functions.
503
504 Added a new profiler control API to unify controlling various aspects
505 of profiling.
506
507 Fixed issue 392.
508
509
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00005102009-07-30: Version 1.3.1
511
512 Speed improvements to accessors and interceptors.
513
514 Added support for capturing stack information on custom errors.
515
516 Added support for morphing an object into a pixel array where its
517 indexed properties are stored in an external byte array. Values written
518 are always clamped to the 0..255 interval.
519
520 Profiler on x64 now handles C/C++ functions from shared libraries.
521
522 Changed the debugger to avoid stepping into function.call/apply if the
523 function is a built-in.
524
525 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000526
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +0000527 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000528
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +0000529 Optimized the called as constructor check for API calls.
530
531
kasperl@chromium.orge959c182009-07-27 08:59:04 +00005322009-07-27: Version 1.3.0
533
534 Allowed RegExp objects to be called as functions (issue 132).
535
536 Fixed issue where global property cells would escape after
537 detaching the global object; see http://crbug.com/16276.
538
539 Added support for stepping into setters and getters in the
540 debugger.
541
542 Changed the debugger to avoid stopping in its own JavaScript code
543 and in the code of built-in functions.
544
545 Fixed issue 345 by avoiding duplicate escaping labels.
546
547 Fixed ARM code generator crash in short-circuited boolean
548 expressions and added regression tests.
549
550 Added an external allocation limit to avoid issues where small V8
551 objects would hold on to large amounts of external memory without
552 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000553
554 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +0000555
556
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +00005572009-07-13: Version 1.2.14
558
559 Added separate paged heap space for global property cells and
560 avoid updating the write barrier when storing into them.
561
562 Improved peep-hole optimization on ARM platforms by not emitting
563 unnecessary debug information.
564
565 Re-enabled ICs for loads and calls that skip a global object
566 during lookup through the prototype chain.
567
568 Allowed access through global proxies to use ICs.
569
570 Fixed issue 401.
571
572
kasperl@chromium.org68ac0092009-07-09 06:00:35 +00005732009-07-09: Version 1.2.13
574
575 Fixed issue 397, issue 398, and issue 399.
576
577 Added support for breakpoint groups.
578
579 Fixed bugs introduced with the new global object representation.
580
581 Fixed a few bugs in the ARM code generator.
582
583
kasperl@chromium.org86f77b72009-07-06 08:21:57 +00005842009-07-06: Version 1.2.12
585
586 Added stack traces collection to Error objects accessible through
587 the e.stack property.
588
589 Changed RegExp parser to use a recursive data structure instead of
590 stack-based recursion.
591
592 Optimized Date object construction and string concatenation.
593
594 Improved performance of div, mod, and mul on ARM platforms.
595
596
kasperl@chromium.org2abc4502009-07-02 07:00:29 +00005972009-07-02: Version 1.2.11
598
599 Improved performance on IA-32 and ARM.
600
601 Fixed profiler sampler implementation on Mac OS X.
602
603 Changed the representation of global objects to improve
604 performance of adding a lot of new properties.
605
606
ager@chromium.org3e875802009-06-29 08:26:34 +00006072009-06-29: Version 1.2.10
608
609 Improved debugger support.
610
611 Fixed bug in exception message reporting (issue 390).
612
613 Improved overall performance.
614
615
ager@chromium.org5aa501c2009-06-23 07:57:28 +00006162009-06-23: Version 1.2.9
617
618 Improved math performance on ARM.
619
620 Fixed profiler name-inference bug.
621
622 Fixed handling of shared libraries in the profiler tick processor
623 scripts.
624
625 Fixed handling of tests that time out in the test scripts.
626
627 Fixed compilation on MacOS X version 10.4.
628
629 Fixed two bugs in the regular expression engine.
630
631 Fixed a bug in the string type inference.
632
633 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000634
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000635 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000636
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000637
ager@chromium.orgeadaf222009-06-16 09:43:10 +00006382009-06-16: Version 1.2.8
639
640 Optimized math on ARM platforms.
641
642 Fixed two crash bugs in the handling of getters and setters.
643
644 Improved the debugger support by adding scope chain information.
645
646 Improved the profiler support by compressing log data transmitted
647 to clients.
648
649 Improved overall performance.
650
651
ager@chromium.orge2902be2009-06-08 12:21:35 +00006522009-06-08: Version 1.2.7
653
654 Improved debugger and profiler support.
655
656 Reduced compilation time by improving the handling of deferred
657 code.
658
659 Optimized interceptor accesses where the property is on the object
660 on which the interceptors is attached.
661
662 Fixed compilation problem on GCC 4.4 by changing the stack
663 alignment to 16 bytes.
664
665 Fixed handle creation to follow stric aliasing rules.
666
667 Fixed compilation on FreeBSD.
668
669 Introduced API for forcing the deletion of a property ignoring
670 interceptors and attributes.
671
672
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +00006732009-05-29: Version 1.2.6
674
675 Added a histogram recording hit rates at different levels of the
676 compilation cache.
677
678 Added stack overflow check for the RegExp analysis phase. Previously a
679 very long regexp graph could overflow the stack with recursive calls.
680
681 Use a dynamic buffer when collecting log events in memory.
682
683 Added start/stop events to the profiler log.
684
685 Fixed infinite loop which could happen when setting a debug break while
686 executing a RegExp compiled to native code.
687
688 Fixed handling of lastIndexOf called with negative index (issue 351).
689
690 Fixed irregular crash in profiler test (issue 358).
691
692 Fixed compilation issues with some versions of gcc.
693
694
kasperl@chromium.org71affb52009-05-26 05:44:31 +00006952009-05-26: Version 1.2.5
696
697 Fixed bug in initial boundary check for Boyer-Moore text
698 search (issue 349).
699
700 Fixed compilation issues with MinGW and gcc 4.3+ and added support
701 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
702 Craig Schlenter.
703
704 Added a script cache to the debugger.
705
706 Optimized compilation performance by improving internal data
707 structures and avoiding expensive property load optimizations for
708 code that's infrequently executed.
709
710 Exposed the calling JavaScript context through the static API
711 function Context::GetCalling().
712
713
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +00007142009-05-18: Version 1.2.4
715
716 Improved performance of floating point number allocation for ARM
717 platforms.
718
719 Fixed crash when using the instanceof operator on functions with
720 number values in their prototype chain (issue 341).
721
722 Optimized virtual frame operations in the code generator to speed
723 up compilation time and allocated the frames in the zone.
724
725 Made the representation of virtual frames and jump targets in the
726 code generator much more compact.
727
728 Avoided linear search for non-locals in scope code when resolving
729 variables inside with and eval scopes.
730
731 Optimized lexical scanner by dealing with whitespace as part of
732 the token scanning instead of as a separate step before it.
733
734 Changed the scavenging collector so that promoted objects do not
735 reside in the old generation while their remembered set is being
736 swept for pointers into the young generation.
737
738 Fixed numeric overflow handling when compiling count operations.
739
740
ager@chromium.org9085a012009-05-11 19:22:57 +00007412009-05-11: Version 1.2.3
742
743 Fixed bug in reporting of out-of-memory situations.
744
745 Introduced hidden prototypes on certain builtin prototype objects
746 such as String.prototype to emulate JSC's behavior of restoring
747 the original function when deleting functions from those prototype
748 objects.
749
750 Fixed crash bug in the register allocator.
751
752
ager@chromium.org5ec48922009-05-05 07:25:34 +00007532009-05-04: Version 1.2.2
754
755 Fixed bug in array sorting for sparse arrays (issue 326).
756
757 Added support for adding a soname when building a shared library
758 on Linux (issue 151).
759
760 Fixed bug caused by morphing internal ASCII strings to external
761 two-byte strings. Slices over ASCII strings have to forward ASCII
762 checks to the underlying buffer string.
763
764 Allowed API call-as-function handlers to be called as
765 constructors.
766
767 Fixed a crash bug where an external string was disposed but a
768 slice of the external string survived as a symbol.
769
770
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00007712009-04-27: Version 1.2.1
772
773 Added EcmaScript 5 JSON object.
774
775 Fix bug in preemption support on ARM.
776
777
ager@chromium.org65dad4b2009-04-23 08:48:43 +00007782009-04-23: Version 1.2.0
779
780 Optimized floating-point operations on ARM.
781
782 Added a number of extensions to the debugger API.
783
784 Changed the enumeration order for unsigned integer keys to always
785 be numerical order.
786
787 Added a "read" extension to the shell sample.
788
789 Added support for Array.prototype.reduce and
790 Array.prototype.reduceRight.
791
792 Added an option to the SCons build to control Microsoft Visual C++
793 link-time code generation.
794
795 Fixed a number of bugs (in particular issue 315, issue 316,
796 issue 317 and issue 318).
797
798
kasperl@chromium.org2d18d102009-04-15 13:27:32 +00007992009-04-15: Version 1.1.10
800
801 Fixed crash bug that occurred when loading a const variable in the
802 presence of eval.
803
804 Allowed using with and eval in registered extensions in debug mode
805 by fixing bogus assert.
806
807 Fixed the source position for function returns to enable the
808 debugger to break there.
809
810
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +00008112009-04-14: Version 1.1.9
812
813 Made the stack traversal code in the profiler robust by avoiding
814 to look into the heap.
815
816 Added name inferencing for anonymous functions to facilitate
817 debugging and profiling.
818
819 Re-enabled stats timers in the developer shell (d8).
820
821 Fixed issue 303 by avoiding to shortcut cons-symbols.
822
823
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00008242009-04-11: Version 1.1.8
825
826 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
827
ager@chromium.org65dad4b2009-04-23 08:48:43 +0000828 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +0000829 the debugger (issue 269).
830
831 Fixed v8::Object::DeleteHiddenValue to not bail out when there
832 are no hidden properties.
833
ager@chromium.org65dad4b2009-04-23 08:48:43 +0000834 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +0000835 entries with deleted resources would lead to NPEs when looking
836 up in the symbol table.
837
838
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00008392009-04-07: Version 1.1.7
840
841 Added support for easily importing additional environment
842 variables into the SCons build.
843
844 Optimized strict equality checks.
845
846 Fixed crash in indexed setters on objects without a corresponding
847 getter (issue 298).
848
849 Re-enabled script compilation cache.
850
851
ager@chromium.org8682a592009-04-01 10:47:14 +00008522009-04-01: Version 1.1.6
853
854 Reverted an unsafe code generator change.
855
856
ager@chromium.org71daaf62009-04-01 07:22:49 +00008572009-04-01: Version 1.1.5
858
859 Fixed bug that caused function literals to not be optimized as
860 much as other functions.
861
862 Improved profiler support.
863
864 Fixed a crash bug in connection with debugger unloading.
865
866 Fixed a crash bug in the code generator caused by losing the
867 information that a frame element was copied.
868
869 Fixed an exception propagation bug that could cause non-null
870 return values when exceptions were thrown.
871
872
ager@chromium.org41826e72009-03-30 13:30:57 +00008732009-03-30: Version 1.1.4
874
875 Optimized String.prototype.match.
876
877 Improved the stack information in profiles.
878
879 Fixed bug in ARM port making it possible to compile the runtime
880 system for thumb mode again.
881
882 Implemented a number of optimizations in the code generator.
883
884 Fixed a number of memory leaks in tests.
885
886 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +0000887 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +0000888
889
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +00008902009-03-24: Version 1.1.3
891
892 Fixed assertion failures in compilation of loop conditions.
893
894 Removed STL dependency from developer shell (d8).
895
896 Added infrastructure for protecting the V8 heap from corruption
897 caused by memory modifications from the outside.
898
899
ager@chromium.orgbb29dc92009-03-24 13:25:23 +00009002009-03-24: Version 1.1.2
901
902 Improved frame merge code generated by the code generator.
903
904 Optimized String.prototype.replace.
905
906 Implemented __defineGetter__ and __defineSetter__ for properties
907 with integer keys on non-array objects.
908
909 Improved debugger and profiler support.
910
911 Fixed a number of portability issues to allow compilation for
912 smaller ARM devices.
913
914 Exposed object cloning through the API.
915
916 Implemented hidden properties. This is used to expose an identity
917 hash for objects through the API.
918
919 Implemented restarting of regular expressions if their input
920 string changes representation during preemption.
921
922 Fixed a code generator bug that could cause assignments in loops
923 to be ignored if using continue to break out of the loop (issue
924 284).
925
926
ager@chromium.org3a6061e2009-03-12 14:24:36 +00009272009-03-12: Version 1.1.1
928
929 Fixed an assertion in the new compiler to take stack overflow
930 exceptions into account.
931
932 Removed exception propagation code that could cause crashes.
933
934 Fixed minor bug in debugger line number computations.
935
936 8-byte align the C stack on Linux and Windows to speed up floating
937 point computations.
938
939
kasperl@chromium.org7be3c992009-03-12 07:19:55 +00009402009-03-12: Version 1.1.0
941
942 Improved code generation infrastructure by doing simple register
943 allocation and constant folding and propagation.
944
945 Optimized regular expression matching by avoiding to create
946 intermediate string arrays and by flattening nested array
947 representations of RegExp data.
948
949 Traverse a few stack frames when recording profiler samples to
950 include partial call graphs in the profiling output.
951
952 Added support for using OProfile to profile generated code.
953
954 Added remote debugging support to the D8 developer shell.
955
956 Optimized creation of nested literals like JSON objects.
957
958 Fixed a bug in garbage collecting unused maps and turned it on by
959 default (--collect-maps).
960
961 Added support for running tests under Valgrind.
962
963
kasperl@chromium.org061ef742009-02-27 12:16:20 +00009642009-02-27: Version 1.0.3
965
966 Optimized double-to-integer conversions in bit operations by using
967 SSE3 instructions if available.
968
969 Optimized initialization sequences that store to multiple
970 properties of the same object.
971
972 Changed the D8 debugger frontend to use JSON messages.
973
974 Force garbage collections when disposing contexts.
975
976 Align code objects at 32-byte boundaries.
977
978
ager@chromium.org381abbb2009-02-25 13:23:22 +00009792009-02-25: Version 1.0.2
980
981 Improved profiling support by performing simple call stack
982 sampling for ticks and by fixing a bug in the logging of code
983 addresses.
984
985 Fixed a number of debugger issues.
986
987 Optimized code that uses eval.
988
989 Fixed a couple of bugs in the regular expression engine.
990
991 Reduced the size of generated code for certain regular expressions.
992
993 Removed JSCRE completely.
994
995 Fixed issue where test could not be run if there was a dot in the
996 checkout path.
997
998
ager@chromium.org6f10e412009-02-13 10:11:16 +00009992009-02-13: Version 1.0.1
1000
1001 Fixed two crash-bugs in irregexp (issue 231 and 233).
1002
1003 Fixed a number of minor bugs (issue 87, 227 and 228).
1004
1005 Added support for morphing strings to external strings on demand
1006 to avoid having to create copies in the embedding code.
1007
1008 Removed experimental support for external symbol callbacks.
1009
1010
iposva@chromium.org245aa852009-02-10 00:49:54 +000010112009-02-09: Version 1.0.0
1012
1013 Fixed crash-bug in the code generation for case independent 16 bit
1014 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001015
iposva@chromium.org245aa852009-02-10 00:49:54 +00001016 Made shells more robust in the presence of string conversion
1017 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001018
iposva@chromium.org245aa852009-02-10 00:49:54 +00001019 Fixed a potential infinite loop when attempting to resolve
1020 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001021
iposva@chromium.org245aa852009-02-10 00:49:54 +00001022 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001023
iposva@chromium.org245aa852009-02-10 00:49:54 +00001024 Reduced binary by stripping unneeded text from JavaScript library and
1025 minifying some JavaScript files.
1026
1027
ager@chromium.orgddb913d2009-01-27 10:01:48 +000010282009-01-27: Version 0.4.9
1029
1030 Enabled new regular expression engine.
1031
1032 Made a number of changes to the debugger protocol.
1033
1034 Fixed a number of bugs in the preemption support.
1035
1036 Added -p option to the developer shell to run files in parallel
1037 using preemption.
1038
1039 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1040 193, 198 and 201).
1041
1042 Fixed a number of bugs in the serialization/deserialization
1043 support for the ARM platform.
1044
1045
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000010462009-01-19: Version 0.4.8.1
1047
1048 Minor patch to debugger support.
1049
1050
ager@chromium.org32912102009-01-16 10:38:43 +000010512009-01-16: Version 0.4.8
1052
1053 Fixed string length bug on ARM (issue 171).
1054
1055 Made most methods in the API const.
1056
1057 Optimized object literals by improving data locality.
1058
1059 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001060 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001061
1062 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001063 eval to behave incorrectly when using accessors (issues 186, 190
1064 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001065
1066
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000010672009-01-06: Version 0.4.7
1068
ager@chromium.org32912102009-01-16 10:38:43 +00001069 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001070
ager@chromium.org32912102009-01-16 10:38:43 +00001071 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001072
ager@chromium.org32912102009-01-16 10:38:43 +00001073 Fixed subtle bug that caused the wrong 'this' to be used when
1074 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001075
ager@chromium.org32912102009-01-16 10:38:43 +00001076 Inline array loads within loops directly in the code instead of
1077 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001078
ager@chromium.org32912102009-01-16 10:38:43 +00001079
ager@chromium.org8bb60582008-12-11 12:02:20 +000010802008-12-11: Version 0.4.6
1081
1082 Fixed exception reporting bug where certain exceptions were
1083 incorrectly reported as uncaught.
1084
1085 Improved the memory allocation strategy used during compilation to
1086 make running out of memory when compiling huge scripts less
1087 likely.
1088
1089 Optimized String.replace by avoiding the construction of certain
1090 sub strings.
1091
1092 Fixed bug in code generation for large switch statements on ARM.
1093
1094 Fixed bug that caused V8 to change the global object template
1095 passed in by the user.
1096
1097 Changed the API for creating object groups used during garbage
1098 collection. Entire object groups are now passed to V8 instead of
1099 individual members of the groups.
1100
ager@chromium.org32912102009-01-16 10:38:43 +00001101
ager@chromium.orga74f0da2008-12-03 16:05:52 +000011022008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001103
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001104 Added experimental API support for allocating V8 symbols as
1105 external strings.
1106
1107 Fixed bugs in debugging support on ARM.
1108
1109 Changed eval implementation to correctly detect whether or not a
1110 call to eval is aliased.
1111
1112 Fixed bug caused by a combination of the compilation cache and
1113 dictionary probing in native code. The bug caused us to sometimes
1114 call functions that had not yet been compiled.
1115
1116 Added platform support for FreeBSD.
1117
1118 Added support for building V8 on Windows with either the shared or
1119 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001120
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001121 Added the v8::jscre namespace around the jscre functions to avoid
1122 link errors (duplicate symbols) when building Google Chrome.
1123
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001124 Added support for calling a JavaScript function with the current
1125 debugger execution context as its argument to the debugger
1126 interface.
1127
1128 Changed the type of names of counters from wchar_t to char.
1129
1130 Changed the Windows system call used to compute daylight savings
1131 time. The system call that we used to use became four times
1132 slower on WinXP SP3.
1133
1134 Added support in the d8 developer shell for memory-mapped counters
1135 and added a stats-viewer tool.
1136
1137 Fixed bug in upper/lower case mappings (issue 149).
1138
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001139
ager@chromium.org3bf7b912008-11-17 09:09:45 +000011402008-11-17: Version 0.4.4
1141
1142 Reduced code size by using shorter instruction encoding when
1143 possible.
1144
1145 Added a --help option to the shell sample and to the d8 shell.
1146
1147 Added visual studio project files for building the ARM simulator.
1148
1149 Fixed a number of ARM simulator issues.
1150
1151 Fixed bug in out-of-memory handling on ARM.
1152
1153 Implemented shell support for passing arguments to a script from
1154 the command line.
1155
1156 Fixed bug in date code that made certain date functions return -0
1157 instead of 0 for dates before the epoch.
1158
1159 Restricted applications of eval so it can only be used in the
1160 context of the associated global object.
1161
1162 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001163
1164
ager@chromium.org870a0b62008-11-04 11:43:05 +000011652008-11-04: Version 0.4.3
1166
1167 Added support for API accessors that prohibit overwriting by
1168 accessors defined in JavaScript code by using __defineGetter__ and
1169 __defineSetter__.
1170
1171 Improved handling of conditionals in test status files.
1172
1173 Introduced access control in propertyIsEnumerable.
1174
1175 Improved performance of some string operations by caching
1176 information about the type of the string between operations.
1177
1178 Fixed bug in fast-case code for switch statements that only have
1179 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001180
ager@chromium.org870a0b62008-11-04 11:43:05 +00001181
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000011822008-10-30: Version 0.4.2
1183
1184 Improved performance of Array.prototype.concat by moving the
1185 implementation to C++ (issue 123).
1186
1187 Fixed heap growth policy to avoid growing old space to its maximum
1188 capacity before doing a garbage collection and fixed issue that
1189 would lead to artificial out of memory situations (issue 129).
1190
1191 Fixed Date.prototype.toLocaleDateString to return the date in the
1192 same format as WebKit.
1193
1194 Added missing initialization checks to debugger API.
1195
1196 Added removing of unused maps during GC.
1197
1198
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000011992008-10-28: Version 0.4.1
1200
1201 Added caching of RegExp data in compilation cache.
1202
1203 Added Visual Studio project file for d8 shell.
1204
1205 Fixed function call performance regression introduced in version
1206 0.4.0 when splitting the global object in two parts (issue 120).
1207
1208 Fixed issue 131 by checking for empty handles before throwing and
1209 reporting exceptions.
1210
1211
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000012122008-10-23: Version 0.4.0
1213
1214 Split the global object into two parts: The state holding global
1215 object and the global object proxy.
1216
1217 Fixed bug that affected the value of an assignment to an element
1218 in certain cases (issue 116).
1219
1220 Added GetPropertyNames functionality (issue 33) and extra Date
1221 functions (issue 77) to the API.
1222
1223 Changed WeakReferenceCallback to take a Persistent<Value> instead
1224 of a Persistent<Object> (issue 101).
1225
1226 Fixed issues with message reporting for exceptions in try-finally
1227 blocks (issues 73 and 75).
1228
ager@chromium.org32912102009-01-16 10:38:43 +00001229 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001230
1231 Improved Boyer-Moore implementation for faster indexOf operations.
1232
1233 Added development shell (d8) which includes counters and
1234 completion support.
1235
1236 Fixed problem with the receiver passed to functions called from
1237 eval (issue 124).
1238
1239
ager@chromium.org7c537e22008-10-16 08:43:32 +000012402008-10-16: Version 0.3.5
1241
1242 Improved string hash-code distribution by excluding bit-field bits
1243 from the hash-code.
1244
1245 Changed string search algorithm used in indexOf from KMP to
1246 Boyer-Moore.
1247
1248 Improved the generated code for the instanceof operator.
1249
1250 Improved performance of slow-case string equality checks by
1251 specializing the code based on the string representation.
1252
1253 Improve the handling of out-of-memory situations (issue 70).
1254
1255 Improved performance of strict equality checks.
1256
1257 Improved profiler output to make it easier to see anonymous
1258 functions.
1259
1260 Improved performance of slow-case keyed loads.
1261
1262 Improved property access performance by allocating a number of
1263 properties in the front object.
1264
1265 Changed the toString behavior on the built-in object constructors
1266 to print [native code] instead of the actual source. Some web
1267 applications do not like constructors with complex toString
1268 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001269
ager@chromium.org7c537e22008-10-16 08:43:32 +00001270
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000012712008-10-06: Version 0.3.4
1272
1273 Changed Array.prototype.sort to use quick sort.
1274
1275 Fixed code generation issue where leaving a finally block with
1276 break or continue would accumulate elements on the expression
1277 stack (issue 86).
1278
1279 Made sure that the name accessor on functions returns the expected
1280 names for builtin JavaScript functions and C++ callback functions.
1281
1282 Added fast case code for extending the property storage array of
1283 JavaScript objects.
1284
1285 Ported switch statement optimizations introduced in version 0.3.3
1286 to the ARM code generator.
1287
1288 Allowed GCC to use strict-aliasing rules when compiling.
1289
1290 Improved performance of arguments object allocation by taking care
1291 of arguments adaptor frames in the generated code.
1292
1293 Updated the V8 benchmark suite to version 2.
1294
1295
ager@chromium.org236ad962008-09-25 09:45:57 +000012962008-09-25: Version 0.3.3
1297
1298 Improved handling of relocation information to enable more
1299 peep-hole optimizations.
1300
1301 Optimized switch statements where all labels are constant small
1302 integers.
1303
1304 Optimized String.prototype.indexOf for common cases.
1305
1306 Fixed more build issues (issue 80).
1307
1308 Fixed a couple of profiler issues.
1309
1310 Fixed bug where the body of a function created using the Function
1311 constructor was not allowed to end with a single-line comment
1312 (issue 85).
1313
1314 Improved handling of object literals by canonicalizing object
1315 literal maps. This will allow JSON objects with the same set of
1316 properties to share the same map making inline caching work better
1317 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00001318
ager@chromium.org236ad962008-09-25 09:45:57 +00001319
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000013202008-09-17: Version 0.3.2
1321
1322 Generalized the EvalCache into a CompilationCache and enabled it
1323 for scripts too. The current strategy is to retire all entries
1324 whenever a mark-sweep collection is started.
1325
1326 Fixed bug where switch statements containing only a default case
1327 would lead to an unbalanced stack (issue 69).
1328
1329 Fixed bug that made access to the function in a named function
1330 expression impossible in certain situations (issue 24).
1331
1332 Fixed even more build issues.
1333
1334 Optimized calling conventions on ARM. The conventions on ARM and
1335 IA-32 now match.
1336
1337 Removed static initializers for flags and counters.
1338
1339 Improved inline caching behavior for uncommon cases where lazily
1340 loading Date and RegExp code could force certain code paths go
1341 megamorphic.
1342
1343 Removed arguments adaption for builtins written in C++. This
1344 makes Array.prototype.push and Array.prototype.pop slightly
1345 faster.
1346
1347
ager@chromium.org9258b6b2008-09-11 09:11:10 +000013482008-09-11: Version 0.3.1
1349
1350 Fixed a number of build issues.
1351
1352 Fixed problem with missing I-cache flusing on ARM.
1353
1354 Changed space layout in memory management by splitting up
1355 code space into old data space and code space.
1356
1357 Added utf-8 conversion support to the API (issue 57).
1358
1359 Optimized repeated calls to eval with the same strings. These
1360 repeated calls are common in web applications.
1361
1362 Added Xcode project file.
1363
1364 Optimized a couple of Array operation.
1365
1366 Fixed parser bug by checking for end-of-string when parsing break
1367 and continue (issue 35).
1368
1369 Fixed problem where asian characters were not categorized as
1370 letters.
1371
1372 Fixed bug that disallowed calling functions fetched from an array
1373 using a string as an array index (issue 32).
1374
1375 Fixed bug where the internal field count on object templates were
1376 sometimes ignored (issue 54).
1377
1378 Added -f option to the shell sample for compatibility with other
1379 engines (issue 18).
1380
1381 Added source info to TryCatches in the API.
1382
1383 Fixed problem where the seed for the random number generator was
1384 clipped in a double to unsigned int conversion.
1385
1386 Fixed bug where cons string symbols were sometimes converted to
1387 non-symbol flat strings during GC.
1388
1389 Fixed bug in error reporting when attempting to convert null to an
1390 object.
ager@chromium.org32912102009-01-16 10:38:43 +00001391
1392
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000013932008-09-04: Version 0.3.0
1394
1395 Added support for running tests on the ARM simulator.
1396
1397 Fixed bug in the 'in' operator where negative indices were not
1398 treated correctly.
1399
1400 Fixed build issues on gcc-4.3.1.
1401
1402 Changed Date.prototype.toLocaleTimeString to not print the
1403 timezone part of the time.
1404
1405 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
1406 with user code.
1407
1408
v8.team.kasperl727e9952008-09-02 14:56:44 +000014092008-09-02: Version 0.2.5
1410
1411 Renamed the top level directory 'public' to 'include'.
1412
1413 Added 'env' option to the SCons build scripts to support
1414 overriding the ENV part of the build environment. This is mostly
1415 to support Windows builds in cases where SCons cannot find the
1416 correct paths to the Windows SDK, as these paths cannot be passed
1417 through shell environment variables.
1418
1419 Enabled "Buffer Security Check" on for the Windows SCons build and
1420 added the linker option /OPT:ICF as an optimization.
1421
1422 Added the V8 benchmark suite to the repository.
1423
1424
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000014252008-09-01: Version 0.2.4
1426
1427 Included mjsunit JavaScript test suite and C++ unit tests.
1428
1429 Changed the shell sample to not print the result of executing a
1430 script provided on the command line.
1431
1432 Fixed issue when building samples on Windows using a shared V8
1433 library. Added visibility option on Linux build which makes the
1434 generated library 18% smaller.
1435
1436 Changed build system to accept multiple build modes in one build
1437 and generate separate objects, libraries and executables for each
1438 mode.
1439
1440 Removed deferred negation optimization (a * -b => -(a * b)) since
1441 this visibly changes operand conversion order.
1442
1443 Improved parsing performance by introducing stack guard in
1444 preparsing. Without a stack guard preparsing always bails out
1445 with stack overflow.
1446
1447 Changed shell sample to take flags directly from the command-line.
1448 Added API call that implements this.
1449
1450 Added load, quit and version functions to the shell sample so it's
1451 easier to run benchmarks and tests.
1452
1453 Fixed issue with building samples and cctests on 64-bit machines.
1454
1455 Fixed bug in the runtime system where the prototype chain was not
1456 always searched for a setter when setting a property that does not
1457 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00001458
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00001459
mads.s.agercbaa0602008-08-14 13:41:48 +000014602008-08-14: Version 0.2.3
1461
1462 Improved performance of garbage collection by moving the
1463 function that updates pointers during compacting collection
1464 into the updating visitor. This gives the compiler a better
1465 chance to inline and avoid a function call per (potential)
1466 pointer.
1467
1468 Extended the shell sample with a --runtime-flags option.
1469
1470 Added Visual Studio project files for the shell.cc and
1471 process.cc samples.
1472
1473
14742008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00001475
1476 Improved performance of garbage collection by changing the way
1477 we use the marking stack in the event of stack overflow during
1478 full garbage collection and by changing the way we mark roots.
1479
1480 Cleaned up ARM version by removing top of stack caching and by
1481 introducing push/pop elimination.
1482
1483 Cleaned up the way runtime functions are called to allow
1484 runtime calls with no arguments.
1485
1486 Changed Windows build options to make sure that exceptions are
1487 disabled and that optimization flags are enabled.
1488
1489 Added first version of Visual Studio project files.
1490
1491
mads.s.agercbaa0602008-08-14 13:41:48 +000014922008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00001493
1494 Improved performance of unary addition by avoiding runtime calls.
1495
1496 Fixed the handling of '>' and '<=' to use right-to-left conversion
1497 and left-to-right evaluation as specified by ECMA-262.
1498
1499 Fixed a branch elimination bug on the ARM platform where incorrect
1500 code was generated because of overly aggressive branch
1501 elimination.
1502
1503 Improved performance of code that repeatedly assigns the same
1504 function to the same property of different objects with the same
1505 map.
1506
1507 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
1508 no longer expects DEBUG to be defined.
1509
1510 Added platform-nullos.cc to serve as the basis for new platform
1511 implementations.
1512
mads.s.ager31e71382008-08-13 09:32:07 +00001513
mads.s.agercbaa0602008-08-14 13:41:48 +000015142008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00001515
1516 Changed all text files to have native svn:eol-style.
1517
1518 Added a few samples and support for building them. The samples
1519 include a simple shell that can be used to benchmark and test V8.
1520
1521 Changed V8::GetVersion to return the version as a string.
1522
1523 Added source for lazily loaded scripts to snapshots and made
1524 serialization non-destructive.
1525
1526 Improved ARM support by fixing the write barrier code to use
1527 aligned loads and stores and by removing premature locals
1528 optimization that relied on broken support for callee-saved
1529 registers (removed).
1530
1531 Refactored the code for marking live objects during garbage
1532 collection and the code for allocating objects in paged
1533 spaces. Introduced an abstraction for the map word of a heap-
1534 allocated object and changed the memory allocator to allocate
1535 executable memory only for spaces that may contain code objects.
1536
1537 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
1538 they can be used by debugging and logging modules. Added
1539 thread-safe message queues for dealing with debugger events.
1540
1541 Fixed the source code reported by toString for certain builtin
1542 empty functions and made sure that the prototype property of a
1543 function is enumerable.
1544
1545 Improved performance of converting values to condition flags in
1546 generated code.
1547
1548 Merged disassembler-{arch} files.
1549
1550
mads.s.agercbaa0602008-08-14 13:41:48 +000015512008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00001552
1553 Added support for storing JavaScript stack traces in a stack
1554 allocated buffer to make it visible in shallow core dumps.
1555 Controlled by the --preallocate-message-memory flag which is
1556 disabled by default.
1557
1558
mads.s.agercbaa0602008-08-14 13:41:48 +000015592008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00001560
1561 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
1562 map transitions would count as properties.
1563
1564 Allowed aliased eval invocations by treating them as evals in the
1565 global context. This may change in the future.
1566
1567 Added support for accessing the last entered context through the
1568 API and renamed Context::Current to Context::GetCurrent and
1569 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
1570
1571 Fixed bug in the debugger that would cause the debugger scripts to
1572 be recursively loaded and changed all disabling of interrupts to
1573 be block-structured.
1574
1575 Made snapshot data read-only to allow it to be more easily shared
1576 across multiple users of V8 when linked as a shared library.
1577
1578
mads.s.agercbaa0602008-08-14 13:41:48 +000015792008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00001580
1581 Fixed building on Mac OS X by recognizing i386 and friends as
1582 IA-32 platforms.
1583
1584 Added propagation of stack overflow exceptions that occur while
1585 compiling nested functions.
1586
1587 Improved debugger with support for recursive break points and
1588 handling of exceptions that occur in the debugger JavaScript code.
1589
1590 Renamed GetInternal to GetInternalField and SetInternal to
1591 SetInternalField in the API and moved InternalFieldCount and
1592 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
1593
1594
mads.s.agercbaa0602008-08-14 13:41:48 +000015952008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00001596
1597 Fixed bug in stack overflow check code for IA-32 targets where a
1598 non-tagged value in register eax was pushed to the stack.
1599
1600 Fixed potential quadratic behavior when converting strings to
1601 numbers.
1602
1603 Fixed bug where the return value from Object::SetProperty could
1604 end up being the property holder instead of the written value.
1605
1606 Improved debugger support by allowing nested break points and by
1607 dealing with stack-overflows when compiling functions before
1608 setting break points in them.
1609
1610
mads.s.agercbaa0602008-08-14 13:41:48 +000016112008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00001612
kasper.lundbd3ec4e2008-07-09 11:06:54 +00001613 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00001614