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