blob: 9dd6f88f297e99939c652c1c80192125279f512f [file] [log] [blame]
fschneider@chromium.org1805e212011-09-05 10:49:12 +000012011-09-05: Version 3.6.0
2
3 Fixed a bug when optimizing named function expression (issue 1647).
4
5 Fixed a bug when optimizing f.call.apply (issue 1650).
6
7 Made arguments and caller always be null on native functions
8 (issues 1548 and 1643).
9
10 Fixed issue 1648 (cross-compiling x64 targeting ia32).
11
12 Fixed issue 371 (d8 printing of strings containing \0).
13
14 Fixed order of evaluation in arguments to parseInt (issue 1649).
15
16 Fixed a problem with large heap snapshots in Chrome DevTools
17 (issue 1658, chromium issue 89268).
18
19 Upped default maximum heap size from 512M to 700M.
20
21
yangguo@chromium.org80c42ed2011-08-31 09:03:56 +0000222011-08-31: Version 3.5.10
23
24 Added dependency of v8_base on WinSocket2 Windows library in
25 the GYP-build.
26
27 Various bugfixes.
28
29
ricow@chromium.org4668a2c2011-08-29 10:41:00 +0000302011-08-29: Version 3.5.9
31
32 Made FromPropertyDescriptor not trigger inherited setters.
33
34 Fixed .gyp files to work on the ARM simulator.
35
36 Fixed shared library build warnings for MSVS.
37
38
ricow@chromium.orgddd545c2011-08-24 12:02:41 +0000392011-08-24: Version 3.5.8
40
41 Added V8EXPORT attributes for v8::Array::CheckCast and
42 v8::Number::CheckCast.
43
44 Made a slight API change enabling opting out from null termination
45 in String::Write*().
46
47 Fixed arm build for gcc-4.6.
48
49
rossberg@chromium.org28a37082011-08-22 11:03:23 +0000502011-08-22: Version 3.5.7
51
52 Make scanner handle invalid unicode escapes in identifiers correctly.
53
54 Make regexp flag parsing stricter.
55
56 Fix several memory leaks.
57
58
danno@chromium.orgb6451162011-08-17 14:33:23 +0000592011-08-17: Version 3.5.6
60
61 Fixed issue that could cause crashes when running with --heap-stats.
62
63 Fixed compilation on Linux 2.6.9 and older.
64
65 Fixed live-object-list to work with isolates.
66
67 Fixed memory leaks in zones and isolates.
68
69 Fixed a performance regression for TypedArrays on x64.
70
71 Stability improvements on all platforms.
72
73
whesse@chromium.org4acdc2c2011-08-15 13:01:23 +0000742011-08-15: Version 3.5.5
75
76 Fixed bugs involving negative zero and the optimizing compiler.
77
78 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
79
80 Eliminated uses of deprecated ARM instructions.
81
82 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
83
84 Removed restriction on the size of disassembled code that is printed.
85
86
kmillikin@chromium.org7c2628c2011-08-10 11:27:35 +0000872011-08-10: Version 3.5.4
88
89 Added a preliminary implementation of ES Harmony weak maps. Weak
90 maps can be enabled by the flag --harmony-weakmaps.
91
92 Introduced a toplevel Makefile to support GYP-based building. GYP
93 can be obtained from http://gyp.googlecode.com.
94
95 Fixed a bug in the length property of functions created by
96 Function.prototype.bind.
97
98 Reduced malloc heap allocation on process startup.
99
100 Several important code generation bug fixes.
101
102 Performance improvements on all platforms.
103
104
lrn@chromium.orgd4e9e222011-08-03 12:01:58 +00001052011-08-03: Version 3.5.3
106
107 MIPS: Port of fix to ClassOf check from ARM.
108 Patch from Paul Lind <plind44@gmail.com>.
109
110 Stopped using mprotect on Cygwin.
111 Avoided uninitialized member warning on gcc 4.3.4
112 Both patches by Bert Belder.
113
114 Bug fixes and performance improvements on all platforms.
115
116
vegorov@chromium.org7943d462011-08-01 11:41:52 +00001172011-08-01: Version 3.5.2
118
119 Performance improvements on all platforms.
120
121
ricow@chromium.org2c99e282011-07-28 09:15:17 +00001222011-07-28: Version 3.5.1
123
124 Fixed setting the readonly flag on the prototype property using the
125 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
126
127 Changed the tools/test.py script to use d8 instead of shell for
128 testing.
129
130 Fixed crash in ToBooleanStub when GC happens during invocation.
131
132 Enabled automatic unboxing of double arrays.
133
134 Performance improvements on all platforms.
135
136
ricow@chromium.org9fa09672011-07-25 11:05:35 +00001372011-07-25: Version 3.5.0
138
139 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
140 proxies.
141
142 Removed logging to memory support.
143
144 Bugfixes and performance work.
145
146
rossberg@chromium.org717967f2011-07-20 13:44:42 +00001472011-07-20: Version 3.4.14
148
149 Fix the debugger for strict-mode functions. (Chromium issue 89236)
150
ricow@chromium.org9fa09672011-07-25 11:05:35 +0000151 Add GetPropertyAttribute method for Object in the API. (Patch by
152 Peter Varga)
rossberg@chromium.org717967f2011-07-20 13:44:42 +0000153
154 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
155
156
svenpanne@chromium.org84bcc552011-07-18 09:50:57 +00001572011-07-18: Version 3.4.13
158
159 Improved debugger support to allow inspection of optimized frames (issue
160 1140).
161
162 Fixed a bug in prototype transitions cache clearing introduced by r8165.
163
164 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
165
166 Fixed a memory leak in sample/shell.cc (dispose semaphores).
167
168 Simplified HClampToUint8. Patch by Andy Wingo.
169
170 Exposed APIs for detecting boxed primitives, native errors. Patch by
171 Luke Zarko.
172
173 Added map check for COW elements to crankshaft array handling code
174 (issue 1560).
175
176 Sample shell and (a light version of) D8 links against a shared library
177 now.
178
179 Fixed bug in array filter and reduce functions (issue 1559).
180
181 Avoid TLS load in AstNode constructor.
182
183 Introduced a random entropy source which can optionally be provided at
184 initialization. (Chromium issue 89462).
185
186
whesse@chromium.org030d38e2011-07-13 13:23:34 +00001872011-07-13: Version 3.4.12
188
189 Added --prof profiling option to d8 shell.
190
191 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
192
193 Fixed a potential assertion failure in const declarations.
194
195 Fixed an assertion failure in descriptor arrays (issue 1526).
196
197 Enabled fast thread-local storage by default on supported platforms.
198
199 Improved reporting of source position for global variable loads
200 (issue 1527).
201
202
sgjesse@chromium.org6db88712011-07-11 11:41:22 +00002032011-07-11: Version 3.4.11
204
205 Fixed MinGW32 build.
206
207 Fixed a GC bug with RegExp code flushing.
208
209 Implemented Object.defineProperty for proxies.
210
211 Fixed a bug in for/in iteration of arguments objects (issue 1531).
212
213 Added debugger support for inspecting optimized frames (issue 1140).
214
215 Allowed JSObject::PreventExtensions to work for arguments objects.
216
217 Bugfixes and performance work.
218
219
jkummerow@chromium.orgddda9e82011-07-06 11:27:02 +00002202011-07-06: Version 3.4.10
221
222 Fixed debugger not breaking on certain "if" statements (issue 1523).
223
224 Fixed assertion failure in runtime profiler when running on IA32
225 without snapshot (issue 1522).
226
227 Fixed ABI for API calls on IA32 (for clang compatibility).
228
229 Introduced code flushing of RegExp code to free memory used by
230 RegExps sooner.
231
232 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
233
234 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
235
236 Performance improvements on all platforms.
237
238
ricow@chromium.org4f693d62011-07-04 14:01:31 +00002392011-07-04: Version 3.4.9
240
241 Added support for debugger inspection of locals in optimized frames
242 (issue 1140).
243
244 Fixed SConstruct to pass correct defines to samples/preparser when
245 building with library=shared.
246
247 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
248
249 Fixed a bug in Object.defineProperty on the arguments object.
250
251 Performance improvements on all platforms.
252
253
vegorov@chromium.org3cf47312011-06-29 13:20:01 +00002542011-06-29: Version 3.4.8
255
256 Ensure 16-byte stack alignment on Solaris (issue 1505).
257
sgjesse@chromium.org6db88712011-07-11 11:41:22 +0000258 Fix "illegal access" when calling parseInt with a radix
vegorov@chromium.org3cf47312011-06-29 13:20:01 +0000259 that is not a smi. (issue 1246).
260
261
ager@chromium.org04921a82011-06-27 13:21:41 +00002622011-06-27: Version 3.4.7
263
264 Fixed 64-bit build on FreeBSD.
265
266 Added API to set the property attributes for the prototype
267 property on functions created from FunctionTemplates.
268
269 Bugfixes and performance work.
270
271
lrn@chromium.orgac2828d2011-06-23 06:29:21 +00002722011-06-22: Version 3.4.6
273
274 Lowered limit on code space for systems with low memory supply.
275
276 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
277
278 Extended setBreakpoint API to accept partial script name (issue 1418).
279
280 Made multi-line comments not count when deciding whether the '-->'
281 comment starter is first on a line. This matches Safari.
282
283 Made handling of non-array recievers in Array length setter correct
284 (issue 1491).
285
286 Added ability to heap profiler to iterate over snapshot's node
287 (issue 1481).
288
289
whesse@chromium.org7b260152011-06-20 15:33:18 +00002902011-06-20: Version 3.4.5
291
292 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
293 1476, and 1477.
294
295 Improved code generation for !0 and !1.
296
297 Reduced memory usage for regular expressions with nested qualifiers.
298 (issue 1472)
299
300 Fixed V8 to count line terminators in multi-line comments.
301 (Chromium issue 86431)
302
303 Fixed disassembler=on option for release-mode builds. (issue 1473)
304
305 Performance improvements on all platforms.
306
307
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003082011-06-15: Version 3.4.4
309
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000310 Added snapshot compression support and --stress-opt flag to d8.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000311
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000312 Improved performance of try/catch.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000313
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000314 Several GYP-related changes: Added support for building Xcode project
315 files. Make the ARM simulator build with GYP again. Generate Makefiles
316 for all architectures on Linux.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000317
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000318 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
319 receiver for strict mode callbacks. (issue 1436)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000320
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000321 Fixed a bug where an array load was incorrectly hoisted by GVN.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000322
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000323 Handle 'undefined' correctly when === has been specialized for doubles.
324 (issue 1434)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000325
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000326 Corrected the limit of local variables in an optimized function from 64
327 to 63.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000328
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000329 Correctly set ReadOnly flag on indexed properties when using the API Set
330 method. (issue 1470)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000331
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000332 Give the correct error message when Object.isExtensible is called on a
333 non-object. (issue 1452)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000334
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000335 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
336 Varga.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000337
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000338 Do not redefine properties unneccesarily in seal and freeze. (issue
339 1447)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000340
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000341 IsExecutionTerminating has an Isolate parameter now.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000342
ricow@chromium.org4f693d62011-07-04 14:01:31 +0000343 Distinguish keyed loads with a symbol key from fast elements loads,
344 avoiding some useless deoptimizations. (issue 1471)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000345
346
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00003472011-06-08: Version 3.4.3
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000348
jkummerow@chromium.orge297f592011-06-08 10:05:15 +0000349 Clear the global thread table when an isolate is disposed
350 (issue 1433).
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000351
jkummerow@chromium.orge297f592011-06-08 10:05:15 +0000352 Converted time zone name to UTF8 on Windows (issue 1290).
353
354 Limited the number of arguments in a function call to 32766
355 (issue 1413).
356
357 Compress sources of JS libraries in addition to the snapshot.
358
359 Fixed a bug in Lithium environment iteration.
360
361 Performance improvements on all platforms.
erik.corry@gmail.com8a177112011-06-08 07:23:54 +0000362
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000363
erik.corry@gmail.comd6076d92011-06-06 09:39:18 +00003642011-06-06: Version 3.4.2
365
366 More work on ES-Harmony proxies. Still hidden behind a flag.
367
368 Fixed some crash bugs and improved performance.
369
370 Fixed building with gdb debugging support.
371
372 Do not install SIGPROF handler until it is needed.
373
374 Added DateTimeFormat to i18n API.
375
376 Fixed compilation on OpenBSD.
377
378 Take the ulimit into account when sizing the heap. OpenBSD users
379 may still have to increase the default ulimit to run heavy pages in
380 the browser.
381
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +0000382
ricow@chromium.orgd2be9012011-06-01 06:00:58 +00003832011-06-01: Version 3.4.1
384
385 Fixed JSON stringify issue with arrays.
386
387 Changed calls to JS builtins to be passed undefined when called with
388 implicit receiver.
389
390 Implemented the set trap for Harmony proxies. Proxies still need to
391 be enabled with the --harmony-proxies flag.
392
393
ricow@chromium.orgc54d3652011-05-30 09:20:16 +00003942011-05-30: Version 3.4.0
395
396 Changed calls to undefined property setters to not throw (issue 1355).
397
398 Made RegExp objects not callable.
399
400 Fixed issues on special case large JSON strings in new json parser
401 (issues http://crbug.com/83877 and http://crbug.com/84186).
402
403 Performance improvements on all platforms.
404
405
danno@chromium.org40cb8782011-05-25 07:58:50 +00004062011-05-25: Version 3.3.10
407
408 Fixed calls of strict mode function with an implicit receiver.
409
410 Fixed fast handling of arrays to properly deal with changes to the
411 Object prototype (issue 1403).
412
413 Changed strict mode poison pill to be the same type error function
414 (issue 1387).
415
416 Fixed a debug crash in arguments object handling (issue 1227).
417
418 Fixed a bug in deoptimization on x64 (issue 1404).
419
420 Performance improvements and bug fixes on all platforms.
421
422
ager@chromium.orgea91cc52011-05-23 06:06:11 +00004232011-05-23: Version 3.3.9
424
425 Added DateTimeFormat class to experimental i18n API.
426
427 Extended preparser to give early errors for some strict mode
428 restrictions.
429
430 Removed legacy execScript function from V8.
431
432 Extended isolate API with the ability to add embedder-specific
433 data to an isolate.
434
435 Added basic support for polymorphic loads from JS and external
436 arrays.
437
438 Fixed bug in handling of switch statements in the optimizing
439 compiler.
440
441
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00004422011-05-18: Version 3.3.8
443
ager@chromium.orgea91cc52011-05-23 06:06:11 +0000444 Added MarkIndependent to the persistent handle API. Independent
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +0000445 handles are independent of all other persistent handles and can be
446 garbage collected more frequently.
447
ager@chromium.orgea91cc52011-05-23 06:06:11 +0000448 Implemented the get trap for Harmony proxies. Proxies are enabled
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +0000449 with the --harmony-proxies flag.
450
451 Performance improvements and bug fixes on all platforms.
452
453
vegorov@chromium.org7304bca2011-05-16 12:14:13 +00004542011-05-16: Version 3.3.7
455
456 Updated MIPS infrastructure files.
457
458 Performance improvements and bug fixes on all platforms.
459
460
karlklose@chromium.org83a47282011-05-11 11:54:09 +00004612011-05-11: Version 3.3.6
462
463 Updated MIPS infrastructure files.
464
465 Added method IsCallable for Object to the API.
466 Patch by Peter Varga.
467
468
lrn@chromium.org1c092762011-05-09 09:42:16 +00004692011-05-09: Version 3.3.5
470
471 Fixed build on FreeBSD. Patch by Akinori MUSHA.
472
473 Added check that receiver is JSObject on API calls.
474
475 Implemented CallAsConstructor method for Object in the API (Issue 1348).
476 Patch by Peter Varga.
477
478 Added CallAsFunction method to the Object class in the API (Issue 1336).
479 Patch by Peter Varga.
480
481 Added per-isolate locking and unlocking.
482
483 Fixed bug in x64 >>> operator (Issue 1359).
484
485
fschneider@chromium.orgfb144a02011-05-04 12:43:48 +00004862011-05-04: Version 3.3.4
487
488 Implemented API to disallow code generation from strings for a context
489 (issue 1258).
490
491 Fixed bug with whitespaces in parseInt (issue 955).
492
493 Fixed bug with == comparison of Date objects (issue 1356).
494
495 Added GYP variables for ARM code generation:
496 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
497 and v8_use_arm_eabi_hardfloat.
498
499
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +00005002011-05-02: Version 3.3.3
501
502 Added support for generating Visual Studio solution and project files
503 using GYP.
504
505 Implemented support for ARM EABI calling convention variation where
506 floating-point arguments are passed in registers (hardfloat).
507
508 Added Object::HasOwnProperty() to the API.
509
510 Added support for compressing startup data to reduce binary size. This
511 includes build time support and an API for the embedder to decompress
512 the startup data before initializing V8.
513
514 Reduced the profiling hooks overhead from >400% to 25% when using
515 ll_prof.
516
517 Performance improvements and bug fixes on all platforms.
518
519
erik.corry@gmail.com3847bd52011-04-27 10:38:56 +00005202011-04-27: Version 3.3.2
521
522 Fixed crash bug on ARM with no VFP3 hardware.
523
524 Fixed compilation of V8 without debugger support.
525
526 Improved performance on JSLint.
527
528 Added support Float64 WebGL arrays.
529
530 Fixed crash bug in regexp replace.
531
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +0000532
ricow@chromium.orgdcebac02011-04-20 09:44:50 +00005332011-04-20: Version 3.3.1
534
535 Reduced V8 binary size by removing virtual functions from hydrogen.
536
537 Fixed crash bug on x64.
538
539 Performance improvements on ARM and IA32.
540
541
danno@chromium.org160a7b02011-04-18 15:51:38 +00005422011-04-18: Version 3.3.0
543
544 Fixed bug in floating point rounding in Crankshaft on ARM
545 (issue 958)
546
547 Fixed a number of issues with running without VFPv3 support on ARM
548 (issue 1315)
549
550 Introduced v8Locale.Collator, a partial implementation of Collator
551 per last ECMAScript meeting + mailing list.
552
553 Minor performance improvements and bug fixes.
554
555
ager@chromium.orga9aa5fa2011-04-13 08:46:07 +00005562011-04-13: Version 3.2.10
557
558 Fixed bug in external float arrays on ARM (issue 1323).
559
560 Minor performance improvements and bug fixes.
561
562
karlklose@chromium.org44bc7082011-04-11 12:33:05 +00005632011-04-11: Version 3.2.9
564
565 Removed support for ABI prior to EABI on ARM.
566
567 Fixed multiple crash bugs.
568
569 Added GCMole to the repository, a simple static analysis tool that
570 searches for GC-unsafe evaluation order dependent callsites.
571
572 Made preparser API be exported in shared libraries.
573
574 Fixed multiple issues in EcmaScript 5 strict mode implementation.
575
576 Fixed mutable __proto__ property if object is not extensible
577 (Issue 1309).
578
579 Fixed auto suspension of the sampler thread.
580
581
vegorov@chromium.org74f333b2011-04-06 11:17:46 +00005822011-04-06: Version 3.2.8
583
584 Exposed WebGL typed array constructors in the shell sample.
585
586 Performance improvements on all platforms.
587
588
kmillikin@chromium.orgc36ce6e2011-04-04 08:25:31 +00005892011-04-04: Version 3.2.7
590
591 Disabled the original 'classic' V8 code generator. Crankshaft is
592 now the default on all platforms.
593
594 Changed the heap profiler to use more descriptive names.
595
596 Performance and stability improvements to isolates on all platforms.
597
598
lrn@chromium.org7516f052011-03-30 08:52:27 +00005992011-03-30: Version 3.2.6
600
601 Fixed xcode build warning in shell.cc (out of order initialization).
602
603 Fixed null-pointer dereference in the compiler when running without
604 SSE3 support (Chromium issue 77654).
605
606 Fixed x64 compilation error due to some dead code. (Issue 1286)
607
608 Introduced scons target to build the preparser stand-alone example.
609
610 Made FreeBSD build and pass all tests.
611
612
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +00006132011-03-28: Version 3.2.5
614
lrn@chromium.org7516f052011-03-30 08:52:27 +0000615 Fixed build with Irregexp interpreter (issue 1266).
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +0000616
617 Added Crankshaft support for external arrays.
618
619 Fixed two potential crash bugs.
620
621
sgjesse@chromium.orgea88ce92011-03-23 11:19:56 +00006222011-03-23: Version 3.2.4
623
624 Added isolates which allows several V8 instances in the same process.
625 This is controlled through the new Isolate class in the API.
626
627 Implemented more of EcmaScript 5 strict mode.
628
629 Reduced the time it takes to make detailed heap snapshot.
630
631 Added a number of commands to the ARM simulator and enhanced the ARM
632 disassembler.
633
634
ricow@chromium.orgbadaffc2011-03-17 12:15:27 +00006352011-03-17: Version 3.2.3
636
637 Fixed a number of crash bugs.
638
639 Fixed Array::New(length) to return an array with a length (issue 1256).
640
641 Fixed FreeBSD build.
642
643 Changed __defineGetter__ to not throw (matching the behavior of Safari).
644
645 Implemented more of EcmaScript 5 strict mode.
646
647 Improved Crankshaft performance on all platforms.
648
649
whesse@chromium.orgb08986c2011-03-14 16:13:42 +00006502011-03-14: Version 3.2.2
651
652 Fixed a number of crash and correctness bugs.
653
654 Improved Crankshaft performance on all platforms.
655
656 Fixed Crankshaft on Solaris/Illumos.
657
658
danno@chromium.org4d3fe4e2011-03-10 10:14:28 +00006592011-03-10: Version 3.2.1
660
661 Fixed a number of crash bugs.
662
663 Improved Crankshaft for x64 and ARM.
664
665 Implemented more of EcmaScript 5 strict mode.
666
667
karlklose@chromium.org8f806e82011-03-07 14:06:08 +00006682011-03-07: Version 3.2.0
669
670 Fixed a number of crash bugs.
671
672 Turned on Crankshaft by default on x64 and ARM.
673
674 Improved Crankshaft for x64 and ARM.
675
676 Implemented more of EcmaScript 5 strict mode.
677
678
ager@chromium.org9ee27ae2011-03-02 13:43:26 +00006792011-03-02: Version 3.1.8
680
681 Fixed a number of crash bugs.
682
683 Improved Crankshaft for x64 and ARM.
684
685 Implemented more of EcmaScript 5 strict mode.
686
687 Fixed issue with unaligned reads and writes on ARM.
688
689 Improved heap profiler support.
690
691
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +00006922011-02-28: Version 3.1.7
693
694 Fixed a number of crash bugs.
695
696 Improved Crankshaft for x64 and ARM.
697
ager@chromium.org9ee27ae2011-03-02 13:43:26 +0000698 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +0000699 arrays (http://crbug.com/73940).
700
701 Fixed bug in map space compaction (http://crbug.com/59688).
702
703 Added support for direct getter accessors calls on ARM.
704
705
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +00007062011-02-24: Version 3.1.6
707
708 Fixed a number of crash bugs.
709
710 Added support for Cygwin (issue 64).
711
712 Improved Crankshaft for x64 and ARM.
713
714 Added Crankshaft support for stores to pixel arrays.
715
716 Fixed issue in CPU profiler with Crankshaft.
717
718
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +00007192011-02-16: Version 3.1.5
720
721 Change RegExp parsing to disallow /(*)/.
722
723 Added GDB JIT support for ARM.
724
725 Fixed several crash bugs.
726
727 Performance improvements on the IA32 platform.
728
729
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00007302011-02-14: Version 3.1.4
731
732 Fixed incorrect compare of prototypes of the global object (issue
733 1082).
734
735 Fixed a bug in optimizing calls to global functions (issue 1106).
736
737 Made optimized Function.prototype.apply safe for non-JSObject first
738 arguments (issue 1128).
739
740 Fixed an error related to element accessors on Object.prototype and
741 parser errors (issue 1130).
742
743 Fixed a bug in sorting an array with large array indices (issue 1131).
744
745 Properly treat exceptions thrown while compiling (issue 1132).
746
747 Fixed bug in register requirements for function.apply (issue 1133).
748
749 Fixed a representation change bug in the Hydrogen graph construction
750 (issue 1134).
751
752 Fixed the semantics of delete on parameters (issue 1136).
753
754 Fixed a optimizer bug related to moving instructions with side effects
755 (issue 1138).
756
757 Added support for the global object in Object.keys (issue 1150).
758
759 Fixed incorrect value for Math.LOG10E
760 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
761
762 Performance improvements on the IA32 platform.
763
764 Implement assignment to undefined reference in ES5 Strict Mode.
765
766
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00007672011-02-09: Version 3.1.3
768
769 Fixed a bug triggered by functions with huge numbers of declared
770 arguments.
771
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000772 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000773
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000774 Fixed issue where Array.prototype.__proto__ had been set to null
775 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +0000776
777 Fixed stability bugs in Crankshaft for x86.
778
779
ricow@chromium.org83aa5492011-02-07 12:42:56 +00007802011-02-07: Version 3.1.2
781
782 Added better security checks when accessing properties via
783 Object.getOwnPropertyDescriptor.
784
785 Fixed bug in Object.defineProperty and related access bugs (issues
786 992, 1083 and 1092).
787
788 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
789 copyright notice generation for embedders.
790
791
kmillikin@chromium.org31b12772011-02-02 16:08:26 +00007922011-02-02: Version 3.1.1
793
794 Perform security checks before fetching the value in
795 Object.getOwnPropertyDescriptor.
796
797 Fixed a bug in Array.prototype.splice triggered by passing no
798 arguments.
799
800 Fixed bugs in -0 in arithmetic and in Math.pow.
801
802 Fixed bugs in the register allocator and in switching from optimized
803 to unoptimized code.
804
805
8062011-01-31: Version 3.1.0
807
whesse@chromium.org7a392b32011-01-31 11:30:36 +0000808 Performance improvements on all platforms.
809
810
ager@chromium.org378b34e2011-01-28 08:04:38 +00008112011-01-28: Version 3.0.12
812
813 Added support for strict mode parameter and object property
814 validation.
815
816 Fixed a couple of crash bugs.
817
818
ager@chromium.org0ee099b2011-01-25 14:06:47 +00008192011-01-25: Version 3.0.11
820
821 Fixed a bug in deletion of lookup slots that could cause global
822 variables to be accidentally deleted (http://crbug.com/70066).
823
824 Added support for strict mode octal literal verification.
825
826 Fixed a couple of crash bugs (issues 1070 and 1071).
827
828
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00008292011-01-24: Version 3.0.10
830
831 Fixed External::Wrap for 64-bit addresses (issue 1037).
832
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000833 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000834 code generator (issue 1060).
835
836 Introduced partial strict mode support.
837
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +0000838 Changed formatting of recursive error messages to match Firefox and
839 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000840
841 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +0000842 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +0000843 (issue http://crbug.com/50972).
844
845 Performance improvements on the IA32 platform.
846
847
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00008482011-01-19: Version 3.0.9
849
850 Added basic GDB JIT Interface integration.
851
852 Make invalid break/continue statements a syntax error instead of a
853 runtime error.
854
855
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00008562011-01-17: Version 3.0.8
857
858 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +0000859 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +0000860
861 Wrapped external pointers more carefully (issue 1037).
862
863 Hardened the implementation of error objects to avoid setters
864 intercepting the properties set then throwing an error.
865
866 Avoided trashing the FPSCR when calculating Math.floor on ARM.
867
868 Performance improvements on the IA32 platform.
869
870
8712011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000872
873 Stopped calling inherited setters when creating object literals
874 (issue 1015).
875
876 Changed interpretation of malformed \c? escapes in RegExp to match
877 JSC.
878
879 Enhanced the command-line debugger interface and fixed some minor
880 bugs in the debugger.
881
882 Performance improvements on the IA32 platform.
883
884
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00008852011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000886
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000887 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000888
889 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000890 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000891
892 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000893 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000894
895 Added use_system_v8 option to gyp (off by default), to make it easier
896 for Linux distributions to ship with system-provided V8 library.
897
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +0000898 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +0000899
900 Added labelled thread names to help with debugging (on Linux).
901
902
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +00009032011-01-03: Version 3.0.5
904
905 Fixed a couple of cast errors for gcc-3.4.3.
906
907 Performance improvements in GC and IA32 code generator.
908
909
whesse@chromium.org023421e2010-12-21 12:19:12 +00009102010-12-21: Version 3.0.4
911
912 Added Date::ResetCache() to the API so that the cached values in the
913 Date object can be reset to allow live DST / timezone changes.
914
915 Extended existing support for printing (while debugging) the contents
916 of objects. Added support for printing objects from release builds.
917
918 Fixed V8 issues 989, 1006, and 1007.
919
920
ager@chromium.org5f0c45f2010-12-17 08:51:21 +00009212010-12-17: Version 3.0.3
922
923 Reapplied all changes for version 3.0.1.
924
925 Improved debugger protocol for remote debugging.
926
927 Added experimental support for using gyp to generate build files
928 for V8.
929
930 Fixed implementation of String::Write in the API (issue 975).
931
932
lrn@chromium.org8541d772010-12-15 12:05:09 +00009332010-12-15: Version 3.0.2
934
935 Revert version 3.0.1 and patch 3.0.1.1.
936
937
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00009382010-12-13: Version 3.0.1
939
940 Added support for an experimental internationalization API as an
941 extension. This extension is disabled by default but can be enabled
942 when building V8. The ECMAScript internationalization strawman is
943 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
944
945 Made RegExp character class parsing stricter. This mirrors a change
946 to RegExp parsing in WebKit.
947
948 Fixed a bug in Object.defineProperty when used to change attributes
949 of an existing property. It incorrectly set the property value to
950 undefined (issue 965).
951
952 Fixed several different compilation failures on various platforms
953 caused by the 3.0.0 release.
954
955 Optimized Math.pow so it can work on unboxed doubles.
956
957 Sped up quoting of JSON strings by removing one traversal of the
958 string.
959
960
kasperl@chromium.orga5551262010-12-07 12:49:48 +00009612010-12-07: Version 3.0.0
962
963 Improved performance by (partially) addressing issue 957 on
964 IA-32. Still needs more work for the other architectures.
965
966
ager@chromium.orgbeb25712010-11-29 08:02:25 +00009672010-11-29: Version 2.5.9
968
969 Fixed crashes during GC caused by partially initialize heap
970 objects.
971
972 Fixed bug in process sample that caused memory leaks.
973
974 Improved performance on ARM by implementing missing stubs and
975 inlining.
976
977 Improved heap profiler support.
978
979 Added separate seeding on Windows of the random number generator
980 used internally by the compiler (issue 936).
981
982 Exposed API for getting the name of the function used to construct
983 an object.
984
985 Fixed date parser to handle one and two digit millisecond
986 values (issue 944).
987
988 Fixed number parsing to disallow space between sign and
989 digits (issue 946).
990
991
vegorov@chromium.org21b5e952010-11-23 10:24:40 +00009922010-11-23: Version 2.5.8
993
994 Removed dependency on Gay's dtoa.
995
996 Improved heap profiler precision and speed.
997
998 Reduced overhead of callback invocations on ARM.
999
1000
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +000010012010-11-18: Version 2.5.7
1002
1003 Fixed obscure evaluation order bug (issue 931).
1004
1005 Split the random number state between JavaScript and the private API.
1006
1007 Fixed performance bug causing GCs when generating stack traces on
1008 code from very large scripts.
1009
1010 Fixed bug in parser that allowed (foo):42 as a labelled statement
1011 (issue 918).
1012
1013 Provide more accurate results about used heap size via
1014 GetHeapStatistics.
1015
1016 Allow build-time customization of the max semispace size.
1017
1018 Made String.prototype.split honor limit when separator is empty
1019 (issue 929).
1020
1021 Added missing failure check after expecting an identifier in
1022 preparser (Chromium issue 62639).
1023
1024
ager@chromium.org01fe7df2010-11-10 11:59:11 +000010252010-11-10: Version 2.5.6
1026
1027 Added support for VFP rounding modes to the ARM simulator.
1028
1029 Fixed multiplication overflow bug (issue 927).
1030
1031 Added a limit for the amount of executable memory (issue 925).
1032
1033
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000010342010-11-08: Version 2.5.5
1035
1036 Added more aggressive GC of external objects in near out-of-memory
1037 situations.
1038
1039 Fixed a bug that gave the incorrect result for String.split called
1040 on the empty string (issue 924).
1041
1042
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000010432010-11-03: Version 2.5.4
1044
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00001045 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00001046
1047
fschneider@chromium.orge03fb642010-11-01 12:34:09 +000010482010-11-01: Version 2.5.3
1049
1050 Fixed a bug that prevents constants from overwriting function values
1051 in object literals (issue 907).
1052
1053 Fixed a bug with reporting of impossible nested calls of DOM functions
1054 (issue http://crbug.com/60753).
1055
1056
lrn@chromium.org303ada72010-10-27 09:33:13 +000010572010-10-27: Version 2.5.2
1058
1059 Improved sampler resolution on Linux.
1060
1061 Allowed forcing the use of a simulator from the build script
1062 independently of the host architecture.
1063
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00001064 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +00001065
1066 Made windows-tick-processor respect D8_PATH.
1067
1068 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
1069
1070
whesse@chromium.org4a5224e2010-10-20 12:37:07 +000010712010-10-20: Version 2.5.1
1072
1073 Fixed bug causing spurious out of memory exceptions
1074 (issue http://crbug.com/54580).
1075
1076 Fixed compilation error on Solaris platform (issue 901).
1077
1078 Fixed error in strtod (string to floating point number conversion)
1079 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
1080
1081 Adjusted randomized allocations of executable memory to have 64k
1082 granularity (issue http://crbug.com/56036).
1083
1084 Supported profiling using kernel perf_events on linux. Added ll_prof
1085 script to tools and --ll-prof flag to V8.
1086
1087
vegorov@chromium.org42841962010-10-18 11:18:59 +000010882010-10-18: Version 2.5.0
1089
1090 Fixed bug in cache handling of lastIndex on global regexps
1091 (issue http://crbug.com/58740).
1092
1093 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
1094 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00001095 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +00001096
1097 Fixed compilation error on ARM with gcc 4.4 (issue 894).
1098
1099
11002010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +00001101
1102 Fixed a bug in the handling of conditional expressions in test
1103 contexts in compiler for top-level code.
1104
1105 Added "//@ sourceURL" information to the StackTrace API.
1106
1107 Exposed RegExp construction through the API.
1108
1109
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +000011102010-10-04: Version 2.4.8
1111
1112 Fixed a bug in ResumeProfilerEx causing it to not always write out the
1113 whole snapshot (issue 868).
1114
1115 Performance improvements on all platforms.
1116
1117
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000011182010-09-30: Version 2.4.7
1119
1120 Changed the command-line flag --max-new-space-size to be in kB and the
1121 flag --max-old-space-size to be in MB (previously they were in bytes).
1122
1123 Added Debug::CancelDebugBreak to the debugger API.
1124
1125 Fixed a bug in getters for negative numeric property names
1126 (https://bugs.webkit.org/show_bug.cgi?id=46689).
1127
1128 Performance improvements on all platforms.
1129
1130
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000011312010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001132
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00001133 Fixed assertion failure related to copy-on-write arrays (issue 876).
1134
1135 Fixed build failure of 64-bit V8 on Windows.
1136
1137 Fixed a bug in RegExp (issue http://crbug.com/52801).
1138
1139 Improved the profiler's coverage to cover more functions (issue 858).
1140
1141 Fixed error in shift operators on 64-bit V8
1142 (issue http://crbug.com/54521).
1143
1144
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000011452010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00001146
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001147 Changed the RegExp benchmark to exercise the regexp engine on different
1148 inputs by scrambling the input strings.
1149
1150 Fixed a bug in keyed loads on strings.
1151
1152 Fixed a bug with loading global function prototypes.
1153
1154 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
1155
1156 Performance improvements on all platforms.
1157
1158
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000011592010-09-15: Version 2.4.4
1160
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001161 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001162
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001163 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001164
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001165 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001166
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001167 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00001168
1169
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +000011702010-09-13: Version 2.4.3
1171
1172 Made Date.parse properly handle TZ offsets (issue 857).
1173
1174 Performance improvements on all platforms.
1175
1176
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000011772010-09-08: Version 2.4.2
1178
1179 Fixed GC crash bug.
1180
1181 Fixed stack corruption bug.
1182
1183 Fixed compilation for newer C++ compilers that found Operand(0)
1184 ambiguous.
1185
1186
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000011872010-09-06: Version 2.4.1
1188
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001189 Added the ability for an embedding application to receive a callback
1190 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
1191 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001192
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001193 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001194
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001195 Fixed memory overrun crash bug triggered during V8's tick-based
1196 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001197
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001198 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001199
1200
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +000012012010-09-01: Version 2.4.0
1202
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001203 Fixed bug in Object.freeze and Object.seal when Array.prototype or
1204 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001205
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001206 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001207 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001208
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001209 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001210
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001211 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001212
1213
ricow@chromium.org65fae842010-08-25 15:26:24 +000012142010-08-25: Version 2.3.11
1215
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001216 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001217
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001218 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001219 VARIANT_FLAGS that allows specification of sets of flags with which
1220 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001221
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001222 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001223
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001224 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +00001225
1226
erik.corry@gmail.com145eff52010-08-23 11:36:18 +000012272010-08-23: Version 2.3.10
1228
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001229 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00001230
1231 Build fixes for unusual compilers.
1232
1233 Track high water mark for RWX memory.
1234
1235 Performance improvements on all platforms.
1236
1237
ricow@chromium.org0b9f8502010-08-18 07:45:01 +000012382010-08-18: Version 2.3.9
1239
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001240 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001241
1242 Removed specialized handling of GCC 4.4 (issue 830).
1243
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001244 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001245 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
1246
ricow@chromium.org65fae842010-08-25 15:26:24 +00001247 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001248
1249
ager@chromium.orgea4f62e2010-08-16 16:28:43 +000012502010-08-16: Version 2.3.8
1251
1252 Fixed build with strict aliasing on GCC 4.4 (issue 463).
1253
1254 Fixed issue with incorrect handling of custom valueOf methods on
1255 string wrappers (issue 760).
1256
1257 Fixed compilation for ARMv4 (issue 590).
1258
1259 Improved performance.
1260
1261
vegorov@chromium.org26c16f82010-08-11 13:41:03 +000012622010-08-11: Version 2.3.7
1263
1264 Reduced size of heap snapshots produced by heap profiler (issue 783).
1265
1266 Introduced v8::Value::IsRegExp method.
1267
1268 Fixed CPU profiler crash in start / stop sequence when non-existent
1269 name is passed (issue http://crbug.com/51594).
1270
1271 Introduced new indexed property query callbacks API (issue 816). This
1272 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
1273 by default.
1274
1275 Removed support for object literal get/set with number/string
1276 property name.
1277
1278 Fixed handling of JSObject::elements in CalculateNetworkSize
1279 (issue 822).
1280
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001281 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001282
1283
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +000012842010-08-09: Version 2.3.6
1285
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001286 RegExp literals create a new object every time they are evaluated
1287 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001288
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001289 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001290
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001291 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001292
1293
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +000012942010-08-04: Version 2.3.5
1295
1296 Added support for ES5 property names. Object initialisers and
1297 dot-notation property access now allows keywords. Also allowed
1298 non-identifiers after "get" or "set" in an object initialiser.
1299
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001300 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00001301
1302
whesse@chromium.orge90029b2010-08-02 11:52:17 +000013032010-08-02: Version 2.3.4
1304
1305 Fixed problems in implementation of ES5 function.prototype.bind.
1306
1307 Fixed error when using apply with arguments object on ARM (issue 784).
1308
1309 Added setting of global flags to debugger protocol.
1310
1311 Fixed an error affecting cached results of sin and cos (issue 792).
1312
1313 Removed memory leak from a boundary case where V8 is not initialized.
1314
1315 Fixed issue where debugger could set breakpoints outside the body
1316 of a function.
1317
1318 Fixed issue in debugger when using both live edit and step in features.
1319
1320 Added Number-letter (Nl) category to Unicode tables. These characters
1321 can now be used in identifiers.
1322
1323 Fixed an assert failure on X64 (issue 806).
1324
1325 Performance improvements on all platforms.
1326
1327
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +000013282010-07-26: Version 2.3.3
1329
1330 Fixed error when building the d8 shell in a fresh checkout.
1331
1332 Implemented Function.prototype.bind (ES5 15.3.4.5).
1333
1334 Fixed an error in inlined stores on ia32.
1335
1336 Fixed an error when setting a breakpoint at the end of a function
1337 that does not end with a newline character.
1338
1339 Performance improvements on all platforms.
1340
1341
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +000013422010-07-21: Version 2.3.2
1343
1344 Fixed compiler warnings when building with LLVM.
1345
1346 Fixed a bug with for-in applied to strings (issue 785).
1347
1348 Performance improvements on all platforms.
1349
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00001350
ricow@chromium.org4980dff2010-07-19 08:33:45 +000013512010-07-19: Version 2.3.1
1352
1353 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
1354
1355 Fixed bug related to code flushing while compiling a lazy
1356 compilable function (issue http://crbug.com/49099).
1357
1358 Performance improvements on all platforms.
1359
1360
ager@chromium.orgb5737492010-07-15 09:29:43 +000013612010-07-15: Version 2.3.0
1362
1363 Added ES5 Object.seal and Object.isSealed.
1364
1365 Added debugger API for scheduling debugger commands from a
1366 separate thread.
1367
1368
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +000013692010-07-14: Version 2.2.24
1370
1371 Added API for capturing stack traces for uncaught exceptions.
1372
1373 Fixed crash bug when preparsing from a non-external V8 string
1374 (issue 775).
1375
1376 Fixed JSON.parse bug causing input not to be converted to string
1377 (issue 764).
1378
1379 Added ES5 Object.freeze and Object.isFrozen.
1380
1381 Performance improvements on all platforms.
1382
1383
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +000013842010-07-07: Version 2.2.23
1385
1386 API change: Convert Unicode code points outside the basic multilingual
1387 plane to the replacement character. Previous behavior was to silently
1388 truncate the value to 16 bits.
1389
1390 Fixed crash: handle all flat string types in regexp replace.
1391
1392 Prevent invalid pre-parsing data passed in through the API from
1393 crashing V8.
1394
1395 Performance improvements on all platforms.
1396
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00001397
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +000013982010-07-05: Version 2.2.22
1399
1400 Added ES5 Object.isExtensible and Object.preventExtensions.
1401
1402 Enabled building V8 as a DLL.
1403
1404 Fixed a bug in date code where -0 was not interpreted as 0
1405 (issue 736).
1406
1407 Performance improvements on all platforms.
1408
1409
lrn@chromium.org32d961d2010-06-30 09:09:34 +000014102010-06-30: Version 2.2.21
1411
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001412 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00001413
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001414 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00001415
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001416 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00001417
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001418 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00001419
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001420 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00001421
1422 Provide actual breakpoints locations in response to setBreakpoint
1423 and listBreakpoints requests.
1424
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001425
fschneider@chromium.org40b9da32010-06-28 11:29:21 +000014262010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001427
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001428 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00001429
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001430 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001431
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001432 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00001433
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001434 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00001435 miscalculated for some inputs.
1436
1437 Performance improvements on all platforms.
1438
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001439
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +000014402010-06-23: Version 2.2.19
1441
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001442 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00001443 (issue 738).
1444
1445 Added expose-externalize-string flag for testing extensions.
1446
1447 Resolve linker issues with using V8 as a DLL causing a number of
1448 problems with unresolved symbols.
1449
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001450 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00001451 defined.
1452
1453 Performance improvements on all platforms.
1454
1455
whesse@chromium.org2c186ca2010-06-16 11:32:39 +000014562010-06-16: Version 2.2.18
1457
1458 Added API functions to retrieve information on indexed properties
1459 managed by the embedding layer. Fixes bug 737.
1460
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001461 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00001462
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001463 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00001464
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001465 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00001466
1467 Incremental performance improvements.
1468
1469
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000014702010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00001471
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00001472 Improved debugger support for stepping out of functions.
1473
1474 Incremental performance improvements.
1475
1476
14772010-06-09: Version 2.2.16
1478
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001479 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00001480 disposal of external string resources to call a virtual Dispose
1481 method on the resource.
1482
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00001483 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00001484 stepping.
1485
1486 Memory usage improvements on all platforms.
1487
1488
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +000014892010-06-07: Version 2.2.15
1490
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001491 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00001492
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001493 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00001494 some compilers complaint when compiling with -Werror.
1495
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001496 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00001497
1498
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +000014992010-06-02: Version 2.2.14
1500
1501 Fixed a crash in code generated for String.charCodeAt.
1502
1503 Fixed a compilation issue with some GCC versions (issue 727).
1504
1505 Performance optimizations on x64 and ARM platforms.
1506
1507
ricow@chromium.org30ce4112010-05-31 10:38:25 +000015082010-05-31: Version 2.2.13
1509
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001510 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +00001511 strings (issue 599).
1512
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001513 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00001514
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001515 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00001516
1517 Performance improvements on all platforms.
1518
1519
kmillikin@chromium.org9155e252010-05-26 13:27:57 +000015202010-05-26: Version 2.2.12
1521
1522 Allowed accessors to be defined on objects rather than just object
1523 templates.
1524
1525 Changed the ScriptData API.
1526
1527
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000015282010-05-21: Version 2.2.11
1529
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001530 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001531
1532 Use 'full compiler' when debugging is active. This should increase
1533 the density of possible break points, making single step more fine
1534 grained. This will only take effect for functions compiled after
1535 debugging has been started, so recompilation of all functions is
1536 required to get the full effect. IA32 and x64 only for now.
1537
1538 Misc. fixes to the Solaris build.
1539
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001540 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001541
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001542 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001543
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001544 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001545
1546 Incremental performance improvements in all backends.
1547
1548
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +000015492010-05-17: Version 2.2.10
1550
1551 Performance improvements in the x64 and ARM backends.
1552
1553
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +000015542010-05-10: Version 2.2.9
1555
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001556 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00001557
1558 Fixed bug with Date.parse returning a non-NaN value when called on a
1559 non date string (issue 696).
1560
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001561 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00001562 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00001563
1564 C++ API for retrieving JavaScript stack trace information.
1565
1566
ager@chromium.orgac091b72010-05-05 07:34:42 +000015672010-05-05: Version 2.2.8
1568
1569 Performance improvements in the x64 and ARM backends.
1570
1571
kmillikin@chromium.org4111b802010-05-03 10:34:42 +000015722010-05-03: Version 2.2.7
1573
1574 Added support for ES5 date time string format to Date.parse.
1575
1576 Performance improvements in the x64 backend.
1577
1578
lrn@chromium.orgc34f5802010-04-28 12:53:43 +000015792010-04-28: Version 2.2.6
1580
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001581 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001582 (by Ryan Dahl <coldredlemur@gmail.com>).
1583
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001584 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001585
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001586 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001587
1588 Performance improvements on all platforms.
1589
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00001590
fschneider@chromium.org013f3e12010-04-26 13:27:52 +000015912010-04-26: Version 2.2.5
1592
1593 Various performance improvements (especially for ARM and x64)
1594
1595 Fixed bug in CPU profiling (http://crbug.com/42137)
1596
1597 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00001598
1599 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00001600 wrong calculations.
1601
1602 Fixed a bug that may cause a wrong result for shift operations.
1603
1604
16052010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +00001606
1607 Fixed warnings on arm on newer GCC versions.
1608
1609 Fixed a number of minor bugs.
1610
1611 Performance improvements on all platforms.
1612
1613
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +000016142010-04-14: Version 2.2.3
1615
1616 Added stack command and mem command to ARM simulator debugger.
1617
1618 Fixed scons snapshot and ARM build, and Windows X64 build issues.
1619
1620 Performance improvements on all platforms.
1621
1622
ager@chromium.org357bf652010-04-12 11:30:10 +000016232010-04-12: Version 2.2.2
1624
1625 Introduced new profiler API.
1626
1627 Fixed random number generator to produce full 32 random bits.
1628
1629
lrn@chromium.org25156de2010-04-06 13:10:27 +000016302010-04-06: Version 2.2.1
1631
1632 Debugger improvements.
1633
1634 Fixed minor bugs.
1635
1636
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000016372010-03-29: Version 2.2.0
1638
1639 Fixed a few minor bugs.
1640
1641 Performance improvements for string operations.
1642
1643
ager@chromium.orgb26c50a2010-03-26 09:27:16 +000016442010-03-26: Version 2.1.10
1645
1646 Fixed scons build issues.
1647
1648 Fixed a couple of minor bugs.
1649
1650
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +000016512010-03-25: Version 2.1.9
1652
1653 Added API support for reattaching a global object to a context.
1654
1655 Extended debugger API with access to the internal debugger context.
1656
1657 Fixed Chromium crashes (issues http://crbug.com/39128 and
1658 http://crbug.com/39160)
1659
1660
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +000016612010-03-24: Version 2.1.8
1662
1663 Added fine-grained garbage collection callbacks to the API.
1664
1665 Performance improvements on all platforms.
1666
1667
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000016682010-03-22: Version 2.1.7
1669
1670 Fixed issue 650.
1671
1672 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +00001673
1674 Performance improvements for arithmetic operations.
1675
1676 Performance improvements for string operations.
1677
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00001678 Print script name and line number information in stack trace.
1679
1680
16812010-03-17: Version 2.1.6
1682
1683 Performance improvements for arithmetic operations.
1684
1685 Performance improvements for string operations.
1686
1687
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000016882010-03-10: Version 2.1.4
1689
1690 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
1691
1692 Performance improvements on all platforms.
1693
1694
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000016952010-03-10: Version 2.1.3
1696
1697 Added API method for context-disposal notifications.
1698
1699 Added API method for accessing elements by integer index.
1700
1701 Added missing implementation of Uint32::Value and Value::IsUint32
1702 API methods.
1703
1704 Added IsExecutionTerminating API method.
1705
1706 Disabled strict aliasing for GCC 4.4.
1707
1708 Fixed string-concatenation bug (issue 636).
1709
1710 Performance improvements on all platforms.
1711
1712
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000017132010-02-23: Version 2.1.2
1714
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001715 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001716
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001717 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00001718
1719 Performance improvements on all platforms.
1720
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00001721
ager@chromium.org5c838252010-02-19 08:53:10 +000017222010-02-19: Version 2.1.1
1723
1724 [ES5] Implemented Object.defineProperty.
1725
1726 Improved profiler support.
1727
1728 Added SetPrototype method in the public V8 API.
1729
1730 Added GetScriptOrigin and GetScriptLineNumber methods to Function
1731 objects in the API.
1732
1733 Performance improvements on all platforms.
1734
1735
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000017362010-02-03: Version 2.1.0
1737
1738 Values are now always wrapped in objects when used as a receiver.
1739 (issue 223).
1740
1741 [ES5] Implemented Object.getOwnPropertyNames.
1742
1743 [ES5] Restrict JSON.parse to only accept strings that conforms to the
1744 JSON grammar.
1745
1746 Improvement of debugger agent (issue 549 and 554).
1747
1748 Fixed problem with skipped stack frame in profiles (issue 553).
1749
1750 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
1751 <ry@tinyclouds.org>.
1752
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001753 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001754 integers.
1755
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001756 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001757 functions (isue http://crbug.com/3867).
1758
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001759 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00001760
1761 Numerous performance improvements including porting of previous IA-32
1762 optimizations to x64 and ARM architectures.
1763
1764
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000017652010-01-14: Version 2.0.6
1766
1767 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
1768 GetOwnProperty, FromPropertyDescriptor.
1769
1770 Fixed Mac x64 build errors.
1771
1772 Improved performance of some math and string operations.
1773
1774 Improved performance of some regexp operations.
1775
1776 Improved performance of context creation.
1777
1778 Improved performance of hash tables.
1779
1780
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000017812009-12-18: Version 2.0.5
1782
1783 Extended to upper limit of map space to allow for 7 times as many map
1784 to be allocated (issue 524).
1785
1786 Improved performance of code using closures.
1787
1788 Improved performance of some binary operations involving doubles.
1789
1790
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000017912009-12-16: Version 2.0.4
1792
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001793 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001794
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001795 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001796
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001797 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001798
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001799 Improved handling of external strings by using a separate table
1800 instead of weak handles. This improves garbage collection
1801 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001802
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001803 Changed code generation for object and array literals in toplevel
1804 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001805
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001806 Fixed a crash bug triggered when garbage collection happened during
1807 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001808
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00001809 Fixed crash bug sometimes triggered when local variables shadowed
1810 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001811
1812
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000018132009-12-03: Version 2.0.3
1814
1815 Optimized handling and adding of strings, for-in and Array.join.
1816
1817 Heap serialization is now non-destructive.
1818
1819 Improved profiler support with information on time spend in C++
1820 callbacks registered through the API.
1821
1822 Added commands to the debugger protocol for starting/stopping
1823 profiling.
1824
1825 Enabled the non-optimizing compiler for top-level code.
1826
1827 Changed the API to only allow strings to be set as data objects on
1828 Contexts and scripts to avoid potentially keeping global objects
1829 around for too long (issue 528).
1830
1831 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
1832
1833 Fixed bugs.
1834
1835
ager@chromium.org01beca72009-11-24 14:29:16 +000018362009-11-24: Version 2.0.2
1837
1838 Improved profiler support.
1839
1840 Fixed bug that broke compilation of d8 with readline support.
1841
1842
ager@chromium.org6141cbe2009-11-20 12:14:52 +000018432009-11-20: Version 2.0.1
1844
1845 Fixed crash bug in String.prototype.replace.
1846
1847 Reverted a change which caused Chromium interactive ui test
1848 failures.
1849
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001850
ager@chromium.orgc4c92722009-11-18 14:12:51 +000018512009-11-18: Version 2.0.0
1852
1853 Added support for VFP on ARM.
1854
1855 Added TryCatch::ReThrow method to the API.
1856
1857 Reduced the size of snapshots and improved the snapshot load time.
1858
1859 Improved heap profiler support.
1860
1861 64-bit version now supported on Windows.
1862
1863 Fixed a number of debugger issues.
1864
1865 Fixed bugs.
1866
1867
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000018682009-10-29: Version 1.3.18
1869
1870 Reverted a change which caused crashes in RegExp replace.
1871
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00001872 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00001873
1874
ager@chromium.org3811b432009-10-28 14:53:37 +000018752009-10-28: Version 1.3.17
1876
1877 Added API method to get simple heap statistics.
1878
1879 Improved heap profiler support.
1880
1881 Fixed the implementation of the resource constraint API so it
1882 works when using snapshots.
1883
1884 Fixed a number of issues in the Windows 64-bit version.
1885
1886 Optimized calls to API getters.
1887
1888 Added valgrind notification on code modification to the 64-bit version.
1889
1890 Fixed issue where we logged shared library addresses on Windows at
1891 startup and never used them.
1892
1893
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000018942009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001895
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001896 X64: Convert smis to holding 32 bits of payload.
1897
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001898 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001899
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001900 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001901
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001902 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001903 Patch by Jan de Mooij <jandemooij@gmail.com>
1904
1905 Implement ES5 Array.isArray
1906 Patch by Jan de Mooij <jandemooij@gmail.com>
1907
1908 Skip access checks for hidden properties.
1909
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001910 Added String::Concat(Handle<String> left, Handle<String> right) to the
1911 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001912
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001913 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00001914
1915
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000019162009-10-07: Version 1.3.15
1917
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001918 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00001919
1920 Fixed a crash bug happening when starting profiling (issue
1921 http://crbug.com/23768).
1922
1923
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000019242009-10-07: Version 1.3.14
1925
1926 Added GetRealNamedProperty to the API to lookup real properties
1927 located on the object or in the prototype chain skipping any
1928 interceptors.
1929
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001930 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001931 stack limit now needs to be set to each thread thich is used with V8.
1932
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001933 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001934
1935 Ensure V8 is initialized before locking and unlocking threads.
1936
1937 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00001938 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00001939 Crockford from the project.
1940
1941 Added a missing optimization in StringCharAt.
1942
1943 Fixed some flaky socket tests.
1944
1945 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
1946 in 64-bit mode.
1947
1948 Fixed memory leaks in the thread management code.
1949
1950 Fixed the result of assignment to a pixel array. The assigned value
1951 is now the result.
1952
1953 Error reporting for invalid left-hand sides in for-in statements, pre-
1954 and postfix count expressions, and assignments now matches the JSC
1955 behavior in Safari 4.
1956
1957 Follow the spec in disallowing function declarations without a name.
1958
1959 Always allocate code objects within a 2 GB range. On x64 architecture
1960 this is used to use near calls (32-bit displacement) in Code objects.
1961
1962 Optimized array construction ported to x64 and ARM architectures.
1963
1964 [ES5] Changed Object.keys to return strings for element indices.
1965
1966
ager@chromium.org68e7ab72009-09-23 09:40:39 +000019672009-09-23: Version 1.3.13
1968
1969 Fixed uninitialized memory problem.
1970
1971 Improved heap profiler support.
1972
1973
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000019742009-09-22: Version 1.3.12
1975
1976 Changed behavior of |function|.toString() on built-in functions to
1977 be compatible with other implementations. Patch by Jan de Mooij.
1978
1979 Added Object::IsDirty in the API.
1980
1981 Optimized array construction; it is now handled purely in native
1982 code.
1983
1984 [ES5] Made properties of the arguments array enumerable.
1985
1986 [ES5] Added test suite adapter for the es5conform test suite.
1987
1988 [ES5] Added Object.keys function.
1989
ager@chromium.org68e7ab72009-09-23 09:40:39 +00001990
ager@chromium.org4af710e2009-09-15 12:20:11 +000019912009-09-15: Version 1.3.11
1992
1993 Fixed crash in error reporting during bootstrapping.
1994
1995 Optimized generated IA32 math code by using SSE2 instructions when
1996 available.
1997
1998 Implemented missing pieces of debugger infrastructure on ARM. The
1999 debugger is now fully functional on ARM.
2000
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002001 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00002002
2003
ager@chromium.orga1645e22009-09-09 19:27:10 +000020042009-09-09: Version 1.3.10
2005
2006 Fixed profiler on Mac in 64-bit mode.
2007
2008 Optimized creation of objects from simple constructor functions on
2009 ARM.
2010
2011 Fixed a number of debugger issues.
2012
2013 Reduced the amount of memory consumed by V8.
2014
2015
ager@chromium.org18ad94b2009-09-02 08:22:29 +000020162009-09-02: Version 1.3.9
2017
2018 Optimized stack guard checks on ARM.
2019
2020 Optimized API operations by inlining more in the API.
2021
2022 Optimized creation of objects from simple constructor functions.
2023
2024 Enabled a number of missing optimizations in the 64-bit port.
2025
2026 Implemented native-code support for regular expressions on ARM.
2027
2028 Stopped using the 'sahf' instruction on 64-bit machines that do
2029 not support it.
2030
2031 Fixed a bug in the support for forceful termination of JavaScript
2032 execution.
2033
2034
ager@chromium.org96c75b52009-08-26 09:13:16 +000020352009-08-26: Version 1.3.8
2036
2037 Changed the handling of idle notifications to allow idle
2038 notifications when V8 has not yet been initialized.
2039
2040 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002041
ager@chromium.org96c75b52009-08-26 09:13:16 +00002042
ager@chromium.orgab99eea2009-08-25 07:05:41 +000020432009-08-25: Version 1.3.7
2044
2045 Reduced the size of generated code on ARM platforms by reducing
2046 the size of constant pools.
2047
2048 Changed build files to not include the 'ENV' user environment
2049 variable in the build environment.
2050
2051 Changed the handling of idle notifications.
2052
2053
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000020542009-08-21: Version 1.3.6
2055
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002056 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00002057
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002058 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00002059 a low memory situation to V8.
2060
2061 Changed the handling of global handles (persistent handles in the API
2062 sense) to avoid issues regarding allocation of new global handles
2063 during weak handle callbacks.
2064
2065 Changed the growth policy of the young space.
2066
2067 Fixed a GC issue introduced in version 1.3.5.
2068
2069
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000020702009-08-19: Version 1.3.5
2071
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002072 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002073
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002074 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002075
2076 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
2077
2078 Changed typeof RegExp from 'object' to 'function' for compatibility.
2079 Fixed bug where regexps were not callable across contexts.
2080
2081 Added context independent script compilation to the API.
2082
2083 Added API call to get the stack trace for an exception.
2084
2085 Added API for getting object mirrors.
2086
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002087 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00002088 running off a snapshot generated without using SSE3 instructions.
2089
2090 Tweaked the handling of the initial size and growth policy of the heap.
2091
2092 Added native code generation for RegExp to 64-bit version.
2093
2094 Added JavaScript debugger support to 64-bit version.
2095
2096
ager@chromium.orgadd848f2009-08-13 12:44:13 +000020972009-08-13: Version 1.3.4
2098
2099 Added a readline() command to the d8 shell.
2100
2101 Fixed bug in json parsing.
2102
2103 Added idle notification to the API and reduced memory on idle
2104 notifications.
2105
2106
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000021072009-08-12: Version 1.3.3
2108
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002109 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002110
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002111 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002112
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002113 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002114
2115 API: added function to find instance of template in prototype
2116 chain. Inlined Object::IsInstanceOf.
2117
2118 Land change to notify valgrind when we modify code on x86.
2119
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002120 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002121
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002122 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00002123
2124
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000021252009-08-05: Version 1.3.2
2126
2127 Started new compiler infrastructure for two-pass compilation using a
2128 control flow graph constructed from the AST.
2129
2130 Profiler stack sampling for X64.
2131
2132 Safe handling of NaN to Posix platform-dependent time functions.
2133
2134 Added a new profiler control API to unify controlling various aspects
2135 of profiling.
2136
2137 Fixed issue 392.
2138
2139
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000021402009-07-30: Version 1.3.1
2141
2142 Speed improvements to accessors and interceptors.
2143
2144 Added support for capturing stack information on custom errors.
2145
2146 Added support for morphing an object into a pixel array where its
2147 indexed properties are stored in an external byte array. Values written
2148 are always clamped to the 0..255 interval.
2149
2150 Profiler on x64 now handles C/C++ functions from shared libraries.
2151
2152 Changed the debugger to avoid stepping into function.call/apply if the
2153 function is a built-in.
2154
2155 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002156
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00002157 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002158
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00002159 Optimized the called as constructor check for API calls.
2160
2161
kasperl@chromium.orge959c182009-07-27 08:59:04 +000021622009-07-27: Version 1.3.0
2163
2164 Allowed RegExp objects to be called as functions (issue 132).
2165
2166 Fixed issue where global property cells would escape after
2167 detaching the global object; see http://crbug.com/16276.
2168
2169 Added support for stepping into setters and getters in the
2170 debugger.
2171
2172 Changed the debugger to avoid stopping in its own JavaScript code
2173 and in the code of built-in functions.
2174
2175 Fixed issue 345 by avoiding duplicate escaping labels.
2176
2177 Fixed ARM code generator crash in short-circuited boolean
2178 expressions and added regression tests.
2179
2180 Added an external allocation limit to avoid issues where small V8
2181 objects would hold on to large amounts of external memory without
2182 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002183
2184 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00002185
2186
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000021872009-07-13: Version 1.2.14
2188
2189 Added separate paged heap space for global property cells and
2190 avoid updating the write barrier when storing into them.
2191
2192 Improved peep-hole optimization on ARM platforms by not emitting
2193 unnecessary debug information.
2194
2195 Re-enabled ICs for loads and calls that skip a global object
2196 during lookup through the prototype chain.
2197
2198 Allowed access through global proxies to use ICs.
2199
2200 Fixed issue 401.
2201
2202
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000022032009-07-09: Version 1.2.13
2204
2205 Fixed issue 397, issue 398, and issue 399.
2206
2207 Added support for breakpoint groups.
2208
2209 Fixed bugs introduced with the new global object representation.
2210
2211 Fixed a few bugs in the ARM code generator.
2212
2213
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000022142009-07-06: Version 1.2.12
2215
2216 Added stack traces collection to Error objects accessible through
2217 the e.stack property.
2218
2219 Changed RegExp parser to use a recursive data structure instead of
2220 stack-based recursion.
2221
2222 Optimized Date object construction and string concatenation.
2223
2224 Improved performance of div, mod, and mul on ARM platforms.
2225
2226
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000022272009-07-02: Version 1.2.11
2228
2229 Improved performance on IA-32 and ARM.
2230
2231 Fixed profiler sampler implementation on Mac OS X.
2232
2233 Changed the representation of global objects to improve
2234 performance of adding a lot of new properties.
2235
2236
ager@chromium.org3e875802009-06-29 08:26:34 +000022372009-06-29: Version 1.2.10
2238
2239 Improved debugger support.
2240
2241 Fixed bug in exception message reporting (issue 390).
2242
2243 Improved overall performance.
2244
2245
ager@chromium.org5aa501c2009-06-23 07:57:28 +000022462009-06-23: Version 1.2.9
2247
2248 Improved math performance on ARM.
2249
2250 Fixed profiler name-inference bug.
2251
2252 Fixed handling of shared libraries in the profiler tick processor
2253 scripts.
2254
2255 Fixed handling of tests that time out in the test scripts.
2256
2257 Fixed compilation on MacOS X version 10.4.
2258
2259 Fixed two bugs in the regular expression engine.
2260
2261 Fixed a bug in the string type inference.
2262
2263 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002264
ager@chromium.org5aa501c2009-06-23 07:57:28 +00002265 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00002266
ager@chromium.org5aa501c2009-06-23 07:57:28 +00002267
ager@chromium.orgeadaf222009-06-16 09:43:10 +000022682009-06-16: Version 1.2.8
2269
2270 Optimized math on ARM platforms.
2271
2272 Fixed two crash bugs in the handling of getters and setters.
2273
2274 Improved the debugger support by adding scope chain information.
2275
2276 Improved the profiler support by compressing log data transmitted
2277 to clients.
2278
2279 Improved overall performance.
2280
2281
ager@chromium.orge2902be2009-06-08 12:21:35 +000022822009-06-08: Version 1.2.7
2283
2284 Improved debugger and profiler support.
2285
2286 Reduced compilation time by improving the handling of deferred
2287 code.
2288
2289 Optimized interceptor accesses where the property is on the object
2290 on which the interceptors is attached.
2291
2292 Fixed compilation problem on GCC 4.4 by changing the stack
2293 alignment to 16 bytes.
2294
2295 Fixed handle creation to follow stric aliasing rules.
2296
2297 Fixed compilation on FreeBSD.
2298
2299 Introduced API for forcing the deletion of a property ignoring
2300 interceptors and attributes.
2301
2302
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000023032009-05-29: Version 1.2.6
2304
2305 Added a histogram recording hit rates at different levels of the
2306 compilation cache.
2307
2308 Added stack overflow check for the RegExp analysis phase. Previously a
2309 very long regexp graph could overflow the stack with recursive calls.
2310
2311 Use a dynamic buffer when collecting log events in memory.
2312
2313 Added start/stop events to the profiler log.
2314
2315 Fixed infinite loop which could happen when setting a debug break while
2316 executing a RegExp compiled to native code.
2317
2318 Fixed handling of lastIndexOf called with negative index (issue 351).
2319
2320 Fixed irregular crash in profiler test (issue 358).
2321
2322 Fixed compilation issues with some versions of gcc.
2323
2324
kasperl@chromium.org71affb52009-05-26 05:44:31 +000023252009-05-26: Version 1.2.5
2326
2327 Fixed bug in initial boundary check for Boyer-Moore text
2328 search (issue 349).
2329
2330 Fixed compilation issues with MinGW and gcc 4.3+ and added support
2331 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
2332 Craig Schlenter.
2333
2334 Added a script cache to the debugger.
2335
2336 Optimized compilation performance by improving internal data
2337 structures and avoiding expensive property load optimizations for
2338 code that's infrequently executed.
2339
2340 Exposed the calling JavaScript context through the static API
2341 function Context::GetCalling().
2342
2343
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000023442009-05-18: Version 1.2.4
2345
2346 Improved performance of floating point number allocation for ARM
2347 platforms.
2348
2349 Fixed crash when using the instanceof operator on functions with
2350 number values in their prototype chain (issue 341).
2351
2352 Optimized virtual frame operations in the code generator to speed
2353 up compilation time and allocated the frames in the zone.
2354
2355 Made the representation of virtual frames and jump targets in the
2356 code generator much more compact.
2357
2358 Avoided linear search for non-locals in scope code when resolving
2359 variables inside with and eval scopes.
2360
2361 Optimized lexical scanner by dealing with whitespace as part of
2362 the token scanning instead of as a separate step before it.
2363
2364 Changed the scavenging collector so that promoted objects do not
2365 reside in the old generation while their remembered set is being
2366 swept for pointers into the young generation.
2367
2368 Fixed numeric overflow handling when compiling count operations.
2369
2370
ager@chromium.org9085a012009-05-11 19:22:57 +000023712009-05-11: Version 1.2.3
2372
2373 Fixed bug in reporting of out-of-memory situations.
2374
2375 Introduced hidden prototypes on certain builtin prototype objects
2376 such as String.prototype to emulate JSC's behavior of restoring
2377 the original function when deleting functions from those prototype
2378 objects.
2379
2380 Fixed crash bug in the register allocator.
2381
2382
ager@chromium.org5ec48922009-05-05 07:25:34 +000023832009-05-04: Version 1.2.2
2384
2385 Fixed bug in array sorting for sparse arrays (issue 326).
2386
2387 Added support for adding a soname when building a shared library
2388 on Linux (issue 151).
2389
2390 Fixed bug caused by morphing internal ASCII strings to external
2391 two-byte strings. Slices over ASCII strings have to forward ASCII
2392 checks to the underlying buffer string.
2393
2394 Allowed API call-as-function handlers to be called as
2395 constructors.
2396
2397 Fixed a crash bug where an external string was disposed but a
2398 slice of the external string survived as a symbol.
2399
2400
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000024012009-04-27: Version 1.2.1
2402
2403 Added EcmaScript 5 JSON object.
2404
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002405 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00002406
2407
ager@chromium.org65dad4b2009-04-23 08:48:43 +000024082009-04-23: Version 1.2.0
2409
2410 Optimized floating-point operations on ARM.
2411
2412 Added a number of extensions to the debugger API.
2413
2414 Changed the enumeration order for unsigned integer keys to always
2415 be numerical order.
2416
2417 Added a "read" extension to the shell sample.
2418
2419 Added support for Array.prototype.reduce and
2420 Array.prototype.reduceRight.
2421
2422 Added an option to the SCons build to control Microsoft Visual C++
2423 link-time code generation.
2424
2425 Fixed a number of bugs (in particular issue 315, issue 316,
2426 issue 317 and issue 318).
2427
2428
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000024292009-04-15: Version 1.1.10
2430
2431 Fixed crash bug that occurred when loading a const variable in the
2432 presence of eval.
2433
2434 Allowed using with and eval in registered extensions in debug mode
2435 by fixing bogus assert.
2436
2437 Fixed the source position for function returns to enable the
2438 debugger to break there.
2439
2440
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000024412009-04-14: Version 1.1.9
2442
2443 Made the stack traversal code in the profiler robust by avoiding
2444 to look into the heap.
2445
2446 Added name inferencing for anonymous functions to facilitate
2447 debugging and profiling.
2448
2449 Re-enabled stats timers in the developer shell (d8).
2450
2451 Fixed issue 303 by avoiding to shortcut cons-symbols.
2452
2453
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000024542009-04-11: Version 1.1.8
2455
2456 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
2457
ager@chromium.org65dad4b2009-04-23 08:48:43 +00002458 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00002459 the debugger (issue 269).
2460
2461 Fixed v8::Object::DeleteHiddenValue to not bail out when there
2462 are no hidden properties.
2463
ager@chromium.org65dad4b2009-04-23 08:48:43 +00002464 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00002465 entries with deleted resources would lead to NPEs when looking
2466 up in the symbol table.
2467
2468
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000024692009-04-07: Version 1.1.7
2470
2471 Added support for easily importing additional environment
2472 variables into the SCons build.
2473
2474 Optimized strict equality checks.
2475
2476 Fixed crash in indexed setters on objects without a corresponding
2477 getter (issue 298).
2478
2479 Re-enabled script compilation cache.
2480
2481
ager@chromium.org8682a592009-04-01 10:47:14 +000024822009-04-01: Version 1.1.6
2483
2484 Reverted an unsafe code generator change.
2485
2486
ager@chromium.org71daaf62009-04-01 07:22:49 +000024872009-04-01: Version 1.1.5
2488
2489 Fixed bug that caused function literals to not be optimized as
2490 much as other functions.
2491
2492 Improved profiler support.
2493
2494 Fixed a crash bug in connection with debugger unloading.
2495
2496 Fixed a crash bug in the code generator caused by losing the
2497 information that a frame element was copied.
2498
2499 Fixed an exception propagation bug that could cause non-null
2500 return values when exceptions were thrown.
2501
2502
ager@chromium.org41826e72009-03-30 13:30:57 +000025032009-03-30: Version 1.1.4
2504
2505 Optimized String.prototype.match.
2506
2507 Improved the stack information in profiles.
2508
2509 Fixed bug in ARM port making it possible to compile the runtime
2510 system for thumb mode again.
2511
2512 Implemented a number of optimizations in the code generator.
2513
2514 Fixed a number of memory leaks in tests.
2515
2516 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00002517 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00002518
2519
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000025202009-03-24: Version 1.1.3
2521
2522 Fixed assertion failures in compilation of loop conditions.
2523
2524 Removed STL dependency from developer shell (d8).
2525
2526 Added infrastructure for protecting the V8 heap from corruption
2527 caused by memory modifications from the outside.
2528
2529
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000025302009-03-24: Version 1.1.2
2531
2532 Improved frame merge code generated by the code generator.
2533
2534 Optimized String.prototype.replace.
2535
2536 Implemented __defineGetter__ and __defineSetter__ for properties
2537 with integer keys on non-array objects.
2538
2539 Improved debugger and profiler support.
2540
2541 Fixed a number of portability issues to allow compilation for
2542 smaller ARM devices.
2543
2544 Exposed object cloning through the API.
2545
2546 Implemented hidden properties. This is used to expose an identity
2547 hash for objects through the API.
2548
2549 Implemented restarting of regular expressions if their input
2550 string changes representation during preemption.
2551
2552 Fixed a code generator bug that could cause assignments in loops
2553 to be ignored if using continue to break out of the loop (issue
2554 284).
2555
2556
ager@chromium.org3a6061e2009-03-12 14:24:36 +000025572009-03-12: Version 1.1.1
2558
2559 Fixed an assertion in the new compiler to take stack overflow
2560 exceptions into account.
2561
2562 Removed exception propagation code that could cause crashes.
2563
2564 Fixed minor bug in debugger line number computations.
2565
2566 8-byte align the C stack on Linux and Windows to speed up floating
2567 point computations.
2568
2569
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000025702009-03-12: Version 1.1.0
2571
2572 Improved code generation infrastructure by doing simple register
2573 allocation and constant folding and propagation.
2574
2575 Optimized regular expression matching by avoiding to create
2576 intermediate string arrays and by flattening nested array
2577 representations of RegExp data.
2578
2579 Traverse a few stack frames when recording profiler samples to
2580 include partial call graphs in the profiling output.
2581
2582 Added support for using OProfile to profile generated code.
2583
2584 Added remote debugging support to the D8 developer shell.
2585
2586 Optimized creation of nested literals like JSON objects.
2587
2588 Fixed a bug in garbage collecting unused maps and turned it on by
2589 default (--collect-maps).
2590
2591 Added support for running tests under Valgrind.
2592
2593
kasperl@chromium.org061ef742009-02-27 12:16:20 +000025942009-02-27: Version 1.0.3
2595
2596 Optimized double-to-integer conversions in bit operations by using
2597 SSE3 instructions if available.
2598
2599 Optimized initialization sequences that store to multiple
2600 properties of the same object.
2601
2602 Changed the D8 debugger frontend to use JSON messages.
2603
2604 Force garbage collections when disposing contexts.
2605
2606 Align code objects at 32-byte boundaries.
2607
2608
ager@chromium.org381abbb2009-02-25 13:23:22 +000026092009-02-25: Version 1.0.2
2610
2611 Improved profiling support by performing simple call stack
2612 sampling for ticks and by fixing a bug in the logging of code
2613 addresses.
2614
2615 Fixed a number of debugger issues.
2616
2617 Optimized code that uses eval.
2618
2619 Fixed a couple of bugs in the regular expression engine.
2620
2621 Reduced the size of generated code for certain regular expressions.
2622
2623 Removed JSCRE completely.
2624
2625 Fixed issue where test could not be run if there was a dot in the
2626 checkout path.
2627
2628
ager@chromium.org6f10e412009-02-13 10:11:16 +000026292009-02-13: Version 1.0.1
2630
2631 Fixed two crash-bugs in irregexp (issue 231 and 233).
2632
2633 Fixed a number of minor bugs (issue 87, 227 and 228).
2634
2635 Added support for morphing strings to external strings on demand
2636 to avoid having to create copies in the embedding code.
2637
2638 Removed experimental support for external symbol callbacks.
2639
2640
iposva@chromium.org245aa852009-02-10 00:49:54 +000026412009-02-09: Version 1.0.0
2642
2643 Fixed crash-bug in the code generation for case independent 16 bit
2644 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00002645
iposva@chromium.org245aa852009-02-10 00:49:54 +00002646 Made shells more robust in the presence of string conversion
2647 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00002648
iposva@chromium.org245aa852009-02-10 00:49:54 +00002649 Fixed a potential infinite loop when attempting to resolve
2650 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00002651
iposva@chromium.org245aa852009-02-10 00:49:54 +00002652 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00002653
iposva@chromium.org245aa852009-02-10 00:49:54 +00002654 Reduced binary by stripping unneeded text from JavaScript library and
2655 minifying some JavaScript files.
2656
2657
ager@chromium.orgddb913d2009-01-27 10:01:48 +000026582009-01-27: Version 0.4.9
2659
2660 Enabled new regular expression engine.
2661
2662 Made a number of changes to the debugger protocol.
2663
2664 Fixed a number of bugs in the preemption support.
2665
2666 Added -p option to the developer shell to run files in parallel
2667 using preemption.
2668
2669 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
2670 193, 198 and 201).
2671
2672 Fixed a number of bugs in the serialization/deserialization
2673 support for the ARM platform.
2674
2675
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000026762009-01-19: Version 0.4.8.1
2677
2678 Minor patch to debugger support.
2679
2680
ager@chromium.org32912102009-01-16 10:38:43 +000026812009-01-16: Version 0.4.8
2682
2683 Fixed string length bug on ARM (issue 171).
2684
2685 Made most methods in the API const.
2686
2687 Optimized object literals by improving data locality.
2688
2689 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002690 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00002691
2692 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00002693 eval to behave incorrectly when using accessors (issues 186, 190
2694 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00002695
2696
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000026972009-01-06: Version 0.4.7
2698
ager@chromium.org32912102009-01-16 10:38:43 +00002699 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002700
ager@chromium.org32912102009-01-16 10:38:43 +00002701 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002702
ager@chromium.org32912102009-01-16 10:38:43 +00002703 Fixed subtle bug that caused the wrong 'this' to be used when
2704 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002705
ager@chromium.org32912102009-01-16 10:38:43 +00002706 Inline array loads within loops directly in the code instead of
2707 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00002708
ager@chromium.org32912102009-01-16 10:38:43 +00002709
ager@chromium.org8bb60582008-12-11 12:02:20 +000027102008-12-11: Version 0.4.6
2711
2712 Fixed exception reporting bug where certain exceptions were
2713 incorrectly reported as uncaught.
2714
2715 Improved the memory allocation strategy used during compilation to
2716 make running out of memory when compiling huge scripts less
2717 likely.
2718
2719 Optimized String.replace by avoiding the construction of certain
2720 sub strings.
2721
2722 Fixed bug in code generation for large switch statements on ARM.
2723
2724 Fixed bug that caused V8 to change the global object template
2725 passed in by the user.
2726
2727 Changed the API for creating object groups used during garbage
2728 collection. Entire object groups are now passed to V8 instead of
2729 individual members of the groups.
2730
ager@chromium.org32912102009-01-16 10:38:43 +00002731
ager@chromium.orga74f0da2008-12-03 16:05:52 +000027322008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002733
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002734 Added experimental API support for allocating V8 symbols as
2735 external strings.
2736
2737 Fixed bugs in debugging support on ARM.
2738
2739 Changed eval implementation to correctly detect whether or not a
2740 call to eval is aliased.
2741
2742 Fixed bug caused by a combination of the compilation cache and
2743 dictionary probing in native code. The bug caused us to sometimes
2744 call functions that had not yet been compiled.
2745
2746 Added platform support for FreeBSD.
2747
2748 Added support for building V8 on Windows with either the shared or
2749 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00002750
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002751 Added the v8::jscre namespace around the jscre functions to avoid
2752 link errors (duplicate symbols) when building Google Chrome.
2753
ager@chromium.orga74f0da2008-12-03 16:05:52 +00002754 Added support for calling a JavaScript function with the current
2755 debugger execution context as its argument to the debugger
2756 interface.
2757
2758 Changed the type of names of counters from wchar_t to char.
2759
2760 Changed the Windows system call used to compute daylight savings
2761 time. The system call that we used to use became four times
2762 slower on WinXP SP3.
2763
2764 Added support in the d8 developer shell for memory-mapped counters
2765 and added a stats-viewer tool.
2766
2767 Fixed bug in upper/lower case mappings (issue 149).
2768
iposva@chromium.org96f667e2008-11-26 23:48:02 +00002769
ager@chromium.org3bf7b912008-11-17 09:09:45 +000027702008-11-17: Version 0.4.4
2771
2772 Reduced code size by using shorter instruction encoding when
2773 possible.
2774
2775 Added a --help option to the shell sample and to the d8 shell.
2776
2777 Added visual studio project files for building the ARM simulator.
2778
2779 Fixed a number of ARM simulator issues.
2780
2781 Fixed bug in out-of-memory handling on ARM.
2782
2783 Implemented shell support for passing arguments to a script from
2784 the command line.
2785
2786 Fixed bug in date code that made certain date functions return -0
2787 instead of 0 for dates before the epoch.
2788
2789 Restricted applications of eval so it can only be used in the
2790 context of the associated global object.
2791
2792 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00002793
2794
ager@chromium.org870a0b62008-11-04 11:43:05 +000027952008-11-04: Version 0.4.3
2796
2797 Added support for API accessors that prohibit overwriting by
2798 accessors defined in JavaScript code by using __defineGetter__ and
2799 __defineSetter__.
2800
2801 Improved handling of conditionals in test status files.
2802
2803 Introduced access control in propertyIsEnumerable.
2804
2805 Improved performance of some string operations by caching
2806 information about the type of the string between operations.
2807
2808 Fixed bug in fast-case code for switch statements that only have
2809 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00002810
ager@chromium.org870a0b62008-11-04 11:43:05 +00002811
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000028122008-10-30: Version 0.4.2
2813
2814 Improved performance of Array.prototype.concat by moving the
2815 implementation to C++ (issue 123).
2816
2817 Fixed heap growth policy to avoid growing old space to its maximum
2818 capacity before doing a garbage collection and fixed issue that
2819 would lead to artificial out of memory situations (issue 129).
2820
2821 Fixed Date.prototype.toLocaleDateString to return the date in the
2822 same format as WebKit.
2823
2824 Added missing initialization checks to debugger API.
2825
2826 Added removing of unused maps during GC.
2827
2828
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000028292008-10-28: Version 0.4.1
2830
2831 Added caching of RegExp data in compilation cache.
2832
2833 Added Visual Studio project file for d8 shell.
2834
2835 Fixed function call performance regression introduced in version
2836 0.4.0 when splitting the global object in two parts (issue 120).
2837
2838 Fixed issue 131 by checking for empty handles before throwing and
2839 reporting exceptions.
2840
2841
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000028422008-10-23: Version 0.4.0
2843
2844 Split the global object into two parts: The state holding global
2845 object and the global object proxy.
2846
2847 Fixed bug that affected the value of an assignment to an element
2848 in certain cases (issue 116).
2849
2850 Added GetPropertyNames functionality (issue 33) and extra Date
2851 functions (issue 77) to the API.
2852
2853 Changed WeakReferenceCallback to take a Persistent<Value> instead
2854 of a Persistent<Object> (issue 101).
2855
2856 Fixed issues with message reporting for exceptions in try-finally
2857 blocks (issues 73 and 75).
2858
ager@chromium.org32912102009-01-16 10:38:43 +00002859 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00002860
2861 Improved Boyer-Moore implementation for faster indexOf operations.
2862
2863 Added development shell (d8) which includes counters and
2864 completion support.
2865
2866 Fixed problem with the receiver passed to functions called from
2867 eval (issue 124).
2868
2869
ager@chromium.org7c537e22008-10-16 08:43:32 +000028702008-10-16: Version 0.3.5
2871
2872 Improved string hash-code distribution by excluding bit-field bits
2873 from the hash-code.
2874
2875 Changed string search algorithm used in indexOf from KMP to
2876 Boyer-Moore.
2877
2878 Improved the generated code for the instanceof operator.
2879
2880 Improved performance of slow-case string equality checks by
2881 specializing the code based on the string representation.
2882
2883 Improve the handling of out-of-memory situations (issue 70).
2884
2885 Improved performance of strict equality checks.
2886
2887 Improved profiler output to make it easier to see anonymous
2888 functions.
2889
2890 Improved performance of slow-case keyed loads.
2891
2892 Improved property access performance by allocating a number of
2893 properties in the front object.
2894
2895 Changed the toString behavior on the built-in object constructors
2896 to print [native code] instead of the actual source. Some web
2897 applications do not like constructors with complex toString
2898 results.
ager@chromium.org32912102009-01-16 10:38:43 +00002899
ager@chromium.org7c537e22008-10-16 08:43:32 +00002900
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000029012008-10-06: Version 0.3.4
2902
2903 Changed Array.prototype.sort to use quick sort.
2904
2905 Fixed code generation issue where leaving a finally block with
2906 break or continue would accumulate elements on the expression
2907 stack (issue 86).
2908
2909 Made sure that the name accessor on functions returns the expected
2910 names for builtin JavaScript functions and C++ callback functions.
2911
2912 Added fast case code for extending the property storage array of
2913 JavaScript objects.
2914
2915 Ported switch statement optimizations introduced in version 0.3.3
2916 to the ARM code generator.
2917
2918 Allowed GCC to use strict-aliasing rules when compiling.
2919
2920 Improved performance of arguments object allocation by taking care
2921 of arguments adaptor frames in the generated code.
2922
2923 Updated the V8 benchmark suite to version 2.
2924
2925
ager@chromium.org236ad962008-09-25 09:45:57 +000029262008-09-25: Version 0.3.3
2927
2928 Improved handling of relocation information to enable more
2929 peep-hole optimizations.
2930
2931 Optimized switch statements where all labels are constant small
2932 integers.
2933
2934 Optimized String.prototype.indexOf for common cases.
2935
2936 Fixed more build issues (issue 80).
2937
2938 Fixed a couple of profiler issues.
2939
2940 Fixed bug where the body of a function created using the Function
2941 constructor was not allowed to end with a single-line comment
2942 (issue 85).
2943
2944 Improved handling of object literals by canonicalizing object
2945 literal maps. This will allow JSON objects with the same set of
2946 properties to share the same map making inline caching work better
2947 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00002948
ager@chromium.org236ad962008-09-25 09:45:57 +00002949
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000029502008-09-17: Version 0.3.2
2951
2952 Generalized the EvalCache into a CompilationCache and enabled it
2953 for scripts too. The current strategy is to retire all entries
2954 whenever a mark-sweep collection is started.
2955
2956 Fixed bug where switch statements containing only a default case
2957 would lead to an unbalanced stack (issue 69).
2958
2959 Fixed bug that made access to the function in a named function
2960 expression impossible in certain situations (issue 24).
2961
2962 Fixed even more build issues.
2963
2964 Optimized calling conventions on ARM. The conventions on ARM and
2965 IA-32 now match.
2966
2967 Removed static initializers for flags and counters.
2968
2969 Improved inline caching behavior for uncommon cases where lazily
2970 loading Date and RegExp code could force certain code paths go
2971 megamorphic.
2972
2973 Removed arguments adaption for builtins written in C++. This
2974 makes Array.prototype.push and Array.prototype.pop slightly
2975 faster.
2976
2977
ager@chromium.org9258b6b2008-09-11 09:11:10 +000029782008-09-11: Version 0.3.1
2979
2980 Fixed a number of build issues.
2981
2982 Fixed problem with missing I-cache flusing on ARM.
2983
2984 Changed space layout in memory management by splitting up
2985 code space into old data space and code space.
2986
2987 Added utf-8 conversion support to the API (issue 57).
2988
2989 Optimized repeated calls to eval with the same strings. These
2990 repeated calls are common in web applications.
2991
2992 Added Xcode project file.
2993
2994 Optimized a couple of Array operation.
2995
2996 Fixed parser bug by checking for end-of-string when parsing break
2997 and continue (issue 35).
2998
2999 Fixed problem where asian characters were not categorized as
3000 letters.
3001
3002 Fixed bug that disallowed calling functions fetched from an array
3003 using a string as an array index (issue 32).
3004
3005 Fixed bug where the internal field count on object templates were
3006 sometimes ignored (issue 54).
3007
3008 Added -f option to the shell sample for compatibility with other
3009 engines (issue 18).
3010
3011 Added source info to TryCatches in the API.
3012
3013 Fixed problem where the seed for the random number generator was
3014 clipped in a double to unsigned int conversion.
3015
3016 Fixed bug where cons string symbols were sometimes converted to
3017 non-symbol flat strings during GC.
3018
3019 Fixed bug in error reporting when attempting to convert null to an
3020 object.
ager@chromium.org32912102009-01-16 10:38:43 +00003021
3022
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000030232008-09-04: Version 0.3.0
3024
3025 Added support for running tests on the ARM simulator.
3026
3027 Fixed bug in the 'in' operator where negative indices were not
3028 treated correctly.
3029
3030 Fixed build issues on gcc-4.3.1.
3031
3032 Changed Date.prototype.toLocaleTimeString to not print the
3033 timezone part of the time.
3034
3035 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
3036 with user code.
3037
3038
v8.team.kasperl727e9952008-09-02 14:56:44 +000030392008-09-02: Version 0.2.5
3040
3041 Renamed the top level directory 'public' to 'include'.
3042
3043 Added 'env' option to the SCons build scripts to support
3044 overriding the ENV part of the build environment. This is mostly
3045 to support Windows builds in cases where SCons cannot find the
3046 correct paths to the Windows SDK, as these paths cannot be passed
3047 through shell environment variables.
3048
3049 Enabled "Buffer Security Check" on for the Windows SCons build and
3050 added the linker option /OPT:ICF as an optimization.
3051
3052 Added the V8 benchmark suite to the repository.
3053
3054
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000030552008-09-01: Version 0.2.4
3056
3057 Included mjsunit JavaScript test suite and C++ unit tests.
3058
3059 Changed the shell sample to not print the result of executing a
3060 script provided on the command line.
3061
3062 Fixed issue when building samples on Windows using a shared V8
3063 library. Added visibility option on Linux build which makes the
3064 generated library 18% smaller.
3065
3066 Changed build system to accept multiple build modes in one build
3067 and generate separate objects, libraries and executables for each
3068 mode.
3069
3070 Removed deferred negation optimization (a * -b => -(a * b)) since
3071 this visibly changes operand conversion order.
3072
3073 Improved parsing performance by introducing stack guard in
3074 preparsing. Without a stack guard preparsing always bails out
3075 with stack overflow.
3076
3077 Changed shell sample to take flags directly from the command-line.
3078 Added API call that implements this.
3079
3080 Added load, quit and version functions to the shell sample so it's
3081 easier to run benchmarks and tests.
3082
3083 Fixed issue with building samples and cctests on 64-bit machines.
3084
3085 Fixed bug in the runtime system where the prototype chain was not
3086 always searched for a setter when setting a property that does not
3087 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00003088
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00003089
mads.s.agercbaa0602008-08-14 13:41:48 +000030902008-08-14: Version 0.2.3
3091
3092 Improved performance of garbage collection by moving the
3093 function that updates pointers during compacting collection
3094 into the updating visitor. This gives the compiler a better
3095 chance to inline and avoid a function call per (potential)
3096 pointer.
3097
3098 Extended the shell sample with a --runtime-flags option.
3099
3100 Added Visual Studio project files for the shell.cc and
3101 process.cc samples.
3102
3103
31042008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00003105
3106 Improved performance of garbage collection by changing the way
3107 we use the marking stack in the event of stack overflow during
3108 full garbage collection and by changing the way we mark roots.
3109
3110 Cleaned up ARM version by removing top of stack caching and by
3111 introducing push/pop elimination.
3112
3113 Cleaned up the way runtime functions are called to allow
3114 runtime calls with no arguments.
3115
3116 Changed Windows build options to make sure that exceptions are
3117 disabled and that optimization flags are enabled.
3118
3119 Added first version of Visual Studio project files.
3120
3121
mads.s.agercbaa0602008-08-14 13:41:48 +000031222008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00003123
3124 Improved performance of unary addition by avoiding runtime calls.
3125
3126 Fixed the handling of '>' and '<=' to use right-to-left conversion
3127 and left-to-right evaluation as specified by ECMA-262.
3128
3129 Fixed a branch elimination bug on the ARM platform where incorrect
3130 code was generated because of overly aggressive branch
3131 elimination.
3132
3133 Improved performance of code that repeatedly assigns the same
3134 function to the same property of different objects with the same
3135 map.
3136
3137 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
3138 no longer expects DEBUG to be defined.
3139
3140 Added platform-nullos.cc to serve as the basis for new platform
3141 implementations.
3142
mads.s.ager31e71382008-08-13 09:32:07 +00003143
mads.s.agercbaa0602008-08-14 13:41:48 +000031442008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00003145
3146 Changed all text files to have native svn:eol-style.
3147
3148 Added a few samples and support for building them. The samples
3149 include a simple shell that can be used to benchmark and test V8.
3150
3151 Changed V8::GetVersion to return the version as a string.
3152
3153 Added source for lazily loaded scripts to snapshots and made
3154 serialization non-destructive.
3155
3156 Improved ARM support by fixing the write barrier code to use
3157 aligned loads and stores and by removing premature locals
3158 optimization that relied on broken support for callee-saved
3159 registers (removed).
3160
3161 Refactored the code for marking live objects during garbage
3162 collection and the code for allocating objects in paged
3163 spaces. Introduced an abstraction for the map word of a heap-
3164 allocated object and changed the memory allocator to allocate
3165 executable memory only for spaces that may contain code objects.
3166
3167 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
3168 they can be used by debugging and logging modules. Added
3169 thread-safe message queues for dealing with debugger events.
3170
3171 Fixed the source code reported by toString for certain builtin
3172 empty functions and made sure that the prototype property of a
3173 function is enumerable.
3174
3175 Improved performance of converting values to condition flags in
3176 generated code.
3177
3178 Merged disassembler-{arch} files.
3179
3180
mads.s.agercbaa0602008-08-14 13:41:48 +000031812008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00003182
3183 Added support for storing JavaScript stack traces in a stack
3184 allocated buffer to make it visible in shallow core dumps.
3185 Controlled by the --preallocate-message-memory flag which is
3186 disabled by default.
3187
3188
mads.s.agercbaa0602008-08-14 13:41:48 +000031892008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00003190
3191 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
3192 map transitions would count as properties.
3193
3194 Allowed aliased eval invocations by treating them as evals in the
3195 global context. This may change in the future.
3196
3197 Added support for accessing the last entered context through the
3198 API and renamed Context::Current to Context::GetCurrent and
3199 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
3200
3201 Fixed bug in the debugger that would cause the debugger scripts to
3202 be recursively loaded and changed all disabling of interrupts to
3203 be block-structured.
3204
3205 Made snapshot data read-only to allow it to be more easily shared
3206 across multiple users of V8 when linked as a shared library.
3207
3208
mads.s.agercbaa0602008-08-14 13:41:48 +000032092008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00003210
3211 Fixed building on Mac OS X by recognizing i386 and friends as
3212 IA-32 platforms.
3213
3214 Added propagation of stack overflow exceptions that occur while
3215 compiling nested functions.
3216
3217 Improved debugger with support for recursive break points and
3218 handling of exceptions that occur in the debugger JavaScript code.
3219
3220 Renamed GetInternal to GetInternalField and SetInternal to
3221 SetInternalField in the API and moved InternalFieldCount and
3222 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
3223
3224
mads.s.agercbaa0602008-08-14 13:41:48 +000032252008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00003226
3227 Fixed bug in stack overflow check code for IA-32 targets where a
3228 non-tagged value in register eax was pushed to the stack.
3229
3230 Fixed potential quadratic behavior when converting strings to
3231 numbers.
3232
3233 Fixed bug where the return value from Object::SetProperty could
3234 end up being the property holder instead of the written value.
3235
3236 Improved debugger support by allowing nested break points and by
3237 dealing with stack-overflows when compiling functions before
3238 setting break points in them.
3239
3240
mads.s.agercbaa0602008-08-14 13:41:48 +000032412008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00003242
kasper.lundbd3ec4e2008-07-09 11:06:54 +00003243 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00003244
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00003245# Local Variables:
3246# mode:text
3247# End: