blob: 900aea9dd3d0f4ecc79eac5178b57c6e91bfb01d [file] [log] [blame]
yangguo@chromium.orgeeb44b62012-11-13 13:56:09 +000012012-11-13: Version 3.15.3
2
3 Changed sample shell to send non-JS output (e.g. errors) to stderr
4 instead of stdout.
5
6 Correctly check for stack overflow even when interrupt is pending.
7 (issue 214)
8
9 Collect stack trace on stack overflow. (issue 2394)
10
11 Performance and stability improvements on all platforms.
12
13
mvstanton@chromium.orge4ac3ef2012-11-12 14:53:34 +0000142012-11-12: Version 3.15.2
15
16 Function::GetScriptOrigin supplies sourceURL when script name is
17 not available. (Chromium issue 159413)
18
19 Made formatting error message side-effect-free. (issue 2398)
20
21 Fixed length check in JSON.stringify. (Chromium issue 160010)
22
23 ES6: Added support for Set and Map clear method (issue 2400)
24
25 Fixed slack tracking when instance prototype changes.
26 (Chromium issue 157019)
27
28 Fixed disabling of code flusher while marking. (Chromium issue 159140)
29
30 Added a test case for object grouping in a scavenger GC (issue 2077)
31
32 Support shared library build of Android for v8.
33 (Chromium issue 158821)
34
35 ES6: Added support for size to Set and Map (issue 2395)
36
37 Performance and stability improvements on all platforms.
38
39
verwaest@chromium.orge4ee6de2012-11-06 12:13:00 +0000402012-11-06: Version 3.15.1
41
42 Put incremental code flushing behind a flag. (Chromium issue 159140)
43
44 Performance and stability improvements on all platforms.
45
46
danno@chromium.org72204d52012-10-31 10:02:10 +0000472012-10-31: Version 3.15.0
48
49 Loosened aligned code target requirement on ARM (issue 2380)
50
51 Fixed JSON.parse to treat leading zeros correctly.
52 (Chromium issue 158185)
53
54 Performance and stability improvements on all platforms.
55
56
rossberg@chromium.org89e18f52012-10-22 13:09:53 +0000572012-10-22: Version 3.14.5
58
59 Killed off the SCons based build.
60
61 Added a faster API for creating v8::Integer objects.
62
63 Speeded up function deoptimization by avoiding quadratic pass over
64 optimized function list. (Chromium issue 155270)
65
66 Always invoke the default Array.sort functions from builtin functions.
67 (issue 2372)
68
69 Reverted recent CPU profiler changes because they broke --prof.
70 (issue 2364)
71
72 Switched code flushing to use different JSFunction field.
73 (issue 1609)
74
75 Performance and stability improvements on all platforms.
76
77
svenpanne@chromium.orgc859c4f2012-10-15 11:51:39 +0000782012-10-15: Version 3.14.4
79
80 Allow evals for debugger even if they are prohibited in the debugee
81 context. (Chromium issue 154733)
82
83 Enabled --verify-heap in release mode (issue 2120)
84
85 Performance and stability improvements on all platforms.
86
87
jkummerow@chromium.orgc1956672012-10-11 15:57:38 +0000882012-10-11: Version 3.14.3
89
90 Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
91 (Chromium issue 155076).
92
93 Bumped variable limit further to 2^17 (Chromium issue 151625).
94
95 Performance and stability improvements on all platforms.
96
97
verwaest@chromium.org33e09c82012-10-10 17:07:22 +0000982012-10-10: Version 3.14.2
99
100 ARM: allowed VFP3 instructions when hardfloat is enabled.
101 (Chromium issue 152506)
102
103 Fixed instance_descriptors() and PushStackTraceAndDie regressions.
104 (Chromium issue 151749)
105
106 Made GDBJIT interface compile again. (issue 1804)
107
108 Fixed Accessors::FunctionGetPrototype's proto chain traversal.
109 (Chromium issue 143967)
110
111 Made sure that names of temporaries do not clash with real variables.
112 (issue 2322)
113
114 Rejected local module declarations. (Chromium issue 150628)
115
116 Rejected uses of lexical for-loop variable on the RHS. (issue 2322)
117
118 Fixed slot recording of code target patches.
119 (Chromium issue 152615,chromium:144230)
120
121 Changed the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
122
123 Performance and stability improvements on all platforms.
124
125
jkummerow@chromium.org7a96c2a2012-10-01 16:24:39 +00001262012-10-01: Version 3.14.1
127
128 Don't set -m32 flag when compiling with Android ARM compiler.
129 (Chromium issue 143889)
130
131 Restore the descriptor array before returning allocation failure.
132 (Chromium issue 151750)
133
134 Lowered kMaxVirtualRegisters (v8 issue 2139, Chromium issues 123822 and
135 128252).
136
137 Pull more recent gyp in 'make dependencies'.
138
139 Made sure that the generic KeyedStoreIC changes length and element_kind
140 atomically (issue 2346).
141
142 Bumped number of allowed variables per scope to 65535, to address GWT.
143 (Chromium issue 151625)
144
145 Support sourceURL for dynamically inserted scripts (issue 2342).
146
147 Performance and stability improvements on all platforms.
148
149
ulan@chromium.org56c14af2012-09-20 12:51:09 +00001502012-09-20: Version 3.14.0
151
152 Fixed missing slot recording during clearing of CallICs.
153 (Chromium issue 144230)
154
155 Fixed LBoundsCheck on x64 to handle (stack slot + constant) correctly.
156 (Chromium issue 150729)
157
158 Fixed minus zero test. (Issue 2133)
159
160 Fixed setting array length to zero for slow elements.
161 (Chromium issue 146910)
162
163 Fixed lost arguments dropping in HLeaveInlined.
164 (Chromium issue 150545)
165
166 Fixed casting error for receiver of interceptors.
167 (Chromium issue 149912)
168
169 Throw a more descriptive exception when blocking 'eval' via CSP.
170 (Chromium issue 140191)
171
172 Fixed debugger's eval when close to stack overflow. (issue 2318)
173
174 Added checks to live edit. (issue 2297)
175
176 Switched on code compaction on incremental GCs.
177
178 Fixed caching of optimized code for OSR. (issue 2326)
179
180 Not mask exception thrown by toString in String::UtfValue etc.
181 (issue 2317)
182
183 Fixed API check for length of external arrays. (Chromium issue 148896)
184
185 Ensure correct enumeration indices in the dict (Chromium issue 148376)
186
187 Correctly initialize regexp global cache. (Chromium issue 148378)
188
189 Fixed arguments object materialization during deopt. (issue 2261)
190
191 Introduced new API to expose external string resource regardless of
192 encoding.
193
194 Fixed CHECK failure in LCodeGen::DoWrapReceiver when
195 --deopt-every-n-times flag is present
196 (Chromium issue 148389)
197
198 Fixed edge case of extension with NULL as source string.
199 (Chromium issue 144649)
200
201 Fixed array index dehoisting. (Chromium issue 141395)
202
203 Performance and stability improvements on all platforms.
204
205
mstarzinger@chromium.orgde886792012-09-11 13:22:37 +00002062012-09-11: Version 3.13.7
207
208 Enable/disable LiveEdit using the (C++) debug API.
209
210 Performance and stability improvements on all platforms.
211
212
jkummerow@chromium.org78502a92012-09-06 13:50:42 +00002132012-09-06: Version 3.13.6
214
215 Added validity checking to API functions and calls.
216
217 Disabled accessor inlining (Chromium issue 134609).
218
219 Fixed bug in Math.min/max in optimized code (Chromium issue 145961).
220
221 Directly use %ObjectKeys in json stringify (Chromium issue 2312).
222
223 Fixed VS2005 build (issue 2313).
224
225 Activated fixed ES5 readonly semantics by default.
226
227 Added hardfp flag to the Makefile.
228
229 Performance and stability improvements on all platforms.
230
231
yangguo@chromium.org355cfd12012-08-29 15:32:24 +00002322012-08-29: Version 3.13.5
233
234 Release stack trace data after firing Error.stack accessor.
235 (issue 2308)
236
237 Added a new API V8::SetJitCodeEventHandler to push code name and
238 location to users such as profilers.
239
240 Allocate block-scoped global bindings to global context.
241
242 Performance and stability improvements on all platforms.
243
244
yangguo@chromium.org46839fb2012-08-28 09:06:19 +00002452012-08-28: Version 3.13.4
246
247 Print reason for disabling optimization. Kill --trace-bailout flag.
248
249 Provided option to disable full DEBUG build on Android.
250
251 Introduced global contexts to represent lexical global scope(s).
252
253 Fixed rounding in Uint8ClampedArray setter. (issue 2294)
254
255 Performance and stability improvements on all platforms.
256
257
yangguo@chromium.org08eb1962012-08-21 11:19:20 +00002582012-08-21: Version 3.13.3
259
260 Performance and stability improvements on all platforms.
261
262
2632012-08-20: Version 3.13.2
264
265 Performance and stability improvements on all platforms.
266
267
verwaest@chromium.orgde64f722012-08-16 15:44:54 +00002682012-08-16: Version 3.13.1
269
270 Performance and stability improvements on all platforms.
271
272
mstarzinger@chromium.org471f2f12012-08-10 14:46:33 +00002732012-08-10: Version 3.13.0
274
275 Added histograms for total allocated/live heap size, as well as
276 allocated size and percentage of total for map and cell space.
277
278 Fixed parseInt's octal parsing behavior (ECMA-262 Annex E 15.1.2.2).
279 (issue 1645)
280
281 Added checks for interceptors to negative lookup code in Crankshaft.
282 (Chromium issue 140473)
283
284 Made incremental marking clear ICs and type feedback cells.
285
286 Performance and stability improvements on all platforms.
287
288
jkummerow@chromium.org000f7fb2012-08-01 11:14:42 +00002892012-08-01: Version 3.12.19
290
291 Performance and stability improvements on all platforms.
292
293
ulan@chromium.orgea52b5f2012-07-30 13:05:33 +00002942012-07-30: Version 3.12.18
295
296 Forced using bit-pattern for signed zero double. (issue 2239)
297
298 Made sure double to int conversion is correct. (issue 2260)
299
300 Performance and stability improvements on all platforms.
301
302
verwaest@chromium.orgb6d052d2012-07-27 08:03:27 +00003032012-07-27: Version 3.12.17
304
305 Always set the callee's context when calling a function from optimized
306 code.
307 (Chromium issue 138887)
308
309 Fixed building with GCC 3.x
310 (issue 2016, 2017)
311
312 Improved API calls that return empty handles.
313 (issue 2245)
314
315 Performance and stability improvements on all platforms.
316
317
danno@chromium.org129d3982012-07-25 15:01:47 +00003182012-07-25: Version 3.12.16
319
320 Performance and stability improvements on all platforms.
321
322
yangguo@chromium.org304cc332012-07-24 07:59:48 +00003232012-07-24: Version 3.12.15
324
325 Added PRESERVE_ASCII_NULL option to String::WriteAscii.
326 (issue 2252)
327
328 Added dependency to HLoadKeyed* instructions to prevent invalid
329 hoisting. (Chromium issue 137768)
330
331 Enabled building d8 for Android on Mac.
332
333 Interpret negative hexadecimal literals as NaN.
334 (issue 2240)
335
336 Expose counters in javascript when using --track-gc-object-stats.
337
338 Enabled building and testing V8 on Android IA.
339
340 Added --trace-parse flag to parser.
341
342 Performance and stability improvements on all platforms.
343
344
verwaest@chromium.org178fb152012-07-18 11:21:48 +00003452012-07-18: Version 3.12.14
346
347 Deactivated optimization of packed arrays.
348 (Chromium issue 137768)
349
350 Fixed broken accessor transition.
351 (Chromium issue 137689)
352
353 Performance and stability improvements on all platforms.
354
355
verwaest@chromium.org753aee42012-07-17 16:15:42 +00003562012-07-17: Version 3.12.13
357
358 Fixed missing tagging of stack value in finally block.
359 (Chromium issue 137496)
360
361 Added more support for heap analysis.
362
363 Performance and stability improvements on all platforms.
364
365
jkummerow@chromium.org28583c92012-07-16 11:31:55 +00003662012-07-16: Version 3.12.12
367
368 Added an option to the tickprocessor to specify the directory for lib
369 lookup.
370
371 Fixed ICs for slow objects with native accessor (Chromium issue 137002).
372
373 Fixed transcendental cache on ARM in optimized code (issue 2234).
374
375 New heap inspection tools: counters for object sizes and counts,
376 histograms for external fragmentation.
377
378 Incorporated constness into inferred interfaces (in preparation for
379 handling imports) (issue 1569).
380
381 Performance and stability improvements on all platforms.
382
383
rossberg@chromium.org657d53b2012-07-12 11:06:03 +00003842012-07-12: Version 3.12.11
385
386 Renamed "mips" arch to "mipsel" in the GYP build.
387
388 Fixed computation of call targets on prototypes in Crankshaft.
389 (Chromium issue 125148)
390
391 Removed use of __lookupGetter__ when generating stack trace.
392 (issue 1591)
393
394 Turned on ES 5.2 globals semantics by default.
395 (issue 1991, Chromium issue 80591)
396
397 Synced preparser and parser wrt syntax error in switch..case.
398 (issue 2210)
399
400 Fixed reporting of octal literals in strict mode when preparsing.
401 (issue 2220)
402
403 Fixed inline constructors for Harmony Proxy prototypes.
404 (issue 2225)
405
406 Performance and stability improvements on all platforms.
407
408
danno@chromium.org81cac2b2012-07-10 11:28:27 +00004092012-07-10: Version 3.12.10
410
411 Re-enabled and fixed issue with array bounds check elimination
412 (Chromium issue 132114).
413
414 Fixed Debug::Break crash. (Chromium issue 131642)
415
416 Added optimizing compiler support for JavaScript getters.
417
418 Performance and stability improvements on all platforms.
419
420
yangguo@chromium.org99aa4902012-07-06 16:21:55 +00004212012-07-06: Version 3.12.9
422
423 Correctly advance the scanner when scanning unicode regexp flag.
424 (Chromium issue 136084)
425
426 Fixed unhandlified code calling Harmony Proxy traps.
427 (issue 2219)
428
429 Performance and stability improvements on all platforms.
430
431
svenpanne@chromium.org619781a2012-07-05 08:22:44 +00004322012-07-05: Version 3.12.8
433
434 Implemented TypedArray.set and ArrayBuffer.slice in d8.
435
436 Performance and stability improvements on all platforms.
437
438
mstarzinger@chromium.orgc6d9cee2012-07-03 10:03:19 +00004392012-07-03: Version 3.12.7
440
441 Fixed lazy compilation for strict eval scopes.
442 (Chromium issue 135066)
443
444 Made MACOSX_DEPLOYMENT_TARGET configurable in GYP.
445 (issue 2151)
446
447 Report "hidden properties" in heap profiler for properties case.
448 (issue 2212)
449
450 Activated optimization of packed arrays by default.
451
452 Performance and stability improvements on all platforms.
453
454
yangguo@chromium.orgc74d6742012-06-29 15:15:45 +00004552012-06-29: Version 3.12.6
456
457 Cleaned up hardfp ABI detection for ARM (V8 issue 2140).
458
459 Extended TypedArray support in d8.
460
461
yangguo@chromium.org9c741c82012-06-28 15:04:22 +00004622012-06-28: Version 3.12.5
463
464 Fixed lazy parsing heuristics to respect outer scope.
465 (Chromium issue 135008)
466
467 Allow using test-wrapper-gypbuild.py on Windows when no python
468 interpreter is registered.
469
470 Performance and stability improvements on all platforms.
471
472
jkummerow@chromium.org7a6fc812012-06-27 11:12:38 +00004732012-06-27: Version 3.12.4
474
475 Removed -fomit-frame-pointer flag from Release builds to make
476 the stack walkable by TCMalloc (Chromium issue 133723).
477
478 Ported r7868 (constant masking) to x64 (issue 1374).
479
480 Expose more detailed memory statistics (issue 2201).
481
482 Fixed Harmony Maps and WeakMaps for undefined values
483 (Chromium issue 132744).
484
485 Correctly throw reference error in strict mode with ICs disabled
486 (issue 2119).
487
488 Performance and stability improvements on all platforms.
489
490
ulan@chromium.orgd9e468a2012-06-25 09:47:40 +00004912012-06-25: Version 3.12.3
492
493 Reverted r11835 'Unify promotion and allocation limit computation' due
494 to V8 Splay performance regression on Mac. (Chromium issue 134183)
495
496 Fixed sharing of literal boilerplates for optimized code. (issue 2193)
497
498 Performance and stability improvements on all platforms.
499
500
yangguo@chromium.orgde0db002012-06-22 13:44:28 +00005012012-06-22: Version 3.12.2
502
503 Made near-jump check more strict in LoadNamedFieldPolymorphic on
504 ia32/x64. (Chromium issue 134055)
505
506 Fixed lazy sweeping heuristics to prevent old-space expansion.
507 (issue 2194)
508
509 Performance and stability improvements on all platforms.
510
511
yangguo@chromium.orgd2899aa2012-06-21 11:16:20 +00005122012-06-21: Version 3.12.1
513
514 Performance and stability improvements on all platforms.
515
516
yangguo@chromium.org5a11aaf2012-06-20 11:29:00 +00005172012-06-20: Version 3.12.0
518
519 Fixed Chromium issues:
520 115100, 129628, 131994, 132727, 132741, 132742, 133211
521
522 Fixed V8 issues:
523 915, 1914, 2034, 2087, 2094, 2134, 2156, 2166, 2172, 2177, 2179, 2185
524
525 Added --extra-code flag to mksnapshot to load JS code into the VM
526 before creating the snapshot.
527
528 Support 'restart call frame' command in the debugger.
529
530 Performance and stability improvements on all platforms.
531
532
mmassi@chromium.org7028c052012-06-13 11:51:58 +00005332012-06-13: Version 3.11.10
534
535 Implemented heap profiler memory usage reporting.
536
537 Preserved error message during finally block in try..finally.
538 (Chromium issue 129171)
539
540 Fixed EnsureCanContainElements to properly handle double values.
541 (issue 2170)
542
543 Improved heuristics to keep objects in fast mode with inherited
544 constructors.
545
546 Performance and stability improvements on all platforms.
547
548
rossberg@chromium.org400388e2012-06-06 09:29:22 +00005492012-06-06: Version 3.11.9
550
551 Implemented ES5-conformant semantics for inherited setters and read-only
552 properties. Currently behind --es5_readonly flag, because it breaks
553 WebKit bindings.
554
555 Exposed last seen heap object id via v8 public api.
556
557 Performance and stability improvements on all platforms.
558
559
verwaest@chromium.org37141392012-05-31 13:27:02 +00005602012-05-31: Version 3.11.8
561
562 Avoid overdeep recursion in regexp where a guarded expression with a
563 minimum repetition count is inside another quantifier.
564 (Chromium issue 129926)
565
566 Fixed missing write barrier in store field stub.
567 (issues 2143, 1465, Chromium issue 129355)
568
569 Proxies: Fixed receiver for setters inherited from proxies.
570 Proxies: Fixed ToStringArray function so that it does not reject some
571 keys.
572 (issue 1543)
573
574 Performance and stability improvements on all platforms.
575
576
svenpanne@chromium.org830d30c2012-05-29 13:20:14 +00005772012-05-29: Version 3.11.7
578
579 Get better function names in stack traces.
580
581 Performance and stability improvements on all platforms.
582
583
jkummerow@chromium.org777db6f2012-05-24 09:33:09 +00005842012-05-24: Version 3.11.6
585
586 Fixed RegExp.prototype.toString for incompatible receivers
587 (issue 1981).
588
589 Performance and stability improvements on all platforms.
590
591
mstarzinger@chromium.org15613d02012-05-23 12:04:37 +00005922012-05-23: Version 3.11.5
593
594 Performance and stability improvements on all platforms.
595
596
ulan@chromium.org0e3f88b2012-05-22 09:16:05 +00005972012-05-22: Version 3.11.4
598
599 Some cleanup to common.gypi. This fixes some host/target combinations
600 that weren't working in the Make build on Mac.
601
602 Handle EINTR in socket functions and continue incomplete sends.
603 (issue 2098)
604
605 Fixed python deprecations. (issue 1391)
606
607 Made socket send and receive more robust and return 0 on failure.
608 (Chromium issue 15719)
609
610 Fixed GCC 4.7 (C++11) compilation. (issue 2136)
611
612 Set '-m32' option for host and target platforms
613
614 Performance and stability improvements on all platforms.
615
616
ulan@chromium.orgd6899c32012-05-18 14:12:25 +00006172012-05-18: Version 3.11.3
618
619 Disable optimization for functions that have scopes that cannot be
620 reconstructed from the context chain. (issue 2071)
621
622 Define V8_EXPORT to nothing for clients of v8. (Chromium issue 90078)
623
624 Correctly check for native error objects. (Chromium issue 2138)
625
626 Performance and stability improvements on all platforms.
627
628
yangguo@chromium.org5f0b8ea2012-05-16 12:37:04 +00006292012-05-16: Version 3.11.2
630
631 Revert r11496. (Chromium issue 128146)
632
633 Implement map collection for incremental marking. (issue 1465)
634
635 Add toString method to CallSite (which describes a frame of the
636 stack trace).
637
638
yangguo@chromium.orgcb9affa2012-05-15 12:16:38 +00006392012-05-15: Version 3.11.1
640
641 Added a readbuffer function to d8 that reads a file into an ArrayBuffer.
642
643 Fix freebsd build. (V8 issue 2126)
644
645 Performance and stability improvements on all platforms.
646
647
jkummerow@chromium.org212d9642012-05-11 15:02:09 +00006482012-05-11: Version 3.11.0
649
650 Fixed compose-discard crasher from r11524 (issue 2123).
651
652 Activated new global semantics by default. Global variables can
653 now shadow properties of the global object (ES5.1 erratum).
654
655 Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
656 transitioning (Chromium issue 117409).
657
658 Made Error.prototype.name writable again, as required by the spec and
659 the web (Chromium issue 69187).
660
661 Implemented map collection with incremental marking (issue 1465).
662
663 Regexp: Fixed overflow in min-match-length calculation
664 (Chromium issue 126412).
665
666 MIPS: Fixed illegal instruction use on Loongson in code for
667 Math.random() (issue 2115).
668
669 Fixed crash bug in VisitChoice (Chromium issue 126272).
670
671 Fixed unsigned-Smi check in MappedArgumentsLookup
672 (Chromium issue 126414).
673
674 Fixed LiveEdit for function with no locals (issue 825).
675
676 Fixed register clobbering in LoadIC for interceptors
677 (Chromium issue 125988).
678
679 Implemented clearing of CompareICs (issue 2102).
680
681 Performance and stability improvements on all platforms.
682
683
danno@chromium.org2c26cb12012-05-03 09:06:43 +00006842012-05-03: Version 3.10.8
685
686 Enabled MIPS cross-compilation.
687
688 Ensured reload of elements pointer in StoreFastDoubleElement stub.
689 (Chromium issue 125515)
690
691 Fixed corner cases in truncation behavior when storing to
692 TypedArrays. (issue 2110)
693
694 Fixed failure to properly recognize and report out-of-memory
695 conditions when allocating code space pages. (Chromium issue
696 118625)
697
698 Fixed idle notifications to perform a round of incremental GCs
699 after context disposal. (issue 2107)
700
701 Fixed preparser for try statement. (issue 2109)
702
703 Performance and stability improvements on all platforms.
704
705
danno@chromium.org1044a4d2012-04-30 12:34:39 +00007062012-04-30: Version 3.10.7
707
708 Performance and stability improvements on all platforms.
709
710
yangguo@chromium.orgefdb9d72012-04-26 08:21:05 +00007112012-04-26: Version 3.10.6
712
713 Fixed some bugs in accessing details of the last regexp match.
714
715 Fixed source property of empty RegExp objects. (issue 1982)
716
717 Enabled inlining some V8 API functions.
718
719 Performance and stability improvements on all platforms.
720
721
mstarzinger@chromium.org88d326b2012-04-23 12:57:22 +00007222012-04-23: Version 3.10.5
723
724 Put new global var semantics behind a flag until WebKit tests are
725 cleaned up.
726
727 Enabled stepping into callback passed to builtins.
728 (Chromium issue 109564)
729
730 Performance and stability improvements on all platforms.
731
732
svenpanne@chromium.orgfb046332012-04-19 12:02:44 +00007332012-04-19: Version 3.10.4
734
735 Fixed issues when stressing compaction with WeakMaps.
736
737 Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)
738
739 Simplify invocation sequence at monomorphic function invocation sites.
740 (issue 2079)
741
742 Performance and stability improvements on all platforms.
743
744
erik.corry@gmail.comed49e962012-04-17 11:57:53 +00007452012-04-17: Version 3.10.3
746
747 Fixed several bugs in heap profiles (including issue 2078).
748
749 Throw syntax errors on illegal escape sequences.
750
751 Implemented rudimentary module linking (behind --harmony flag)
752
753 Implemented ES5 erratum: Global declarations should shadow
754 inherited properties.
755
756 Made handling of const more consistent when combined with 'eval'
757 and 'with'.
758
759 Fixed V8 on MinGW-x64 (issue 2026).
760
761 Performance and stability improvements on all platforms.
762
763
jkummerow@chromium.org28faa982012-04-13 09:58:30 +00007642012-04-13: Version 3.10.2
765
766 Fixed native ARM build (issues 1744, 539)
767
768 Return LOOKUP variable instead of CONTEXT for non-context allocated
769 outer scope parameters (Chromium issue 119609).
770
771 Fixed regular and ElementsKind transitions interfering with each other
772 (Chromium issue 122271).
773
774 Improved performance of keyed loads/stores which have a HeapNumber
775 index (issues 1388, 1295).
776
777 Fixed WeakMap processing for evacuation candidates (issue 2060).
778
779 Bailout on possible direct eval calls (Chromium issue 122681).
780
781 Do not assume that names of function expressions are context-allocated
782 (issue 2051).
783
784 Performance and stability improvements on all platforms.
785
786
fschneider@chromium.org7d10be52012-04-10 12:30:14 +00007872012-04-10: Version 3.10.1
788
789 Fixed bug with arguments object in inlined functions (issue 2045).
790
791 Fixed performance bug with lazy initialization (Chromium issue
792 118686).
793
794 Added suppport for Mac OS X 64bit builds with GYP.
795 (Patch contributed by Filipe David Manana <fdmanana@gmail.com>)
796
797 Fixed bug with hidden properties (issue 2034).
798
799 Fixed a performance bug when reloading pages (Chromium issue 117767,
800 V8 issue 1902).
801
802 Fixed bug when optimizing throw in top-level code (issue 2054).
803
804 Fixed two bugs with array literals (issue 2055, Chromium issue 121407).
805
806 Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).
807
808 Fixed a bug with the new runtime profiler (Chromium issue 121147).
809
810 Fixed compilation of V8 using uClibc.
811
812 Optimized boot-up memory use.
813
814 Optimized regular expressions.
815
816
jkummerow@chromium.org1456e702012-03-30 08:38:13 +00008172012-03-30: Version 3.10.0
818
819 Fixed store IC writability check in strict mode
820 (Chromium issue 120099).
821
822 Resynchronize timers if the Windows system time was changed.
823 (Chromium issue 119815)
824
825 Removed "-mfloat-abi=hard" from host compiler cflags when building for
826 hardfp ARM
827 (https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)
828
829 Fixed edge case for case independent regexp character classes
830 (issue 2032).
831
832 Reset function info counters after context disposal.
833 (Chromium issue 117767, V8 issue 1902)
834
835 Fixed missing write barrier in CopyObjectToObjectElements.
836 (Chromium issue 119926)
837
838 Fixed missing bounds check in HasElementImpl.
839 (Chromium issue 119925)
840
841 Performance and stability improvements on all platforms.
842
843
danno@chromium.org88aa0582012-03-23 15:11:57 +00008442012-03-23: Version 3.9.24
845
846 Activated count-based profiler for ARM.
847
848 Fixed use of proxies as f.prototype properties. (issue 2021)
849
850 Enabled snapshots on MIPS.
851
852 Performance and stability improvements on all platforms.
853
854
ulan@chromium.org6ff65142012-03-21 09:52:17 +00008552012-03-21: Version 3.9.23
856
857 Use correct arguments adaptation environment when inlining function
858 containing arguments. (Issue 2014)
859
860 Performance and stability improvements on all platforms.
861
862
jkummerow@chromium.org531dfe82012-03-20 13:01:16 +00008632012-03-20: Version 3.9.22
864
865 Enabled count-based profiler by default.
866
867 Implemented a hash based look-up to speed up address checks
868 in large object space (issue 853).
869
870 Performance and stability improvements on all platforms.
871
872
rossberg@chromium.org2c067b12012-03-19 11:01:52 +00008732012-03-19: Version 3.9.21
874
875 Fixed push-to-trunk script (and re-push).
876
877 Added API call that identifies strings that are guaranteed only to
878 contain ASCII characters.
879
880
8812012-03-19: Version 3.9.20
882
883 Fixed declarations escaping global strict eval. (Issue 1624)
884
885 Fixed wrapping of receiver for non-strict callbacks. (Issue 1973)
886
887 Fixed function declarations overwriting read-only global properties.
888 (Chromium issue 115452)
889
890 Fixed --use-strict flag in combination with --harmony[-scoping].
891
892 Debugger: naive implementation of "step into Function.prototype.bind".
893
894 Debugger: added ability to set script source from within OnBeforeCompile
895
896 Added flag to always call DebugBreak on abort.
897
898 Re-enabled constructor inlining and inline === comparison with boolean
899 constants. (Issue 2009)
900
901 Don't use an explicit s0 in ClampDoubleToUint8. (Issue 2004)
902
903 Performance and stability improvements on all platforms.
904
905
mstarzinger@chromium.org3233d2f2012-03-14 11:16:03 +00009062012-03-14: Version 3.9.19
907
908 Ensure there is a smi check of the receiver for global load and call
909 ICs (Chromium issue 117794).
910
911 Performance and stability improvements on all platforms.
912
913
yangguo@chromium.org154ff992012-03-13 08:09:54 +00009142012-03-13: Version 3.9.18
915
916 Ensure consistency of Math.sqrt on Intel platforms.
917
918 Remove static initializers in v8. (issue 1859)
919
920 Add explicit dependency on v8_base in the GYP-based build.
921
922 Performance and stability improvements on all platforms.
923
924
svenpanne@chromium.org4efbdb12012-03-12 08:18:42 +00009252012-03-12: Version 3.9.17
926
927 Fixed VFP detection through compiler defines. (issue 1996)
928
929 Add Code-related fields to postmortem metadata.
930
931 Performance and stability improvements on all platforms.
932
933
erik.corry@gmail.combbceb572012-03-09 10:52:05 +00009342012-03-09: Version 3.9.16
935
936 Added basic interface inference for modules (behind the --harmony flag).
937
938 Added Object.is, Number.isFinite, Number.isNaN.
939
940 Updated the Unicode tables to Unicode version 6.1.0.
941
942 Performance and stability improvements on all platforms.
943
944
ulan@chromium.org9a21ec42012-03-06 08:42:24 +00009452012-03-06: Version 3.9.15
946
947 Fix the heap profiler crash caused by memory layout changes between
948 passes.
949
950 Fix Error.prototype.toString to throw TypeError. (issue 1980)
951
952 Fix double-rounding in strtod for MinGW. (issue 1062)
953
954 Fix corrupted snapshot serializaton on ia32. (Chromium issue v8/1985)
955
956 Performance and stability improvements on all platforms.
957
958
fschneider@chromium.org35814e52012-03-01 15:43:35 +00009592012-03-01: Version 3.9.14
960
961 Performance and stability improvements on all platforms.
962
963
ulan@chromium.org812308e2012-02-29 15:58:45 +00009642012-02-29: Version 3.9.13
965
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000966 Added code kind check before preparing for OSR. (issue 1900, 115073)
ulan@chromium.org812308e2012-02-29 15:58:45 +0000967
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000968 Fixed issue 1802: Pass zone explicitly to zone-allocation on x64 and
969 ARM.
ulan@chromium.org812308e2012-02-29 15:58:45 +0000970
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000971 Ported string construct stub to x64. (issue 849)
ulan@chromium.org812308e2012-02-29 15:58:45 +0000972
973 Performance and stability improvements on all platforms.
974
975
ulan@chromium.org967e2702012-02-28 09:49:15 +00009762012-02-28: Version 3.9.12
977
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000978 Fixed the negative lookup stub to handle deleted entries in a
979 dictionary. (issue 1964)
ulan@chromium.org967e2702012-02-28 09:49:15 +0000980
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000981 Added a new API where the host can supply a callback function. The
ulan@chromium.org967e2702012-02-28 09:49:15 +0000982 callback function can resolve the location of a return address on stack
983 to the location where a return-address rewriting profiler stashed the
984 original return address.
985
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000986 Fixed Chromium issue http://crbug.com/115646: When compiling for-in
987 pass correct context value to the increment instruction.
ulan@chromium.org967e2702012-02-28 09:49:15 +0000988
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000989 Fixed issue 1853: Update breakpoints set with partial file name after
990 compile.
ulan@chromium.org967e2702012-02-28 09:49:15 +0000991
992
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +00009932012-02-27: Version 3.9.11
994
fschneider@chromium.org35814e52012-03-01 15:43:35 +0000995 Made 'module' a context-sensitive keyword (V8 issue 1957).
yangguo@chromium.orga7d3df92012-02-27 11:46:55 +0000996
997
yangguo@chromium.orgab30bb82012-02-24 14:41:46 +00009982012-02-24: Version 3.9.10
999
1000 Fixed V8 issues 1322, 1772 and 1969.
1001
1002 Conformance improvements.
1003
1004 Performance and stability improvements on all platforms.
1005
1006
kmillikin@chromium.orgbe6bd102012-02-23 08:45:21 +000010072012-02-23: Version 3.9.9
1008
1009 Supported fast case for-in in Crankshaft.
1010
1011 Sped up heap snapshot serialization and dominators construction.
1012
1013 Randomized allocation addresses on windows. (Chromium issue 115151)
1014
1015 Fixed compilation with MinGW-w64. (issue 1943)
1016
1017 Fixed incorrect value of assignments to non-extensible properties.
1018
1019 Fixed a crash bug in generated code on ia32.
1020
1021 Performance and stability improvements on all platforms.
1022
1023
jkummerow@chromium.orgf7a58842012-02-21 10:08:21 +000010242012-02-21: Version 3.9.8
1025
1026 Fixed memory leak and missing #include in StartupDataDecompressor
1027 (issue 1960).
1028
1029 Renamed static methods to avoid shadowing virtual methods and fix Clang
1030 C++11 compile error.
1031
1032 Fixed sequence of element access in array builtins (issue 1790).
1033
1034 Performance and stability improvements on all platforms.
1035
1036
yangguo@chromium.org56454712012-02-16 15:33:53 +000010372012-02-16: Version 3.9.7
1038
1039 Fixed V8 issues 1322, 1878, 1942, 1945 and Chromium issue 113924.
1040
1041 Fixed GCC-4.7 warnings.
1042
1043 Added Navier-Stokes benchmark.
1044
1045 Performance and stability improvements on all platforms.
1046
1047
ulan@chromium.org65a89c22012-02-14 11:46:07 +000010482012-02-14: Version 3.9.6
1049
fschneider@chromium.org35814e52012-03-01 15:43:35 +00001050 Fixed template-related linker error. (issue 1936)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00001051
fschneider@chromium.org35814e52012-03-01 15:43:35 +00001052 Allowed inlining of functions containing object literals. (issue 1322)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00001053
fschneider@chromium.org35814e52012-03-01 15:43:35 +00001054 Added --call-graph-size option to tickprocessor. (issue 1937)
ulan@chromium.org65a89c22012-02-14 11:46:07 +00001055
1056 Heap Snapshot maximum size limit is too low for really big apps. At the
1057 moment the limit is 256MB. (Chromium issue 113015)
1058
1059 Performance and stability improvements on all platforms.
1060
1061
yangguo@chromium.org78d1ad42012-02-09 13:53:47 +000010622012-02-09: Version 3.9.5
1063
1064 Removed unused command line flags.
1065
1066 Performance and stability improvements on all platforms.
1067
1068
svenpanne@chromium.orgb1df11d2012-02-08 10:26:21 +000010692012-02-08: Version 3.9.4
1070
1071 Properly initialize element-transitioning array literals on ARM.
1072 (issue 1930)
1073
1074 Bug fixes on all platforms.
1075
1076
jkummerow@chromium.orgab7dad42012-02-07 12:07:34 +000010772012-02-07: Version 3.9.3
1078
1079 When rethrowing an exception, print the stack trace of its original
1080 site instead of rethrow site (Chromium issue 60240).
1081
1082 Increased size of small stacks from 32k to 64k to avoid hitting limits
1083 in Chromium (Chromium issue 112843).
1084
1085
rossberg@chromium.org994edf62012-02-06 10:12:55 +000010862012-02-06: Version 3.9.2
1087
fschneider@chromium.org35814e52012-03-01 15:43:35 +00001088 Added timestamp to --trace-gc output. (issue 1932)
rossberg@chromium.org994edf62012-02-06 10:12:55 +00001089
1090 Heap profiler reports implicit references.
1091
1092 Optionally export metadata with libv8 to enable debuggers to inspect V8
1093 state.
1094
1095
jkummerow@chromium.org1145ef82012-02-02 16:21:15 +000010962012-02-02: Version 3.9.1
1097
1098 Fixed memory leak in NativeObjectsExplorer::FindOrAddGroupInfo
1099 (Chromium issue 112315).
1100
1101 Fixed a crash in dev tools (Chromium issue 107996).
1102
1103 Added 'dependencies_traverse': 1 to v8 GYP target.
1104
1105 Performance and stability improvements on all platforms.
1106
1107
danno@chromium.orgfa458e42012-02-01 10:48:36 +000011082012-02-01: Version 3.9.0
1109
fschneider@chromium.org35814e52012-03-01 15:43:35 +00001110 Reduced memory use immediately after starting V8.
danno@chromium.orgfa458e42012-02-01 10:48:36 +00001111
1112 Stability fixes and performance improvements on all platforms.
1113
1114
yangguo@chromium.org659ceec2012-01-26 07:37:54 +000011152012-01-26: Version 3.8.9
1116
1117 Flush number string cache on GC (issue 1605).
1118
1119 Provide access to function inferred name with
1120 v8::Function::GetInferredName in V8 public API.
1121
1122 Fix building with Clang (issue 1912).
1123
1124 Reduce the space used by the stack for the profiling thread.
1125
1126 Fix misleading documentation of v8::Locker (issue 542).
1127
1128 Introduce readbinary function in d8 to read binary files.
1129
1130 Performance and stability improvements on all platforms.
1131
1132
jkummerow@chromium.org05ed9dd2012-01-23 14:42:48 +000011332012-01-23: Version 3.8.8
1134
1135 Limited number of loop iterations in Heap::ReserveSpace
1136 (Chromium issue 99027).
1137
1138 Fixed solaris build (VirtualMemory) (issue 1761).
1139
1140 Fixed strict vs. non-strict handling of function proxies in
1141 higher-order array and string methods.
1142
1143 Enabled asynchronous remote debugging with d8 (issue 1691).
1144
1145 Stability and performance improvements on all platforms.
1146
1147
ulan@chromium.org2efb9002012-01-19 15:36:35 +000011482012-01-19: Version 3.8.7
1149
1150 Ensure that LRandom restores rsi after call to the C function on x64.
1151 (Chromium issue http://crbug.com/110509)
1152
1153 Fixing include issues on *bsd when building with scons.
1154 (issue 1897)
1155
1156 Provide a switch to specify -fno-strict-aliasing
1157 (issue 1887)
1158
1159 Move WIN32 define from standalone.gypi to common.gypi
1160 (issue 1760)
1161
1162 Fix corner-case in heap size estimation.
1163 (issue 1893)
1164
1165 Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
1166 (issue 1903)
1167
1168 Performance improvements and bug fixes.
1169
1170
erik.corry@gmail.comf2038fb2012-01-16 11:42:08 +000011712012-01-16: Version 3.8.6
1172
1173 Add primitive WebGL array support to d8.
1174
1175 Improve heap size estimation (issue 1893).
1176
1177 Hash collision DOS workaround extended from string keys
1178 to numeric keys.
1179
1180 Provide an API for iterating through all external strings referenced
1181 from the JS heap.
1182
1183 Adjust position recorded for call expressions. http://crbug.com/109195
1184
1185 Fix GC crash related to instanceof. http://crbug.com/109448
1186
1187 Performance improvements and bug fixes.
1188
1189
rossberg@chromium.orgfab14982012-01-05 15:02:15 +000011902012-01-05: Version 3.8.5
1191
1192 Fix broken test that assumes that no GC can clear the regexp cache (GC
1193 can happen at any time due to Crankshaft).
1194
1195 Fix handling of bogus receivers for Harmony collections. (issue 1884)
1196
1197 Add netbsd support to gyp build.
1198
1199 Determine page size at runtime on posix platforms.
1200
1201 Ensure that store buffer filtering hash sets are cleared after
1202 StoreBuffer::Filter.
1203
1204 Randomize the seed used for string hashing. This helps guard against
1205 CPU-eating DOS attacks against node.js servers. Based on code from
1206 Bert Belder. This version only solves the issue for those that compile
1207 V8 themselves or those that do not use snapshots. A snapshot-based
1208 precompiled V8 will still have predictable string hash codes.
1209
1210 Implement callback when script finishes running in V8 API.
1211
1212 Improve performance of Math.min and Math.max for the case of two
1213 arguments. (issue 1325)
1214
1215
svenpanne@chromium.org3c93e772012-01-02 09:26:59 +000012162012-01-02: Version 3.8.4
1217
1218 Performance improvements for large Smi-only arrays.
1219
1220 Fixed InternalArrays construction. (issue 1878)
1221
1222
danno@chromium.orgbf0c8202011-12-27 10:09:42 +000012232011-12-27: Version 3.8.3
1224
1225 Avoid embedding new space objects into code objects in the lithium gap
1226 resolver. (chromium:108296)
1227
1228 Bug fixes and performance optimizations on all platforms.
1229
1230
danno@chromium.orge78f9fc2011-12-21 08:29:34 +000012312011-12-21: Version 3.8.2
1232
1233 Add max optimization flag to v8 gyp build to ensure V8 is always built
1234 fully optimized in Chrome.
1235
1236 MIPS: Bring MIPS to parity with other platforms.
1237
1238 Optimizations and stability improvements on all platforms.
1239
1240
ricow@chromium.org7ad65222011-12-19 12:13:11 +000012412011-12-19: Version 3.8.1
1242
1243 Fixed GCC 4.7 warnings. Patch from Tobias Burnus.
1244
1245 Stability improvements on all platforms.
1246
1247
ricow@chromium.org64e3a4b2011-12-13 08:07:27 +000012482011-12-13: Version 3.8.0
1249
1250 Fixed handling of arrays in DefineOwnProperty. (issue 1756)
1251
1252 Sync parser and preparser on do-while and return statements.
1253 (issue 1856)
1254
1255 Fixed another corner case for DefineOwnProperty on arrays (issue 1756).
1256
1257 Stability and performance improvements on all platforms.
1258
1259
svenpanne@chromium.orgecb9dd62011-12-01 08:22:35 +000012602011-12-01: Version 3.7.12
1261
1262 Increase tick interval for the android platform.
1263
1264 Fix a bug in the register allocator. (chromium:105112)
1265
1266 Fix handling of recompiling code. (chromium:105375, v8:1782)
1267
1268 Start incremental marking on idle notification. (v8:1458)
1269
1270 Build fixes for various platforms.
1271
1272 Various performance improvements.
1273
1274
mstarzinger@chromium.org1b3afd12011-11-29 14:28:56 +000012752011-11-29: Version 3.7.11
1276
1277 Fixed bug when generating padding to ensure space for lazy
1278 deoptimization.
1279 (issue 1846)
1280
1281 Further reduced pause times due to GC.
1282
1283 Stability and performance improvements on all platforms.
1284
1285
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +000012862011-11-23: Version 3.7.10
1287
1288 Set maximum length of FixedArray in terms of elements instead an
1289 absolute number of bytes.
1290 (Chromium issue 103103)
1291
1292 Stability and performance improvements on all platforms.
1293
1294
12952011-11-21: Version 3.7.9
1296
1297 Removed exit-time destructors.
1298
1299 Stability and performance improvements on all platforms.
1300
1301
ricow@chromium.org27bf2882011-11-17 08:34:43 +000013022011-11-17: Version 3.7.8
1303
mstarzinger@chromium.orgf8c6bd52011-11-23 12:13:52 +00001304 Removed hidden prototype from builtins, i.e., deleting an overridden
ricow@chromium.org27bf2882011-11-17 08:34:43 +00001305 function on builtins will not make the original function reappear.
1306
1307 Added NetBSD support for scons build.
1308
1309 Performance improvements on all platforms.
1310
1311
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +000013122011-11-14: Version 3.7.7
1313
1314 Fix missing fast property accessors in heap snapshots.
1315 (issue 1818)
1316
1317
danno@chromium.org2c456792011-11-11 12:00:53 +000013182011-11-11: Version 3.7.6
1319
1320 Fixed filtering of store buffer for large object pages.
1321 (issue 1817)
1322
1323 Fixed generated hash function on all platforms.
1324 (issue 1808)
1325
1326 Fixed Heap::Shrink to ensure that it does not free pages that are
1327 still in use.
1328 (Chromium issue 100414)
1329
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00001330 Stability and performance improvements on all platforms.
danno@chromium.org2c456792011-11-11 12:00:53 +00001331
1332
danno@chromium.orgc612e022011-11-10 11:38:15 +000013332011-11-10: Version 3.7.5
1334
1335 Added initial gyp infrastructure for MIPS.
1336
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00001337 Implemented performance improvements to the incremental garbage
danno@chromium.orgc612e022011-11-10 11:38:15 +00001338 collector.
1339
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00001340 Added optimizations and stability improvements on all platforms.
danno@chromium.orgc612e022011-11-10 11:38:15 +00001341
1342
jkummerow@chromium.orgc3b37122011-11-07 10:14:12 +000013432011-11-07: Version 3.7.4
1344
1345 Proper "libv8.so.3.7.4" SONAME for Linux shared library (issue 1786).
1346
1347 Fix Harmony sets and maps to allow null and undefined as keys
1348 (still hidden behind --harmony flag) (issue 1622).
1349
1350 Implement VirtualMemory on FreeBSD to fix build (issue 1807).
1351
1352 Enable VFP instructions for Android.
1353
1354 Fix error handling in Date.prototype.toISOString (issue 1792).
1355
1356 Bug fixes and performance improvements for all platforms.
1357
1358 Not officially supported but noteworthy: Crankshaft for MIPS :-)
1359
1360
erik.corry@gmail.combecbc522011-10-28 07:45:20 +000013612011-10-28: Version 3.7.3
1362
1363 Slight deoptimization as a workaround for issue with jslint: Issue
1364 1789.
1365
1366
erik.corry@gmail.com6e28b562011-10-27 14:20:17 +000013672011-10-27: Version 3.7.2
1368
1369 Fix bug in deoptimization. Known issue with jslint: Issue 1789.
1370
1371
erik.corry@gmail.com394dbcf2011-10-27 07:38:48 +000013722011-10-26: Version 3.7.1
1373
1374 Achieved 33% speedup in debug-mode tests.
1375
1376 Removed special casing of calls to RegExp test and exec methods with no
1377 argument. Now matches new JSC behaviour. crbug.com/75740.
1378
1379 Return the empty string on cyclic references in toString (ES5
1380 conformance).
1381
1382 Fixed bug triggered by JSBeautifier. crbug.com/100409.
1383
1384 Made Math.random state per-context instead of per-process (issue 864).
1385
1386 Fixed stack traces to skip native functions.
1387
1388 Make snapshots (new contexts) smaller and faster.
1389
1390 Fixed handling of Function.apply for non-array arguments.
1391
1392 Fixed evaluation order in defineProperties to match FireFox.
1393
1394 Fixed handling of non-object receivers for array builtins,
1395 crbug.com/100702.
1396
1397 Multiple fixes to improve compliance with test262.
1398
1399 Fixed compatibility with older Android releases.
1400
1401 Fixed compilation with gcc-4.5.3.
1402
1403 Improved performance of WriteUtf8, issue 1665.
1404
1405 Made native syntax an early error in the preparser.
1406
1407 Fixed issues 793 and 893 relating to Function.prototype.bind.
1408
1409 Improved let, const, Set and Map support and other Harmony features
1410 (behind the --harmony flag).
1411
1412 Changed evaluation order for > and <= to match ES5 instead of ES3.
1413
1414 Bug fixes and performance improvements on all platforms.
1415
1416
rossberg@chromium.orgb4b2aa62011-10-13 09:49:59 +000014172011-10-13: Version 3.7.0
1418
1419 Fixed array handling for Object.defineOwnProperty (ES5 conformance).
1420
1421 Fixed issue 1757 (string slices of external strings).
1422
1423 Fixed issue 1759 (ARM).
1424
1425 Added flag --noclever-optimizations to disable some things that
1426 caused trouble in the past.
1427
1428 Added flag --stress-compaction for testing.
1429
1430 Added flag --harmony to activate all experimental Harmony features.
1431
1432
svenpanne@chromium.orga8bb4d92011-10-10 13:20:40 +000014332011-10-10: Version 3.6.6
1434
1435 Added a GC pause visualization tool.
1436
1437 Added presubmit=no and werror=no flags to Makefile.
1438
1439 ES5/Test262 conformance improvements.
1440
1441 Fixed compilation issues with GCC 4.5.x (issue 1743).
1442
1443 Bug fixes and performance improvements on all platforms.
1444
1445
erik.corry@gmail.comc3b670f2011-10-05 21:44:48 +000014462011-10-05: Version 3.6.5
1447
1448 New incremental garbage collector.
1449
1450 Removed the hard heap size limit (soft heap size limit is still
1451 700/1400Mbytes by default).
1452
1453 Implemented ES5 generic Array.prototype.toString (Issue 1361).
1454
1455 V8 now allows surrogate pair codes in decodeURIComponent (Issue 1415).
1456
1457 Fixed x64 RegExp start-of-string bug (Issues 1746, 1748).
1458
1459 Fixed propertyIsEnumerable for numeric properties (Issue 1692).
1460
1461 Fixed the MinGW and Windows 2000 builds.
1462
1463 Fixed "Prototype chain is not searched if named property handler does
1464 not set a property" (Issue 1636).
1465
1466 Made the RegExp.prototype object be a RegExp object (Issue 1217).
1467
1468 Disallowed future reserved words as labels in strict mode.
1469
1470 Fixed string split to correctly coerce the separator to a string
1471 (Issue 1711).
1472
1473 API: Added an optional source length field to the Extension
1474 constructor.
1475
1476 API: Added Debug::DisableAgent to match existing Debug::EnableAgent
1477 (Issue 1573).
1478
1479 Added "native" target to Makefile for the benefit of Linux distros.
1480
1481 Fixed: debugger stops stepping outside evaluate (Issue 1639).
1482
1483 More work on ES-Harmony proxies. Still hidden behind a flag.
1484
1485 Bug fixes and performance improvements on all platforms.
1486
1487
lrn@chromium.org34e60782011-09-15 07:25:40 +000014882011-09-15: Version 3.6.4
1489
1490 Fixed d8's broken readline history.
1491
1492 Removed the need for code delete events in CPU profiler (Issue 1466).
1493
1494 Fixed debugger stepping next with trycatch recursion (Issue 1639).
1495
1496 Fixing parallel execution in d8 (with -p) and some memory leaks.
1497
1498 Support for precise stepping in functions compiled before debugging was
1499 started (step 1).
1500
1501
kmillikin@chromium.org83e16822011-09-13 08:21:47 +000015022011-09-13: Version 3.6.3
1503
1504 Implemented better support of typed arrays in the d8 shell.
1505
1506 Bug fixes and performance improvements on all platforms.
1507
1508
ricow@chromium.org55ee8072011-09-08 16:33:10 +000015092011-09-08: Version 3.6.2
1510
1511 Added "dependencies" target to top-level Makefile.
1512
1513 Added ability to turn profiler on/off in d8.
1514
1515 Added "soname_version" parameter to common.gypi, v8.gyp, and Makefile.
1516
1517 Fixed several crash bugs.
1518
1519
jkummerow@chromium.org486075a2011-09-07 12:44:28 +000015202011-09-07: Version 3.6.1
1521
1522 Fixed a bug in abrupt exit from with or catch inside finally.
1523
1524 Fixed possible crash in FixedDoubleArray::Initialize() (Chromium
1525 issue 95113).
1526
1527 Fixed a bug in Page::GetRegionMaskForSpan (Chromium issue 94425).
1528
1529 Fixed a few clang warnings (which -Werror treated as errors).
1530
1531 Performance improvements on all platforms.
1532
1533
fschneider@chromium.org1805e212011-09-05 10:49:12 +000015342011-09-05: Version 3.6.0
1535
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001536 Fixed a bug when optimizing named function expression (issue 1647).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001537
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001538 Fixed a bug when optimizing f.call.apply (issue 1650).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001539
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001540 Made arguments and caller always be null on native functions
1541 (issues 1548 and 1643).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001542
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001543 Fixed issue 1648 (cross-compiling x64 targeting ia32).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001544
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001545 Fixed issue 371 (d8 printing of strings containing \0).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001546
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001547 Fixed order of evaluation in arguments to parseInt (issue 1649).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001548
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001549 Fixed a problem with large heap snapshots in Chrome DevTools
1550 (issue 1658, chromium issue 89268).
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001551
ricow@chromium.org55ee8072011-09-08 16:33:10 +00001552 Upped default maximum heap size from 512M to 700M.
fschneider@chromium.org1805e212011-09-05 10:49:12 +00001553
1554
yangguo@chromium.org80c42ed2011-08-31 09:03:56 +000015552011-08-31: Version 3.5.10
1556
1557 Added dependency of v8_base on WinSocket2 Windows library in
1558 the GYP-build.
1559
1560 Various bugfixes.
1561
1562
ricow@chromium.org4668a2c2011-08-29 10:41:00 +000015632011-08-29: Version 3.5.9
1564
1565 Made FromPropertyDescriptor not trigger inherited setters.
1566
1567 Fixed .gyp files to work on the ARM simulator.
1568
1569 Fixed shared library build warnings for MSVS.
1570
1571
ricow@chromium.orgddd545c2011-08-24 12:02:41 +000015722011-08-24: Version 3.5.8
1573
1574 Added V8EXPORT attributes for v8::Array::CheckCast and
1575 v8::Number::CheckCast.
1576
1577 Made a slight API change enabling opting out from null termination
1578 in String::Write*().
1579
1580 Fixed arm build for gcc-4.6.
1581
1582
rossberg@chromium.org28a37082011-08-22 11:03:23 +000015832011-08-22: Version 3.5.7
1584
1585 Make scanner handle invalid unicode escapes in identifiers correctly.
1586
1587 Make regexp flag parsing stricter.
1588
1589 Fix several memory leaks.
1590
1591
danno@chromium.orgb6451162011-08-17 14:33:23 +000015922011-08-17: Version 3.5.6
1593
1594 Fixed issue that could cause crashes when running with --heap-stats.
1595
1596 Fixed compilation on Linux 2.6.9 and older.
1597
1598 Fixed live-object-list to work with isolates.
1599
1600 Fixed memory leaks in zones and isolates.
1601
1602 Fixed a performance regression for TypedArrays on x64.
1603
1604 Stability improvements on all platforms.
1605
1606
whesse@chromium.org4acdc2c2011-08-15 13:01:23 +000016072011-08-15: Version 3.5.5
1608
1609 Fixed bugs involving negative zero and the optimizing compiler.
1610
1611 Fixed optimized version of Function.apply(x, arguments). (issue 1592)
1612
1613 Eliminated uses of deprecated ARM instructions.
1614
1615 Sped up Math.floor by using SSE 4.1 roundsd instruction on ia32.
1616
1617 Removed restriction on the size of disassembled code that is printed.
1618
1619
kmillikin@chromium.org7c2628c2011-08-10 11:27:35 +000016202011-08-10: Version 3.5.4
1621
1622 Added a preliminary implementation of ES Harmony weak maps. Weak
1623 maps can be enabled by the flag --harmony-weakmaps.
1624
1625 Introduced a toplevel Makefile to support GYP-based building. GYP
1626 can be obtained from http://gyp.googlecode.com.
1627
1628 Fixed a bug in the length property of functions created by
1629 Function.prototype.bind.
1630
1631 Reduced malloc heap allocation on process startup.
1632
1633 Several important code generation bug fixes.
1634
1635 Performance improvements on all platforms.
1636
1637
lrn@chromium.orgd4e9e222011-08-03 12:01:58 +000016382011-08-03: Version 3.5.3
1639
1640 MIPS: Port of fix to ClassOf check from ARM.
1641 Patch from Paul Lind <plind44@gmail.com>.
1642
1643 Stopped using mprotect on Cygwin.
1644 Avoided uninitialized member warning on gcc 4.3.4
1645 Both patches by Bert Belder.
1646
1647 Bug fixes and performance improvements on all platforms.
1648
1649
vegorov@chromium.org7943d462011-08-01 11:41:52 +000016502011-08-01: Version 3.5.2
1651
1652 Performance improvements on all platforms.
1653
1654
ricow@chromium.org2c99e282011-07-28 09:15:17 +000016552011-07-28: Version 3.5.1
1656
1657 Fixed setting the readonly flag on the prototype property using the
1658 API call FunctionTemplate::SetPrototypeAttributes (issue 1539).
1659
1660 Changed the tools/test.py script to use d8 instead of shell for
1661 testing.
1662
1663 Fixed crash in ToBooleanStub when GC happens during invocation.
1664
1665 Enabled automatic unboxing of double arrays.
1666
1667 Performance improvements on all platforms.
1668
1669
ricow@chromium.org9fa09672011-07-25 11:05:35 +000016702011-07-25: Version 3.5.0
1671
1672 Implemented Object.prototype.{hasOwnProperty, propertyIsEnumerable} for
1673 proxies.
1674
1675 Removed logging to memory support.
1676
1677 Bugfixes and performance work.
1678
1679
rossberg@chromium.org717967f2011-07-20 13:44:42 +000016802011-07-20: Version 3.4.14
1681
1682 Fix the debugger for strict-mode functions. (Chromium issue 89236)
1683
jkummerow@chromium.org04e4f1e2011-11-14 13:36:17 +00001684 Add GetPropertyAttribute method for Object in the API. (Patch by
ricow@chromium.org9fa09672011-07-25 11:05:35 +00001685 Peter Varga)
rossberg@chromium.org717967f2011-07-20 13:44:42 +00001686
1687 Fix -Wunused-but-set-variable for gcc-4.6 on x64. (Issue 1291)
1688
1689
svenpanne@chromium.org84bcc552011-07-18 09:50:57 +000016902011-07-18: Version 3.4.13
1691
1692 Improved debugger support to allow inspection of optimized frames (issue
1693 1140).
1694
1695 Fixed a bug in prototype transitions cache clearing introduced by r8165.
1696
1697 Fixed shortcutting bug in HInferRepresentation. Patch by Andy Wingo.
1698
1699 Fixed a memory leak in sample/shell.cc (dispose semaphores).
1700
1701 Simplified HClampToUint8. Patch by Andy Wingo.
1702
1703 Exposed APIs for detecting boxed primitives, native errors. Patch by
1704 Luke Zarko.
1705
1706 Added map check for COW elements to crankshaft array handling code
1707 (issue 1560).
1708
1709 Sample shell and (a light version of) D8 links against a shared library
1710 now.
1711
1712 Fixed bug in array filter and reduce functions (issue 1559).
1713
1714 Avoid TLS load in AstNode constructor.
1715
1716 Introduced a random entropy source which can optionally be provided at
1717 initialization. (Chromium issue 89462).
1718
1719
whesse@chromium.org030d38e2011-07-13 13:23:34 +000017202011-07-13: Version 3.4.12
1721
1722 Added --prof profiling option to d8 shell.
1723
1724 Fixed a bug where reading a directory in d8 shell hangs (issue 1533).
1725
1726 Fixed a potential assertion failure in const declarations.
1727
1728 Fixed an assertion failure in descriptor arrays (issue 1526).
1729
1730 Enabled fast thread-local storage by default on supported platforms.
1731
1732 Improved reporting of source position for global variable loads
1733 (issue 1527).
1734
1735
sgjesse@chromium.org6db88712011-07-11 11:41:22 +000017362011-07-11: Version 3.4.11
1737
1738 Fixed MinGW32 build.
1739
1740 Fixed a GC bug with RegExp code flushing.
1741
1742 Implemented Object.defineProperty for proxies.
1743
1744 Fixed a bug in for/in iteration of arguments objects (issue 1531).
1745
1746 Added debugger support for inspecting optimized frames (issue 1140).
1747
1748 Allowed JSObject::PreventExtensions to work for arguments objects.
1749
1750 Bugfixes and performance work.
1751
1752
jkummerow@chromium.orgddda9e82011-07-06 11:27:02 +000017532011-07-06: Version 3.4.10
1754
1755 Fixed debugger not breaking on certain "if" statements (issue 1523).
1756
1757 Fixed assertion failure in runtime profiler when running on IA32
1758 without snapshot (issue 1522).
1759
1760 Fixed ABI for API calls on IA32 (for clang compatibility).
1761
1762 Introduced code flushing of RegExp code to free memory used by
1763 RegExps sooner.
1764
1765 Fixed linux-tick-processor built wrong version of v8 (issue 1532).
1766
1767 Fixed assertion failure in v8::TryCache::StackTrace (issue 1529).
1768
1769 Performance improvements on all platforms.
1770
1771
ricow@chromium.org4f693d62011-07-04 14:01:31 +000017722011-07-04: Version 3.4.9
1773
1774 Added support for debugger inspection of locals in optimized frames
1775 (issue 1140).
1776
1777 Fixed SConstruct to pass correct defines to samples/preparser when
1778 building with library=shared.
1779
1780 Made date parser handle ES5 Date Time Strings correctly (issue 1498).
1781
1782 Fixed a bug in Object.defineProperty on the arguments object.
1783
1784 Performance improvements on all platforms.
1785
1786
vegorov@chromium.org3cf47312011-06-29 13:20:01 +000017872011-06-29: Version 3.4.8
1788
1789 Ensure 16-byte stack alignment on Solaris (issue 1505).
1790
sgjesse@chromium.org6db88712011-07-11 11:41:22 +00001791 Fix "illegal access" when calling parseInt with a radix
vegorov@chromium.org3cf47312011-06-29 13:20:01 +00001792 that is not a smi. (issue 1246).
1793
1794
ager@chromium.org04921a82011-06-27 13:21:41 +000017952011-06-27: Version 3.4.7
1796
1797 Fixed 64-bit build on FreeBSD.
1798
1799 Added API to set the property attributes for the prototype
1800 property on functions created from FunctionTemplates.
1801
1802 Bugfixes and performance work.
1803
1804
lrn@chromium.orgac2828d2011-06-23 06:29:21 +000018052011-06-22: Version 3.4.6
1806
1807 Lowered limit on code space for systems with low memory supply.
1808
1809 Allowed compiling v8_shell with the 'host' toolset (issue 82437).
1810
1811 Extended setBreakpoint API to accept partial script name (issue 1418).
1812
1813 Made multi-line comments not count when deciding whether the '-->'
1814 comment starter is first on a line. This matches Safari.
1815
1816 Made handling of non-array recievers in Array length setter correct
1817 (issue 1491).
1818
1819 Added ability to heap profiler to iterate over snapshot's node
1820 (issue 1481).
1821
1822
whesse@chromium.org7b260152011-06-20 15:33:18 +000018232011-06-20: Version 3.4.5
1824
1825 Fixed issues 794, 1097, 1215(partial), 1417, 1435, 1472, 1473,
1826 1476, and 1477.
1827
1828 Improved code generation for !0 and !1.
1829
1830 Reduced memory usage for regular expressions with nested qualifiers.
1831 (issue 1472)
1832
1833 Fixed V8 to count line terminators in multi-line comments.
1834 (Chromium issue 86431)
1835
1836 Fixed disassembler=on option for release-mode builds. (issue 1473)
1837
1838 Performance improvements on all platforms.
1839
1840
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +000018412011-06-15: Version 3.4.4
1842
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001843 Added snapshot compression support and --stress-opt flag to d8.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001844
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001845 Improved performance of try/catch.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001846
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001847 Several GYP-related changes: Added support for building Xcode project
1848 files. Make the ARM simulator build with GYP again. Generate Makefiles
1849 for all architectures on Linux.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001850
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001851 Fixed Array.prototype.{reduce,reduceRight} to pass undefined as the
1852 receiver for strict mode callbacks. (issue 1436)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001853
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001854 Fixed a bug where an array load was incorrectly hoisted by GVN.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001855
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001856 Handle 'undefined' correctly when === has been specialized for doubles.
1857 (issue 1434)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001858
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001859 Corrected the limit of local variables in an optimized function from 64
1860 to 63.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001861
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001862 Correctly set ReadOnly flag on indexed properties when using the API Set
1863 method. (issue 1470)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001864
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001865 Give the correct error message when Object.isExtensible is called on a
1866 non-object. (issue 1452)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001867
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001868 Added GetOwnPropertyNames method for Object in the API. Patch by Peter
1869 Varga.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001870
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001871 Do not redefine properties unneccesarily in seal and freeze. (issue
1872 1447)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001873
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001874 IsExecutionTerminating has an Isolate parameter now.
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001875
ricow@chromium.org4f693d62011-07-04 14:01:31 +00001876 Distinguish keyed loads with a symbol key from fast elements loads,
1877 avoiding some useless deoptimizations. (issue 1471)
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001878
1879
jkummerow@chromium.orge297f592011-06-08 10:05:15 +000018802011-06-08: Version 3.4.3
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00001881
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00001882 Clear the global thread table when an isolate is disposed
1883 (issue 1433).
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00001884
jkummerow@chromium.orge297f592011-06-08 10:05:15 +00001885 Converted time zone name to UTF8 on Windows (issue 1290).
1886
1887 Limited the number of arguments in a function call to 32766
1888 (issue 1413).
1889
1890 Compress sources of JS libraries in addition to the snapshot.
1891
1892 Fixed a bug in Lithium environment iteration.
1893
1894 Performance improvements on all platforms.
erik.corry@gmail.com8a177112011-06-08 07:23:54 +00001895
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001896
erik.corry@gmail.comd6076d92011-06-06 09:39:18 +000018972011-06-06: Version 3.4.2
1898
1899 More work on ES-Harmony proxies. Still hidden behind a flag.
1900
1901 Fixed some crash bugs and improved performance.
1902
1903 Fixed building with gdb debugging support.
1904
1905 Do not install SIGPROF handler until it is needed.
1906
1907 Added DateTimeFormat to i18n API.
1908
1909 Fixed compilation on OpenBSD.
1910
1911 Take the ulimit into account when sizing the heap. OpenBSD users
1912 may still have to increase the default ulimit to run heavy pages in
1913 the browser.
1914
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00001915
ricow@chromium.orgd2be9012011-06-01 06:00:58 +000019162011-06-01: Version 3.4.1
1917
1918 Fixed JSON stringify issue with arrays.
1919
1920 Changed calls to JS builtins to be passed undefined when called with
1921 implicit receiver.
1922
1923 Implemented the set trap for Harmony proxies. Proxies still need to
1924 be enabled with the --harmony-proxies flag.
1925
1926
ricow@chromium.orgc54d3652011-05-30 09:20:16 +000019272011-05-30: Version 3.4.0
1928
1929 Changed calls to undefined property setters to not throw (issue 1355).
1930
1931 Made RegExp objects not callable.
1932
1933 Fixed issues on special case large JSON strings in new json parser
1934 (issues http://crbug.com/83877 and http://crbug.com/84186).
1935
1936 Performance improvements on all platforms.
1937
1938
danno@chromium.org40cb8782011-05-25 07:58:50 +000019392011-05-25: Version 3.3.10
1940
1941 Fixed calls of strict mode function with an implicit receiver.
1942
1943 Fixed fast handling of arrays to properly deal with changes to the
1944 Object prototype (issue 1403).
1945
1946 Changed strict mode poison pill to be the same type error function
1947 (issue 1387).
1948
1949 Fixed a debug crash in arguments object handling (issue 1227).
1950
1951 Fixed a bug in deoptimization on x64 (issue 1404).
1952
1953 Performance improvements and bug fixes on all platforms.
1954
1955
ager@chromium.orgea91cc52011-05-23 06:06:11 +000019562011-05-23: Version 3.3.9
1957
1958 Added DateTimeFormat class to experimental i18n API.
1959
1960 Extended preparser to give early errors for some strict mode
1961 restrictions.
1962
1963 Removed legacy execScript function from V8.
1964
1965 Extended isolate API with the ability to add embedder-specific
1966 data to an isolate.
1967
1968 Added basic support for polymorphic loads from JS and external
1969 arrays.
1970
1971 Fixed bug in handling of switch statements in the optimizing
1972 compiler.
1973
1974
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +000019752011-05-18: Version 3.3.8
1976
ager@chromium.orgea91cc52011-05-23 06:06:11 +00001977 Added MarkIndependent to the persistent handle API. Independent
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00001978 handles are independent of all other persistent handles and can be
1979 garbage collected more frequently.
1980
ager@chromium.orgea91cc52011-05-23 06:06:11 +00001981 Implemented the get trap for Harmony proxies. Proxies are enabled
kmillikin@chromium.orgc53e10d2011-05-18 09:12:58 +00001982 with the --harmony-proxies flag.
1983
1984 Performance improvements and bug fixes on all platforms.
1985
1986
vegorov@chromium.org7304bca2011-05-16 12:14:13 +000019872011-05-16: Version 3.3.7
1988
1989 Updated MIPS infrastructure files.
1990
1991 Performance improvements and bug fixes on all platforms.
1992
1993
karlklose@chromium.org83a47282011-05-11 11:54:09 +000019942011-05-11: Version 3.3.6
1995
1996 Updated MIPS infrastructure files.
1997
1998 Added method IsCallable for Object to the API.
1999 Patch by Peter Varga.
2000
2001
lrn@chromium.org1c092762011-05-09 09:42:16 +000020022011-05-09: Version 3.3.5
2003
2004 Fixed build on FreeBSD. Patch by Akinori MUSHA.
2005
2006 Added check that receiver is JSObject on API calls.
2007
2008 Implemented CallAsConstructor method for Object in the API (Issue 1348).
2009 Patch by Peter Varga.
2010
2011 Added CallAsFunction method to the Object class in the API (Issue 1336).
2012 Patch by Peter Varga.
2013
2014 Added per-isolate locking and unlocking.
2015
2016 Fixed bug in x64 >>> operator (Issue 1359).
2017
2018
fschneider@chromium.orgfb144a02011-05-04 12:43:48 +000020192011-05-04: Version 3.3.4
2020
2021 Implemented API to disallow code generation from strings for a context
2022 (issue 1258).
2023
2024 Fixed bug with whitespaces in parseInt (issue 955).
2025
2026 Fixed bug with == comparison of Date objects (issue 1356).
2027
2028 Added GYP variables for ARM code generation:
2029 v8_can_use_vfp_instructions, v8_can_use_unaligned_accesses
2030 and v8_use_arm_eabi_hardfloat.
2031
2032
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +000020332011-05-02: Version 3.3.3
2034
2035 Added support for generating Visual Studio solution and project files
2036 using GYP.
2037
2038 Implemented support for ARM EABI calling convention variation where
2039 floating-point arguments are passed in registers (hardfloat).
2040
2041 Added Object::HasOwnProperty() to the API.
2042
2043 Added support for compressing startup data to reduce binary size. This
2044 includes build time support and an API for the embedder to decompress
2045 the startup data before initializing V8.
2046
2047 Reduced the profiling hooks overhead from >400% to 25% when using
2048 ll_prof.
2049
2050 Performance improvements and bug fixes on all platforms.
2051
2052
erik.corry@gmail.com3847bd52011-04-27 10:38:56 +000020532011-04-27: Version 3.3.2
2054
2055 Fixed crash bug on ARM with no VFP3 hardware.
2056
2057 Fixed compilation of V8 without debugger support.
2058
2059 Improved performance on JSLint.
2060
2061 Added support Float64 WebGL arrays.
2062
2063 Fixed crash bug in regexp replace.
2064
sgjesse@chromium.org8e8294a2011-05-02 14:30:53 +00002065
ricow@chromium.orgdcebac02011-04-20 09:44:50 +000020662011-04-20: Version 3.3.1
2067
2068 Reduced V8 binary size by removing virtual functions from hydrogen.
2069
2070 Fixed crash bug on x64.
2071
2072 Performance improvements on ARM and IA32.
2073
2074
danno@chromium.org160a7b02011-04-18 15:51:38 +000020752011-04-18: Version 3.3.0
2076
2077 Fixed bug in floating point rounding in Crankshaft on ARM
2078 (issue 958)
2079
2080 Fixed a number of issues with running without VFPv3 support on ARM
2081 (issue 1315)
2082
2083 Introduced v8Locale.Collator, a partial implementation of Collator
2084 per last ECMAScript meeting + mailing list.
2085
2086 Minor performance improvements and bug fixes.
2087
2088
ager@chromium.orga9aa5fa2011-04-13 08:46:07 +000020892011-04-13: Version 3.2.10
2090
2091 Fixed bug in external float arrays on ARM (issue 1323).
2092
2093 Minor performance improvements and bug fixes.
2094
2095
karlklose@chromium.org44bc7082011-04-11 12:33:05 +000020962011-04-11: Version 3.2.9
2097
2098 Removed support for ABI prior to EABI on ARM.
2099
2100 Fixed multiple crash bugs.
2101
2102 Added GCMole to the repository, a simple static analysis tool that
2103 searches for GC-unsafe evaluation order dependent callsites.
2104
2105 Made preparser API be exported in shared libraries.
2106
2107 Fixed multiple issues in EcmaScript 5 strict mode implementation.
2108
2109 Fixed mutable __proto__ property if object is not extensible
2110 (Issue 1309).
2111
2112 Fixed auto suspension of the sampler thread.
2113
2114
vegorov@chromium.org74f333b2011-04-06 11:17:46 +000021152011-04-06: Version 3.2.8
2116
2117 Exposed WebGL typed array constructors in the shell sample.
2118
2119 Performance improvements on all platforms.
2120
2121
kmillikin@chromium.orgc36ce6e2011-04-04 08:25:31 +000021222011-04-04: Version 3.2.7
2123
2124 Disabled the original 'classic' V8 code generator. Crankshaft is
2125 now the default on all platforms.
2126
2127 Changed the heap profiler to use more descriptive names.
2128
2129 Performance and stability improvements to isolates on all platforms.
2130
2131
lrn@chromium.org7516f052011-03-30 08:52:27 +000021322011-03-30: Version 3.2.6
2133
2134 Fixed xcode build warning in shell.cc (out of order initialization).
2135
2136 Fixed null-pointer dereference in the compiler when running without
2137 SSE3 support (Chromium issue 77654).
2138
2139 Fixed x64 compilation error due to some dead code. (Issue 1286)
2140
2141 Introduced scons target to build the preparser stand-alone example.
2142
2143 Made FreeBSD build and pass all tests.
2144
2145
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +000021462011-03-28: Version 3.2.5
2147
lrn@chromium.org7516f052011-03-30 08:52:27 +00002148 Fixed build with Irregexp interpreter (issue 1266).
fschneider@chromium.org7979bbb2011-03-28 10:47:03 +00002149
2150 Added Crankshaft support for external arrays.
2151
2152 Fixed two potential crash bugs.
2153
2154
sgjesse@chromium.orgea88ce92011-03-23 11:19:56 +000021552011-03-23: Version 3.2.4
2156
2157 Added isolates which allows several V8 instances in the same process.
2158 This is controlled through the new Isolate class in the API.
2159
2160 Implemented more of EcmaScript 5 strict mode.
2161
2162 Reduced the time it takes to make detailed heap snapshot.
2163
2164 Added a number of commands to the ARM simulator and enhanced the ARM
2165 disassembler.
2166
2167
ricow@chromium.orgbadaffc2011-03-17 12:15:27 +000021682011-03-17: Version 3.2.3
2169
2170 Fixed a number of crash bugs.
2171
2172 Fixed Array::New(length) to return an array with a length (issue 1256).
2173
2174 Fixed FreeBSD build.
2175
2176 Changed __defineGetter__ to not throw (matching the behavior of Safari).
2177
2178 Implemented more of EcmaScript 5 strict mode.
2179
2180 Improved Crankshaft performance on all platforms.
2181
2182
whesse@chromium.orgb08986c2011-03-14 16:13:42 +000021832011-03-14: Version 3.2.2
2184
2185 Fixed a number of crash and correctness bugs.
2186
2187 Improved Crankshaft performance on all platforms.
2188
2189 Fixed Crankshaft on Solaris/Illumos.
2190
2191
danno@chromium.org4d3fe4e2011-03-10 10:14:28 +000021922011-03-10: Version 3.2.1
2193
2194 Fixed a number of crash bugs.
2195
2196 Improved Crankshaft for x64 and ARM.
2197
2198 Implemented more of EcmaScript 5 strict mode.
2199
2200
karlklose@chromium.org8f806e82011-03-07 14:06:08 +000022012011-03-07: Version 3.2.0
2202
2203 Fixed a number of crash bugs.
2204
2205 Turned on Crankshaft by default on x64 and ARM.
2206
2207 Improved Crankshaft for x64 and ARM.
2208
2209 Implemented more of EcmaScript 5 strict mode.
2210
2211
ager@chromium.org9ee27ae2011-03-02 13:43:26 +000022122011-03-02: Version 3.1.8
2213
2214 Fixed a number of crash bugs.
2215
2216 Improved Crankshaft for x64 and ARM.
2217
2218 Implemented more of EcmaScript 5 strict mode.
2219
2220 Fixed issue with unaligned reads and writes on ARM.
2221
2222 Improved heap profiler support.
2223
2224
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +000022252011-02-28: Version 3.1.7
2226
2227 Fixed a number of crash bugs.
2228
2229 Improved Crankshaft for x64 and ARM.
2230
ager@chromium.org9ee27ae2011-03-02 13:43:26 +00002231 Fixed implementation of indexOf/lastIndexOf for sparse
vegorov@chromium.org5d6c1f52011-02-28 13:13:38 +00002232 arrays (http://crbug.com/73940).
2233
2234 Fixed bug in map space compaction (http://crbug.com/59688).
2235
2236 Added support for direct getter accessors calls on ARM.
2237
2238
fschneider@chromium.org3a5fd782011-02-24 10:10:44 +000022392011-02-24: Version 3.1.6
2240
2241 Fixed a number of crash bugs.
2242
2243 Added support for Cygwin (issue 64).
2244
2245 Improved Crankshaft for x64 and ARM.
2246
2247 Added Crankshaft support for stores to pixel arrays.
2248
2249 Fixed issue in CPU profiler with Crankshaft.
2250
2251
kmillikin@chromium.org49edbdf2011-02-16 12:32:18 +000022522011-02-16: Version 3.1.5
2253
2254 Change RegExp parsing to disallow /(*)/.
2255
2256 Added GDB JIT support for ARM.
2257
2258 Fixed several crash bugs.
2259
2260 Performance improvements on the IA32 platform.
2261
2262
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +000022632011-02-14: Version 3.1.4
2264
2265 Fixed incorrect compare of prototypes of the global object (issue
2266 1082).
2267
2268 Fixed a bug in optimizing calls to global functions (issue 1106).
2269
2270 Made optimized Function.prototype.apply safe for non-JSObject first
2271 arguments (issue 1128).
2272
2273 Fixed an error related to element accessors on Object.prototype and
2274 parser errors (issue 1130).
2275
2276 Fixed a bug in sorting an array with large array indices (issue 1131).
2277
2278 Properly treat exceptions thrown while compiling (issue 1132).
2279
2280 Fixed bug in register requirements for function.apply (issue 1133).
2281
2282 Fixed a representation change bug in the Hydrogen graph construction
2283 (issue 1134).
2284
2285 Fixed the semantics of delete on parameters (issue 1136).
2286
2287 Fixed a optimizer bug related to moving instructions with side effects
2288 (issue 1138).
2289
2290 Added support for the global object in Object.keys (issue 1150).
2291
2292 Fixed incorrect value for Math.LOG10E
2293 (issue http://code.google.com/p/chromium/issues/detail?id=72555)
2294
2295 Performance improvements on the IA32 platform.
2296
2297 Implement assignment to undefined reference in ES5 Strict Mode.
2298
2299
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +000023002011-02-09: Version 3.1.3
2301
2302 Fixed a bug triggered by functions with huge numbers of declared
2303 arguments.
2304
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00002305 Fixed zap value aliasing a real object - debug mode only (issue 866).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00002306
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00002307 Fixed issue where Array.prototype.__proto__ had been set to null
2308 (issue 1121).
erik.corry@gmail.comd91075f2011-02-10 07:45:38 +00002309
2310 Fixed stability bugs in Crankshaft for x86.
2311
2312
ricow@chromium.org83aa5492011-02-07 12:42:56 +000023132011-02-07: Version 3.1.2
2314
2315 Added better security checks when accessing properties via
2316 Object.getOwnPropertyDescriptor.
2317
2318 Fixed bug in Object.defineProperty and related access bugs (issues
2319 992, 1083 and 1092).
2320
2321 Added LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to ease
2322 copyright notice generation for embedders.
2323
2324
kmillikin@chromium.org31b12772011-02-02 16:08:26 +000023252011-02-02: Version 3.1.1
2326
2327 Perform security checks before fetching the value in
2328 Object.getOwnPropertyDescriptor.
2329
2330 Fixed a bug in Array.prototype.splice triggered by passing no
2331 arguments.
2332
2333 Fixed bugs in -0 in arithmetic and in Math.pow.
2334
2335 Fixed bugs in the register allocator and in switching from optimized
2336 to unoptimized code.
2337
2338
23392011-01-31: Version 3.1.0
2340
whesse@chromium.org7a392b32011-01-31 11:30:36 +00002341 Performance improvements on all platforms.
2342
2343
ager@chromium.org378b34e2011-01-28 08:04:38 +000023442011-01-28: Version 3.0.12
2345
2346 Added support for strict mode parameter and object property
2347 validation.
2348
2349 Fixed a couple of crash bugs.
2350
2351
ager@chromium.org0ee099b2011-01-25 14:06:47 +000023522011-01-25: Version 3.0.11
2353
2354 Fixed a bug in deletion of lookup slots that could cause global
2355 variables to be accidentally deleted (http://crbug.com/70066).
2356
2357 Added support for strict mode octal literal verification.
2358
2359 Fixed a couple of crash bugs (issues 1070 and 1071).
2360
2361
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +000023622011-01-24: Version 3.0.10
2363
2364 Fixed External::Wrap for 64-bit addresses (issue 1037).
2365
ager@chromium.org0ee099b2011-01-25 14:06:47 +00002366 Fixed incorrect .arguments variable proxy handling in the full
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00002367 code generator (issue 1060).
2368
2369 Introduced partial strict mode support.
2370
sgjesse@chromium.org496c03a2011-02-14 12:05:43 +00002371 Changed formatting of recursive error messages to match Firefox and
2372 Safari (issue http://crbug.com/70334).
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00002373
2374 Fixed incorrect rounding for float-to-integer conversions for external
ager@chromium.org0ee099b2011-01-25 14:06:47 +00002375 array types, which implement the Typed Array spec
vegorov@chromium.org0a4e9012011-01-24 12:33:13 +00002376 (issue http://crbug.com/50972).
2377
2378 Performance improvements on the IA32 platform.
2379
2380
erik.corry@gmail.com0511e242011-01-19 11:11:08 +000023812011-01-19: Version 3.0.9
2382
2383 Added basic GDB JIT Interface integration.
2384
2385 Make invalid break/continue statements a syntax error instead of a
2386 runtime error.
2387
2388
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000023892011-01-17: Version 3.0.8
2390
2391 Exposed heap size limit to the heap statistics gathered by
erik.corry@gmail.com0511e242011-01-19 11:11:08 +00002392 the GetHeapStatistics API.
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +00002393
2394 Wrapped external pointers more carefully (issue 1037).
2395
2396 Hardened the implementation of error objects to avoid setters
2397 intercepting the properties set then throwing an error.
2398
2399 Avoided trashing the FPSCR when calculating Math.floor on ARM.
2400
2401 Performance improvements on the IA32 platform.
2402
2403
24042011-01-10: Version 3.0.7
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002405
2406 Stopped calling inherited setters when creating object literals
2407 (issue 1015).
2408
2409 Changed interpretation of malformed \c? escapes in RegExp to match
2410 JSC.
2411
2412 Enhanced the command-line debugger interface and fixed some minor
2413 bugs in the debugger.
2414
2415 Performance improvements on the IA32 platform.
2416
2417
sgjesse@chromium.orgc6c57182011-01-17 12:24:25 +000024182011-01-05: Version 3.0.6
lrn@chromium.org5d00b602011-01-05 09:51:43 +00002419
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002420 Allowed getters and setters on JSArray elements (issue 900).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00002421
2422 Stopped JSON objects from hitting inherited setters (part of
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002423 issue 1015).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00002424
2425 Allowed numbers and strings as names of getters/setters in object
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002426 initializer (issue 820).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00002427
2428 Added use_system_v8 option to gyp (off by default), to make it easier
2429 for Linux distributions to ship with system-provided V8 library.
2430
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002431 Exported external array data accessors (issue 1016).
lrn@chromium.org5d00b602011-01-05 09:51:43 +00002432
2433 Added labelled thread names to help with debugging (on Linux).
2434
2435
fschneider@chromium.org9e3e0b62011-01-03 10:16:46 +000024362011-01-03: Version 3.0.5
2437
2438 Fixed a couple of cast errors for gcc-3.4.3.
2439
2440 Performance improvements in GC and IA32 code generator.
2441
2442
whesse@chromium.org023421e2010-12-21 12:19:12 +000024432010-12-21: Version 3.0.4
2444
2445 Added Date::ResetCache() to the API so that the cached values in the
2446 Date object can be reset to allow live DST / timezone changes.
2447
2448 Extended existing support for printing (while debugging) the contents
2449 of objects. Added support for printing objects from release builds.
2450
2451 Fixed V8 issues 989, 1006, and 1007.
2452
2453
ager@chromium.org5f0c45f2010-12-17 08:51:21 +000024542010-12-17: Version 3.0.3
2455
2456 Reapplied all changes for version 3.0.1.
2457
2458 Improved debugger protocol for remote debugging.
2459
2460 Added experimental support for using gyp to generate build files
2461 for V8.
2462
2463 Fixed implementation of String::Write in the API (issue 975).
2464
2465
lrn@chromium.org8541d772010-12-15 12:05:09 +000024662010-12-15: Version 3.0.2
2467
2468 Revert version 3.0.1 and patch 3.0.1.1.
2469
2470
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +000024712010-12-13: Version 3.0.1
2472
2473 Added support for an experimental internationalization API as an
2474 extension. This extension is disabled by default but can be enabled
2475 when building V8. The ECMAScript internationalization strawman is
2476 at http://wiki.ecmascript.org/doku.php?id=strawman:i18n_api.
2477
2478 Made RegExp character class parsing stricter. This mirrors a change
2479 to RegExp parsing in WebKit.
2480
2481 Fixed a bug in Object.defineProperty when used to change attributes
2482 of an existing property. It incorrectly set the property value to
2483 undefined (issue 965).
2484
2485 Fixed several different compilation failures on various platforms
2486 caused by the 3.0.0 release.
2487
2488 Optimized Math.pow so it can work on unboxed doubles.
2489
2490 Sped up quoting of JSON strings by removing one traversal of the
2491 string.
2492
2493
kasperl@chromium.orga5551262010-12-07 12:49:48 +000024942010-12-07: Version 3.0.0
2495
2496 Improved performance by (partially) addressing issue 957 on
2497 IA-32. Still needs more work for the other architectures.
2498
2499
ager@chromium.orgbeb25712010-11-29 08:02:25 +000025002010-11-29: Version 2.5.9
2501
2502 Fixed crashes during GC caused by partially initialize heap
2503 objects.
2504
2505 Fixed bug in process sample that caused memory leaks.
2506
2507 Improved performance on ARM by implementing missing stubs and
2508 inlining.
2509
2510 Improved heap profiler support.
2511
2512 Added separate seeding on Windows of the random number generator
2513 used internally by the compiler (issue 936).
2514
2515 Exposed API for getting the name of the function used to construct
2516 an object.
2517
2518 Fixed date parser to handle one and two digit millisecond
2519 values (issue 944).
2520
2521 Fixed number parsing to disallow space between sign and
2522 digits (issue 946).
2523
2524
vegorov@chromium.org21b5e952010-11-23 10:24:40 +000025252010-11-23: Version 2.5.8
2526
2527 Removed dependency on Gay's dtoa.
2528
2529 Improved heap profiler precision and speed.
2530
2531 Reduced overhead of callback invocations on ARM.
2532
2533
erik.corry@gmail.com4a6c3272010-11-18 12:04:40 +000025342010-11-18: Version 2.5.7
2535
2536 Fixed obscure evaluation order bug (issue 931).
2537
2538 Split the random number state between JavaScript and the private API.
2539
2540 Fixed performance bug causing GCs when generating stack traces on
2541 code from very large scripts.
2542
2543 Fixed bug in parser that allowed (foo):42 as a labelled statement
2544 (issue 918).
2545
2546 Provide more accurate results about used heap size via
2547 GetHeapStatistics.
2548
2549 Allow build-time customization of the max semispace size.
2550
2551 Made String.prototype.split honor limit when separator is empty
2552 (issue 929).
2553
2554 Added missing failure check after expecting an identifier in
2555 preparser (Chromium issue 62639).
2556
2557
ager@chromium.org01fe7df2010-11-10 11:59:11 +000025582010-11-10: Version 2.5.6
2559
2560 Added support for VFP rounding modes to the ARM simulator.
2561
2562 Fixed multiplication overflow bug (issue 927).
2563
2564 Added a limit for the amount of executable memory (issue 925).
2565
2566
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +000025672010-11-08: Version 2.5.5
2568
2569 Added more aggressive GC of external objects in near out-of-memory
2570 situations.
2571
2572 Fixed a bug that gave the incorrect result for String.split called
2573 on the empty string (issue 924).
2574
2575
lrn@chromium.orgfa943b72010-11-03 08:14:36 +000025762010-11-03: Version 2.5.4
2577
whesse@chromium.orgf0ac72d2010-11-08 12:47:26 +00002578 Improved V8 VFPv3 runtime detection to address issue 914.
lrn@chromium.orgfa943b72010-11-03 08:14:36 +00002579
2580
fschneider@chromium.orge03fb642010-11-01 12:34:09 +000025812010-11-01: Version 2.5.3
2582
2583 Fixed a bug that prevents constants from overwriting function values
2584 in object literals (issue 907).
2585
2586 Fixed a bug with reporting of impossible nested calls of DOM functions
2587 (issue http://crbug.com/60753).
2588
2589
lrn@chromium.org303ada72010-10-27 09:33:13 +000025902010-10-27: Version 2.5.2
2591
2592 Improved sampler resolution on Linux.
2593
2594 Allowed forcing the use of a simulator from the build script
2595 independently of the host architecture.
2596
kmillikin@chromium.orgd2c22f02011-01-10 08:15:37 +00002597 Fixed FreeBSD port (issue 912).
lrn@chromium.org303ada72010-10-27 09:33:13 +00002598
2599 Made windows-tick-processor respect D8_PATH.
2600
2601 Implemented --noinline-new flag fully on IA32, X64 and ARM platforms.
2602
2603
whesse@chromium.org4a5224e2010-10-20 12:37:07 +000026042010-10-20: Version 2.5.1
2605
2606 Fixed bug causing spurious out of memory exceptions
2607 (issue http://crbug.com/54580).
2608
2609 Fixed compilation error on Solaris platform (issue 901).
2610
2611 Fixed error in strtod (string to floating point number conversion)
2612 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
2613
2614 Adjusted randomized allocations of executable memory to have 64k
2615 granularity (issue http://crbug.com/56036).
2616
2617 Supported profiling using kernel perf_events on linux. Added ll_prof
2618 script to tools and --ll-prof flag to V8.
2619
2620
vegorov@chromium.org42841962010-10-18 11:18:59 +000026212010-10-18: Version 2.5.0
2622
2623 Fixed bug in cache handling of lastIndex on global regexps
2624 (issue http://crbug.com/58740).
2625
2626 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
2627 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
kmillikin@chromium.orgfacd82d2010-12-13 18:00:51 +00002628 from Hewlett-Packard Development Company, LP).
vegorov@chromium.org42841962010-10-18 11:18:59 +00002629
2630 Fixed compilation error on ARM with gcc 4.4 (issue 894).
2631
2632
26332010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +00002634
2635 Fixed a bug in the handling of conditional expressions in test
2636 contexts in compiler for top-level code.
2637
2638 Added "//@ sourceURL" information to the StackTrace API.
2639
2640 Exposed RegExp construction through the API.
2641
2642
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +000026432010-10-04: Version 2.4.8
2644
2645 Fixed a bug in ResumeProfilerEx causing it to not always write out the
2646 whole snapshot (issue 868).
2647
2648 Performance improvements on all platforms.
2649
2650
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000026512010-09-30: Version 2.4.7
2652
2653 Changed the command-line flag --max-new-space-size to be in kB and the
2654 flag --max-old-space-size to be in MB (previously they were in bytes).
2655
2656 Added Debug::CancelDebugBreak to the debugger API.
2657
2658 Fixed a bug in getters for negative numeric property names
2659 (https://bugs.webkit.org/show_bug.cgi?id=46689).
2660
2661 Performance improvements on all platforms.
2662
2663
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000026642010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00002665
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +00002666 Fixed assertion failure related to copy-on-write arrays (issue 876).
2667
2668 Fixed build failure of 64-bit V8 on Windows.
2669
2670 Fixed a bug in RegExp (issue http://crbug.com/52801).
2671
2672 Improved the profiler's coverage to cover more functions (issue 858).
2673
2674 Fixed error in shift operators on 64-bit V8
2675 (issue http://crbug.com/54521).
2676
2677
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000026782010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +00002679
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002680 Changed the RegExp benchmark to exercise the regexp engine on different
2681 inputs by scrambling the input strings.
2682
2683 Fixed a bug in keyed loads on strings.
2684
2685 Fixed a bug with loading global function prototypes.
2686
2687 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
2688
2689 Performance improvements on all platforms.
2690
2691
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000026922010-09-15: Version 2.4.4
2693
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002694 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00002695
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002696 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00002697
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002698 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00002699
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002700 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +00002701
2702
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +000027032010-09-13: Version 2.4.3
2704
2705 Made Date.parse properly handle TZ offsets (issue 857).
2706
2707 Performance improvements on all platforms.
2708
2709
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000027102010-09-08: Version 2.4.2
2711
2712 Fixed GC crash bug.
2713
2714 Fixed stack corruption bug.
2715
2716 Fixed compilation for newer C++ compilers that found Operand(0)
2717 ambiguous.
2718
2719
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000027202010-09-06: Version 2.4.1
2721
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002722 Added the ability for an embedding application to receive a callback
2723 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
2724 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002725
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002726 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002727
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002728 Fixed memory overrun crash bug triggered during V8's tick-based
2729 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002730
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002731 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002732
2733
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +000027342010-09-01: Version 2.4.0
2735
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002736 Fixed bug in Object.freeze and Object.seal when Array.prototype or
2737 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002738
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002739 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002740 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002741
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002742 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002743
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002744 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00002745
2746
ricow@chromium.org65fae842010-08-25 15:26:24 +000027472010-08-25: Version 2.3.11
2748
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002749 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +00002750
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002751 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002752 VARIANT_FLAGS that allows specification of sets of flags with which
2753 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +00002754
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002755 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +00002756
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00002757 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +00002758
2759
erik.corry@gmail.com145eff52010-08-23 11:36:18 +000027602010-08-23: Version 2.3.10
2761
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002762 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00002763
2764 Build fixes for unusual compilers.
2765
2766 Track high water mark for RWX memory.
2767
2768 Performance improvements on all platforms.
2769
2770
ricow@chromium.org0b9f8502010-08-18 07:45:01 +000027712010-08-18: Version 2.3.9
2772
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002773 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00002774
2775 Removed specialized handling of GCC 4.4 (issue 830).
2776
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00002777 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00002778 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
2779
ricow@chromium.org65fae842010-08-25 15:26:24 +00002780 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00002781
2782
ager@chromium.orgea4f62e2010-08-16 16:28:43 +000027832010-08-16: Version 2.3.8
2784
2785 Fixed build with strict aliasing on GCC 4.4 (issue 463).
2786
2787 Fixed issue with incorrect handling of custom valueOf methods on
2788 string wrappers (issue 760).
2789
2790 Fixed compilation for ARMv4 (issue 590).
2791
2792 Improved performance.
2793
2794
vegorov@chromium.org26c16f82010-08-11 13:41:03 +000027952010-08-11: Version 2.3.7
2796
2797 Reduced size of heap snapshots produced by heap profiler (issue 783).
2798
2799 Introduced v8::Value::IsRegExp method.
2800
2801 Fixed CPU profiler crash in start / stop sequence when non-existent
2802 name is passed (issue http://crbug.com/51594).
2803
2804 Introduced new indexed property query callbacks API (issue 816). This
2805 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
2806 by default.
2807
2808 Removed support for object literal get/set with number/string
2809 property name.
2810
2811 Fixed handling of JSObject::elements in CalculateNetworkSize
2812 (issue 822).
2813
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002814 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00002815
2816
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +000028172010-08-09: Version 2.3.6
2818
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00002819 RegExp literals create a new object every time they are evaluated
2820 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00002821
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00002822 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00002823
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002824 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00002825
2826
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +000028272010-08-04: Version 2.3.5
2828
2829 Added support for ES5 property names. Object initialisers and
2830 dot-notation property access now allows keywords. Also allowed
2831 non-identifiers after "get" or "set" in an object initialiser.
2832
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002833 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00002834
2835
whesse@chromium.orge90029b2010-08-02 11:52:17 +000028362010-08-02: Version 2.3.4
2837
2838 Fixed problems in implementation of ES5 function.prototype.bind.
2839
2840 Fixed error when using apply with arguments object on ARM (issue 784).
2841
2842 Added setting of global flags to debugger protocol.
2843
2844 Fixed an error affecting cached results of sin and cos (issue 792).
2845
2846 Removed memory leak from a boundary case where V8 is not initialized.
2847
2848 Fixed issue where debugger could set breakpoints outside the body
2849 of a function.
2850
2851 Fixed issue in debugger when using both live edit and step in features.
2852
2853 Added Number-letter (Nl) category to Unicode tables. These characters
2854 can now be used in identifiers.
2855
2856 Fixed an assert failure on X64 (issue 806).
2857
2858 Performance improvements on all platforms.
2859
2860
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +000028612010-07-26: Version 2.3.3
2862
2863 Fixed error when building the d8 shell in a fresh checkout.
2864
2865 Implemented Function.prototype.bind (ES5 15.3.4.5).
2866
2867 Fixed an error in inlined stores on ia32.
2868
2869 Fixed an error when setting a breakpoint at the end of a function
2870 that does not end with a newline character.
2871
2872 Performance improvements on all platforms.
2873
2874
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +000028752010-07-21: Version 2.3.2
2876
2877 Fixed compiler warnings when building with LLVM.
2878
2879 Fixed a bug with for-in applied to strings (issue 785).
2880
2881 Performance improvements on all platforms.
2882
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00002883
ricow@chromium.org4980dff2010-07-19 08:33:45 +000028842010-07-19: Version 2.3.1
2885
2886 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
2887
2888 Fixed bug related to code flushing while compiling a lazy
2889 compilable function (issue http://crbug.com/49099).
2890
2891 Performance improvements on all platforms.
2892
2893
ager@chromium.orgb5737492010-07-15 09:29:43 +000028942010-07-15: Version 2.3.0
2895
2896 Added ES5 Object.seal and Object.isSealed.
2897
2898 Added debugger API for scheduling debugger commands from a
2899 separate thread.
2900
2901
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +000029022010-07-14: Version 2.2.24
2903
2904 Added API for capturing stack traces for uncaught exceptions.
2905
2906 Fixed crash bug when preparsing from a non-external V8 string
2907 (issue 775).
2908
2909 Fixed JSON.parse bug causing input not to be converted to string
2910 (issue 764).
2911
2912 Added ES5 Object.freeze and Object.isFrozen.
2913
2914 Performance improvements on all platforms.
2915
2916
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +000029172010-07-07: Version 2.2.23
2918
2919 API change: Convert Unicode code points outside the basic multilingual
2920 plane to the replacement character. Previous behavior was to silently
2921 truncate the value to 16 bits.
2922
2923 Fixed crash: handle all flat string types in regexp replace.
2924
2925 Prevent invalid pre-parsing data passed in through the API from
2926 crashing V8.
2927
2928 Performance improvements on all platforms.
2929
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00002930
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +000029312010-07-05: Version 2.2.22
2932
2933 Added ES5 Object.isExtensible and Object.preventExtensions.
2934
2935 Enabled building V8 as a DLL.
2936
2937 Fixed a bug in date code where -0 was not interpreted as 0
2938 (issue 736).
2939
2940 Performance improvements on all platforms.
2941
2942
lrn@chromium.org32d961d2010-06-30 09:09:34 +000029432010-06-30: Version 2.2.21
2944
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002945 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002946
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002947 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002948
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002949 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002950
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002951 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002952
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002953 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +00002954
2955 Provide actual breakpoints locations in response to setBreakpoint
2956 and listBreakpoints requests.
2957
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002958
fschneider@chromium.org40b9da32010-06-28 11:29:21 +000029592010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002960
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002961 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002962
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002963 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002964
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002965 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002966
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002967 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00002968 miscalculated for some inputs.
2969
2970 Performance improvements on all platforms.
2971
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002972
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +000029732010-06-23: Version 2.2.19
2974
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002975 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00002976 (issue 738).
2977
2978 Added expose-externalize-string flag for testing extensions.
2979
2980 Resolve linker issues with using V8 as a DLL causing a number of
2981 problems with unresolved symbols.
2982
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002983 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00002984 defined.
2985
2986 Performance improvements on all platforms.
2987
2988
whesse@chromium.org2c186ca2010-06-16 11:32:39 +000029892010-06-16: Version 2.2.18
2990
2991 Added API functions to retrieve information on indexed properties
2992 managed by the embedding layer. Fixes bug 737.
2993
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002994 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002995
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002996 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002997
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00002998 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00002999
3000 Incremental performance improvements.
3001
3002
ager@chromium.org2cc82ae2010-06-14 07:35:38 +000030032010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00003004
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00003005 Improved debugger support for stepping out of functions.
3006
3007 Incremental performance improvements.
3008
3009
30102010-06-09: Version 2.2.16
3011
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00003012 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00003013 disposal of external string resources to call a virtual Dispose
3014 method on the resource.
3015
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00003016 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +00003017 stepping.
3018
3019 Memory usage improvements on all platforms.
3020
3021
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +000030222010-06-07: Version 2.2.15
3023
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003024 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00003025
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003026 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00003027 some compilers complaint when compiling with -Werror.
3028
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003029 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00003030
3031
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +000030322010-06-02: Version 2.2.14
3033
3034 Fixed a crash in code generated for String.charCodeAt.
3035
3036 Fixed a compilation issue with some GCC versions (issue 727).
3037
3038 Performance optimizations on x64 and ARM platforms.
3039
3040
ricow@chromium.org30ce4112010-05-31 10:38:25 +000030412010-05-31: Version 2.2.13
3042
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003043 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +00003044 strings (issue 599).
3045
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003046 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00003047
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003048 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +00003049
3050 Performance improvements on all platforms.
3051
3052
kmillikin@chromium.org9155e252010-05-26 13:27:57 +000030532010-05-26: Version 2.2.12
3054
3055 Allowed accessors to be defined on objects rather than just object
3056 templates.
3057
3058 Changed the ScriptData API.
3059
3060
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +000030612010-05-21: Version 2.2.11
3062
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003063 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00003064
3065 Use 'full compiler' when debugging is active. This should increase
3066 the density of possible break points, making single step more fine
3067 grained. This will only take effect for functions compiled after
3068 debugging has been started, so recompilation of all functions is
3069 required to get the full effect. IA32 and x64 only for now.
3070
3071 Misc. fixes to the Solaris build.
3072
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003073 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00003074
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003075 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00003076
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003077 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00003078
3079 Incremental performance improvements in all backends.
3080
3081
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +000030822010-05-17: Version 2.2.10
3083
3084 Performance improvements in the x64 and ARM backends.
3085
3086
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +000030872010-05-10: Version 2.2.9
3088
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003089 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00003090
3091 Fixed bug with Date.parse returning a non-NaN value when called on a
3092 non date string (issue 696).
3093
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003094 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00003095 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00003096
3097 C++ API for retrieving JavaScript stack trace information.
3098
3099
ager@chromium.orgac091b72010-05-05 07:34:42 +000031002010-05-05: Version 2.2.8
3101
3102 Performance improvements in the x64 and ARM backends.
3103
3104
kmillikin@chromium.org4111b802010-05-03 10:34:42 +000031052010-05-03: Version 2.2.7
3106
3107 Added support for ES5 date time string format to Date.parse.
3108
3109 Performance improvements in the x64 backend.
3110
3111
lrn@chromium.orgc34f5802010-04-28 12:53:43 +000031122010-04-28: Version 2.2.6
3113
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00003114 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00003115 (by Ryan Dahl <coldredlemur@gmail.com>).
3116
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00003117 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00003118
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00003119 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00003120
3121 Performance improvements on all platforms.
3122
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00003123
fschneider@chromium.org013f3e12010-04-26 13:27:52 +000031242010-04-26: Version 2.2.5
3125
3126 Various performance improvements (especially for ARM and x64)
3127
3128 Fixed bug in CPU profiling (http://crbug.com/42137)
3129
3130 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00003131
3132 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00003133 wrong calculations.
3134
3135 Fixed a bug that may cause a wrong result for shift operations.
3136
3137
31382010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +00003139
3140 Fixed warnings on arm on newer GCC versions.
3141
3142 Fixed a number of minor bugs.
3143
3144 Performance improvements on all platforms.
3145
3146
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +000031472010-04-14: Version 2.2.3
3148
3149 Added stack command and mem command to ARM simulator debugger.
3150
3151 Fixed scons snapshot and ARM build, and Windows X64 build issues.
3152
3153 Performance improvements on all platforms.
3154
3155
ager@chromium.org357bf652010-04-12 11:30:10 +000031562010-04-12: Version 2.2.2
3157
3158 Introduced new profiler API.
3159
3160 Fixed random number generator to produce full 32 random bits.
3161
3162
lrn@chromium.org25156de2010-04-06 13:10:27 +000031632010-04-06: Version 2.2.1
3164
3165 Debugger improvements.
3166
3167 Fixed minor bugs.
3168
3169
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +000031702010-03-29: Version 2.2.0
3171
3172 Fixed a few minor bugs.
3173
3174 Performance improvements for string operations.
3175
3176
ager@chromium.orgb26c50a2010-03-26 09:27:16 +000031772010-03-26: Version 2.1.10
3178
3179 Fixed scons build issues.
3180
3181 Fixed a couple of minor bugs.
3182
3183
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +000031842010-03-25: Version 2.1.9
3185
3186 Added API support for reattaching a global object to a context.
3187
3188 Extended debugger API with access to the internal debugger context.
3189
3190 Fixed Chromium crashes (issues http://crbug.com/39128 and
3191 http://crbug.com/39160)
3192
3193
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +000031942010-03-24: Version 2.1.8
3195
3196 Added fine-grained garbage collection callbacks to the API.
3197
3198 Performance improvements on all platforms.
3199
3200
whesse@chromium.orgcec079d2010-03-22 14:44:04 +000032012010-03-22: Version 2.1.7
3202
3203 Fixed issue 650.
3204
3205 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +00003206
3207 Performance improvements for arithmetic operations.
3208
3209 Performance improvements for string operations.
3210
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00003211 Print script name and line number information in stack trace.
3212
3213
32142010-03-17: Version 2.1.6
3215
3216 Performance improvements for arithmetic operations.
3217
3218 Performance improvements for string operations.
3219
3220
vegorov@chromium.orgf8372902010-03-15 10:26:20 +000032212010-03-10: Version 2.1.4
3222
3223 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
3224
3225 Performance improvements on all platforms.
3226
3227
ager@chromium.orgce5e87b2010-03-10 10:24:18 +000032282010-03-10: Version 2.1.3
3229
3230 Added API method for context-disposal notifications.
3231
3232 Added API method for accessing elements by integer index.
3233
3234 Added missing implementation of Uint32::Value and Value::IsUint32
3235 API methods.
3236
3237 Added IsExecutionTerminating API method.
3238
3239 Disabled strict aliasing for GCC 4.4.
3240
3241 Fixed string-concatenation bug (issue 636).
3242
3243 Performance improvements on all platforms.
3244
3245
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +000032462010-02-23: Version 2.1.2
3247
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003248 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00003249
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003250 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00003251
3252 Performance improvements on all platforms.
3253
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00003254
ager@chromium.org5c838252010-02-19 08:53:10 +000032552010-02-19: Version 2.1.1
3256
3257 [ES5] Implemented Object.defineProperty.
3258
3259 Improved profiler support.
3260
3261 Added SetPrototype method in the public V8 API.
3262
3263 Added GetScriptOrigin and GetScriptLineNumber methods to Function
3264 objects in the API.
3265
3266 Performance improvements on all platforms.
3267
3268
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +000032692010-02-03: Version 2.1.0
3270
3271 Values are now always wrapped in objects when used as a receiver.
3272 (issue 223).
3273
3274 [ES5] Implemented Object.getOwnPropertyNames.
3275
3276 [ES5] Restrict JSON.parse to only accept strings that conforms to the
3277 JSON grammar.
3278
3279 Improvement of debugger agent (issue 549 and 554).
3280
3281 Fixed problem with skipped stack frame in profiles (issue 553).
3282
3283 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
3284 <ry@tinyclouds.org>.
3285
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003286 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00003287 integers.
3288
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003289 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00003290 functions (isue http://crbug.com/3867).
3291
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003292 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00003293
3294 Numerous performance improvements including porting of previous IA-32
3295 optimizations to x64 and ARM architectures.
3296
3297
fschneider@chromium.org0c20e672010-01-14 15:28:53 +000032982010-01-14: Version 2.0.6
3299
3300 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
3301 GetOwnProperty, FromPropertyDescriptor.
3302
3303 Fixed Mac x64 build errors.
3304
3305 Improved performance of some math and string operations.
3306
3307 Improved performance of some regexp operations.
3308
3309 Improved performance of context creation.
3310
3311 Improved performance of hash tables.
3312
3313
sgjesse@chromium.org846fb742009-12-18 08:56:33 +000033142009-12-18: Version 2.0.5
3315
3316 Extended to upper limit of map space to allow for 7 times as many map
3317 to be allocated (issue 524).
3318
3319 Improved performance of code using closures.
3320
3321 Improved performance of some binary operations involving doubles.
3322
3323
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +000033242009-12-16: Version 2.0.4
3325
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003326 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003327
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003328 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003329
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003330 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003331
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003332 Improved handling of external strings by using a separate table
3333 instead of weak handles. This improves garbage collection
3334 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003335
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003336 Changed code generation for object and array literals in toplevel
3337 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003338
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003339 Fixed a crash bug triggered when garbage collection happened during
3340 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003341
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00003342 Fixed crash bug sometimes triggered when local variables shadowed
3343 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003344
3345
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +000033462009-12-03: Version 2.0.3
3347
3348 Optimized handling and adding of strings, for-in and Array.join.
3349
3350 Heap serialization is now non-destructive.
3351
3352 Improved profiler support with information on time spend in C++
3353 callbacks registered through the API.
3354
3355 Added commands to the debugger protocol for starting/stopping
3356 profiling.
3357
3358 Enabled the non-optimizing compiler for top-level code.
3359
3360 Changed the API to only allow strings to be set as data objects on
3361 Contexts and scripts to avoid potentially keeping global objects
3362 around for too long (issue 528).
3363
3364 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
3365
3366 Fixed bugs.
3367
3368
ager@chromium.org01beca72009-11-24 14:29:16 +000033692009-11-24: Version 2.0.2
3370
3371 Improved profiler support.
3372
3373 Fixed bug that broke compilation of d8 with readline support.
3374
3375
ager@chromium.org6141cbe2009-11-20 12:14:52 +000033762009-11-20: Version 2.0.1
3377
3378 Fixed crash bug in String.prototype.replace.
3379
3380 Reverted a change which caused Chromium interactive ui test
3381 failures.
3382
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003383
ager@chromium.orgc4c92722009-11-18 14:12:51 +000033842009-11-18: Version 2.0.0
3385
3386 Added support for VFP on ARM.
3387
3388 Added TryCatch::ReThrow method to the API.
3389
3390 Reduced the size of snapshots and improved the snapshot load time.
3391
3392 Improved heap profiler support.
3393
3394 64-bit version now supported on Windows.
3395
3396 Fixed a number of debugger issues.
3397
3398 Fixed bugs.
3399
3400
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +000034012009-10-29: Version 1.3.18
3402
3403 Reverted a change which caused crashes in RegExp replace.
3404
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00003405 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00003406
3407
ager@chromium.org3811b432009-10-28 14:53:37 +000034082009-10-28: Version 1.3.17
3409
3410 Added API method to get simple heap statistics.
3411
3412 Improved heap profiler support.
3413
3414 Fixed the implementation of the resource constraint API so it
3415 works when using snapshots.
3416
3417 Fixed a number of issues in the Windows 64-bit version.
3418
3419 Optimized calls to API getters.
3420
3421 Added valgrind notification on code modification to the 64-bit version.
3422
3423 Fixed issue where we logged shared library addresses on Windows at
3424 startup and never used them.
3425
3426
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +000034272009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003428
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003429 X64: Convert smis to holding 32 bits of payload.
3430
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003431 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003432
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003433 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003434
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003435 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003436 Patch by Jan de Mooij <jandemooij@gmail.com>
3437
3438 Implement ES5 Array.isArray
3439 Patch by Jan de Mooij <jandemooij@gmail.com>
3440
3441 Skip access checks for hidden properties.
3442
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003443 Added String::Concat(Handle<String> left, Handle<String> right) to the
3444 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003445
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003446 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00003447
3448
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +000034492009-10-07: Version 1.3.15
3450
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003451 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00003452
3453 Fixed a crash bug happening when starting profiling (issue
3454 http://crbug.com/23768).
3455
3456
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +000034572009-10-07: Version 1.3.14
3458
3459 Added GetRealNamedProperty to the API to lookup real properties
3460 located on the object or in the prototype chain skipping any
3461 interceptors.
3462
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003463 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00003464 stack limit now needs to be set to each thread thich is used with V8.
3465
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003466 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00003467
3468 Ensure V8 is initialized before locking and unlocking threads.
3469
3470 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +00003471 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00003472 Crockford from the project.
3473
3474 Added a missing optimization in StringCharAt.
3475
3476 Fixed some flaky socket tests.
3477
3478 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
3479 in 64-bit mode.
3480
3481 Fixed memory leaks in the thread management code.
3482
3483 Fixed the result of assignment to a pixel array. The assigned value
3484 is now the result.
3485
3486 Error reporting for invalid left-hand sides in for-in statements, pre-
3487 and postfix count expressions, and assignments now matches the JSC
3488 behavior in Safari 4.
3489
3490 Follow the spec in disallowing function declarations without a name.
3491
3492 Always allocate code objects within a 2 GB range. On x64 architecture
3493 this is used to use near calls (32-bit displacement) in Code objects.
3494
3495 Optimized array construction ported to x64 and ARM architectures.
3496
3497 [ES5] Changed Object.keys to return strings for element indices.
3498
3499
ager@chromium.org68e7ab72009-09-23 09:40:39 +000035002009-09-23: Version 1.3.13
3501
3502 Fixed uninitialized memory problem.
3503
3504 Improved heap profiler support.
3505
3506
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +000035072009-09-22: Version 1.3.12
3508
3509 Changed behavior of |function|.toString() on built-in functions to
3510 be compatible with other implementations. Patch by Jan de Mooij.
3511
3512 Added Object::IsDirty in the API.
3513
3514 Optimized array construction; it is now handled purely in native
3515 code.
3516
3517 [ES5] Made properties of the arguments array enumerable.
3518
3519 [ES5] Added test suite adapter for the es5conform test suite.
3520
3521 [ES5] Added Object.keys function.
3522
ager@chromium.org68e7ab72009-09-23 09:40:39 +00003523
ager@chromium.org4af710e2009-09-15 12:20:11 +000035242009-09-15: Version 1.3.11
3525
3526 Fixed crash in error reporting during bootstrapping.
3527
3528 Optimized generated IA32 math code by using SSE2 instructions when
3529 available.
3530
3531 Implemented missing pieces of debugger infrastructure on ARM. The
3532 debugger is now fully functional on ARM.
3533
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003534 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +00003535
3536
ager@chromium.orga1645e22009-09-09 19:27:10 +000035372009-09-09: Version 1.3.10
3538
3539 Fixed profiler on Mac in 64-bit mode.
3540
3541 Optimized creation of objects from simple constructor functions on
3542 ARM.
3543
3544 Fixed a number of debugger issues.
3545
3546 Reduced the amount of memory consumed by V8.
3547
3548
ager@chromium.org18ad94b2009-09-02 08:22:29 +000035492009-09-02: Version 1.3.9
3550
3551 Optimized stack guard checks on ARM.
3552
3553 Optimized API operations by inlining more in the API.
3554
3555 Optimized creation of objects from simple constructor functions.
3556
3557 Enabled a number of missing optimizations in the 64-bit port.
3558
3559 Implemented native-code support for regular expressions on ARM.
3560
3561 Stopped using the 'sahf' instruction on 64-bit machines that do
3562 not support it.
3563
3564 Fixed a bug in the support for forceful termination of JavaScript
3565 execution.
3566
3567
ager@chromium.org96c75b52009-08-26 09:13:16 +000035682009-08-26: Version 1.3.8
3569
3570 Changed the handling of idle notifications to allow idle
3571 notifications when V8 has not yet been initialized.
3572
3573 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003574
ager@chromium.org96c75b52009-08-26 09:13:16 +00003575
ager@chromium.orgab99eea2009-08-25 07:05:41 +000035762009-08-25: Version 1.3.7
3577
3578 Reduced the size of generated code on ARM platforms by reducing
3579 the size of constant pools.
3580
3581 Changed build files to not include the 'ENV' user environment
3582 variable in the build environment.
3583
3584 Changed the handling of idle notifications.
3585
3586
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +000035872009-08-21: Version 1.3.6
3588
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003589 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00003590
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003591 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00003592 a low memory situation to V8.
3593
3594 Changed the handling of global handles (persistent handles in the API
3595 sense) to avoid issues regarding allocation of new global handles
3596 during weak handle callbacks.
3597
3598 Changed the growth policy of the young space.
3599
3600 Fixed a GC issue introduced in version 1.3.5.
3601
3602
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000036032009-08-19: Version 1.3.5
3604
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003605 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00003606
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003607 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00003608
3609 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
3610
3611 Changed typeof RegExp from 'object' to 'function' for compatibility.
3612 Fixed bug where regexps were not callable across contexts.
3613
3614 Added context independent script compilation to the API.
3615
3616 Added API call to get the stack trace for an exception.
3617
3618 Added API for getting object mirrors.
3619
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003620 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00003621 running off a snapshot generated without using SSE3 instructions.
3622
3623 Tweaked the handling of the initial size and growth policy of the heap.
3624
3625 Added native code generation for RegExp to 64-bit version.
3626
3627 Added JavaScript debugger support to 64-bit version.
3628
3629
ager@chromium.orgadd848f2009-08-13 12:44:13 +000036302009-08-13: Version 1.3.4
3631
3632 Added a readline() command to the d8 shell.
3633
3634 Fixed bug in json parsing.
3635
3636 Added idle notification to the API and reduced memory on idle
3637 notifications.
3638
3639
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000036402009-08-12: Version 1.3.3
3641
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003642 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00003643
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003644 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00003645
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003646 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00003647
3648 API: added function to find instance of template in prototype
3649 chain. Inlined Object::IsInstanceOf.
3650
3651 Land change to notify valgrind when we modify code on x86.
3652
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003653 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00003654
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003655 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00003656
3657
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000036582009-08-05: Version 1.3.2
3659
3660 Started new compiler infrastructure for two-pass compilation using a
3661 control flow graph constructed from the AST.
3662
3663 Profiler stack sampling for X64.
3664
3665 Safe handling of NaN to Posix platform-dependent time functions.
3666
3667 Added a new profiler control API to unify controlling various aspects
3668 of profiling.
3669
3670 Fixed issue 392.
3671
3672
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000036732009-07-30: Version 1.3.1
3674
3675 Speed improvements to accessors and interceptors.
3676
3677 Added support for capturing stack information on custom errors.
3678
3679 Added support for morphing an object into a pixel array where its
3680 indexed properties are stored in an external byte array. Values written
3681 are always clamped to the 0..255 interval.
3682
3683 Profiler on x64 now handles C/C++ functions from shared libraries.
3684
3685 Changed the debugger to avoid stepping into function.call/apply if the
3686 function is a built-in.
3687
3688 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003689
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00003690 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003691
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00003692 Optimized the called as constructor check for API calls.
3693
3694
kasperl@chromium.orge959c182009-07-27 08:59:04 +000036952009-07-27: Version 1.3.0
3696
3697 Allowed RegExp objects to be called as functions (issue 132).
3698
3699 Fixed issue where global property cells would escape after
3700 detaching the global object; see http://crbug.com/16276.
3701
3702 Added support for stepping into setters and getters in the
3703 debugger.
3704
3705 Changed the debugger to avoid stopping in its own JavaScript code
3706 and in the code of built-in functions.
3707
3708 Fixed issue 345 by avoiding duplicate escaping labels.
3709
3710 Fixed ARM code generator crash in short-circuited boolean
3711 expressions and added regression tests.
3712
3713 Added an external allocation limit to avoid issues where small V8
3714 objects would hold on to large amounts of external memory without
3715 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003716
3717 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00003718
3719
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000037202009-07-13: Version 1.2.14
3721
3722 Added separate paged heap space for global property cells and
3723 avoid updating the write barrier when storing into them.
3724
3725 Improved peep-hole optimization on ARM platforms by not emitting
3726 unnecessary debug information.
3727
3728 Re-enabled ICs for loads and calls that skip a global object
3729 during lookup through the prototype chain.
3730
3731 Allowed access through global proxies to use ICs.
3732
3733 Fixed issue 401.
3734
3735
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000037362009-07-09: Version 1.2.13
3737
3738 Fixed issue 397, issue 398, and issue 399.
3739
3740 Added support for breakpoint groups.
3741
3742 Fixed bugs introduced with the new global object representation.
3743
3744 Fixed a few bugs in the ARM code generator.
3745
3746
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000037472009-07-06: Version 1.2.12
3748
3749 Added stack traces collection to Error objects accessible through
3750 the e.stack property.
3751
3752 Changed RegExp parser to use a recursive data structure instead of
3753 stack-based recursion.
3754
3755 Optimized Date object construction and string concatenation.
3756
3757 Improved performance of div, mod, and mul on ARM platforms.
3758
3759
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000037602009-07-02: Version 1.2.11
3761
3762 Improved performance on IA-32 and ARM.
3763
3764 Fixed profiler sampler implementation on Mac OS X.
3765
3766 Changed the representation of global objects to improve
3767 performance of adding a lot of new properties.
3768
3769
ager@chromium.org3e875802009-06-29 08:26:34 +000037702009-06-29: Version 1.2.10
3771
3772 Improved debugger support.
3773
3774 Fixed bug in exception message reporting (issue 390).
3775
3776 Improved overall performance.
3777
3778
ager@chromium.org5aa501c2009-06-23 07:57:28 +000037792009-06-23: Version 1.2.9
3780
3781 Improved math performance on ARM.
3782
3783 Fixed profiler name-inference bug.
3784
3785 Fixed handling of shared libraries in the profiler tick processor
3786 scripts.
3787
3788 Fixed handling of tests that time out in the test scripts.
3789
3790 Fixed compilation on MacOS X version 10.4.
3791
3792 Fixed two bugs in the regular expression engine.
3793
3794 Fixed a bug in the string type inference.
3795
3796 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003797
ager@chromium.org5aa501c2009-06-23 07:57:28 +00003798 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00003799
ager@chromium.org5aa501c2009-06-23 07:57:28 +00003800
ager@chromium.orgeadaf222009-06-16 09:43:10 +000038012009-06-16: Version 1.2.8
3802
3803 Optimized math on ARM platforms.
3804
3805 Fixed two crash bugs in the handling of getters and setters.
3806
3807 Improved the debugger support by adding scope chain information.
3808
3809 Improved the profiler support by compressing log data transmitted
3810 to clients.
3811
3812 Improved overall performance.
3813
3814
ager@chromium.orge2902be2009-06-08 12:21:35 +000038152009-06-08: Version 1.2.7
3816
3817 Improved debugger and profiler support.
3818
3819 Reduced compilation time by improving the handling of deferred
3820 code.
3821
3822 Optimized interceptor accesses where the property is on the object
3823 on which the interceptors is attached.
3824
3825 Fixed compilation problem on GCC 4.4 by changing the stack
3826 alignment to 16 bytes.
3827
3828 Fixed handle creation to follow stric aliasing rules.
3829
3830 Fixed compilation on FreeBSD.
3831
3832 Introduced API for forcing the deletion of a property ignoring
3833 interceptors and attributes.
3834
3835
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000038362009-05-29: Version 1.2.6
3837
3838 Added a histogram recording hit rates at different levels of the
3839 compilation cache.
3840
3841 Added stack overflow check for the RegExp analysis phase. Previously a
3842 very long regexp graph could overflow the stack with recursive calls.
3843
3844 Use a dynamic buffer when collecting log events in memory.
3845
3846 Added start/stop events to the profiler log.
3847
3848 Fixed infinite loop which could happen when setting a debug break while
3849 executing a RegExp compiled to native code.
3850
3851 Fixed handling of lastIndexOf called with negative index (issue 351).
3852
3853 Fixed irregular crash in profiler test (issue 358).
3854
3855 Fixed compilation issues with some versions of gcc.
3856
3857
kasperl@chromium.org71affb52009-05-26 05:44:31 +000038582009-05-26: Version 1.2.5
3859
3860 Fixed bug in initial boundary check for Boyer-Moore text
3861 search (issue 349).
3862
3863 Fixed compilation issues with MinGW and gcc 4.3+ and added support
3864 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
3865 Craig Schlenter.
3866
3867 Added a script cache to the debugger.
3868
3869 Optimized compilation performance by improving internal data
3870 structures and avoiding expensive property load optimizations for
3871 code that's infrequently executed.
3872
3873 Exposed the calling JavaScript context through the static API
3874 function Context::GetCalling().
3875
3876
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000038772009-05-18: Version 1.2.4
3878
3879 Improved performance of floating point number allocation for ARM
3880 platforms.
3881
3882 Fixed crash when using the instanceof operator on functions with
3883 number values in their prototype chain (issue 341).
3884
3885 Optimized virtual frame operations in the code generator to speed
3886 up compilation time and allocated the frames in the zone.
3887
3888 Made the representation of virtual frames and jump targets in the
3889 code generator much more compact.
3890
3891 Avoided linear search for non-locals in scope code when resolving
3892 variables inside with and eval scopes.
3893
3894 Optimized lexical scanner by dealing with whitespace as part of
3895 the token scanning instead of as a separate step before it.
3896
3897 Changed the scavenging collector so that promoted objects do not
3898 reside in the old generation while their remembered set is being
3899 swept for pointers into the young generation.
3900
3901 Fixed numeric overflow handling when compiling count operations.
3902
3903
ager@chromium.org9085a012009-05-11 19:22:57 +000039042009-05-11: Version 1.2.3
3905
3906 Fixed bug in reporting of out-of-memory situations.
3907
3908 Introduced hidden prototypes on certain builtin prototype objects
3909 such as String.prototype to emulate JSC's behavior of restoring
3910 the original function when deleting functions from those prototype
3911 objects.
3912
3913 Fixed crash bug in the register allocator.
3914
3915
ager@chromium.org5ec48922009-05-05 07:25:34 +000039162009-05-04: Version 1.2.2
3917
3918 Fixed bug in array sorting for sparse arrays (issue 326).
3919
3920 Added support for adding a soname when building a shared library
3921 on Linux (issue 151).
3922
3923 Fixed bug caused by morphing internal ASCII strings to external
3924 two-byte strings. Slices over ASCII strings have to forward ASCII
3925 checks to the underlying buffer string.
3926
3927 Allowed API call-as-function handlers to be called as
3928 constructors.
3929
3930 Fixed a crash bug where an external string was disposed but a
3931 slice of the external string survived as a symbol.
3932
3933
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000039342009-04-27: Version 1.2.1
3935
3936 Added EcmaScript 5 JSON object.
3937
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00003938 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00003939
3940
ager@chromium.org65dad4b2009-04-23 08:48:43 +000039412009-04-23: Version 1.2.0
3942
3943 Optimized floating-point operations on ARM.
3944
3945 Added a number of extensions to the debugger API.
3946
3947 Changed the enumeration order for unsigned integer keys to always
3948 be numerical order.
3949
3950 Added a "read" extension to the shell sample.
3951
3952 Added support for Array.prototype.reduce and
3953 Array.prototype.reduceRight.
3954
3955 Added an option to the SCons build to control Microsoft Visual C++
3956 link-time code generation.
3957
3958 Fixed a number of bugs (in particular issue 315, issue 316,
3959 issue 317 and issue 318).
3960
3961
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000039622009-04-15: Version 1.1.10
3963
3964 Fixed crash bug that occurred when loading a const variable in the
3965 presence of eval.
3966
3967 Allowed using with and eval in registered extensions in debug mode
3968 by fixing bogus assert.
3969
3970 Fixed the source position for function returns to enable the
3971 debugger to break there.
3972
3973
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000039742009-04-14: Version 1.1.9
3975
3976 Made the stack traversal code in the profiler robust by avoiding
3977 to look into the heap.
3978
3979 Added name inferencing for anonymous functions to facilitate
3980 debugging and profiling.
3981
3982 Re-enabled stats timers in the developer shell (d8).
3983
3984 Fixed issue 303 by avoiding to shortcut cons-symbols.
3985
3986
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000039872009-04-11: Version 1.1.8
3988
3989 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
3990
ager@chromium.org65dad4b2009-04-23 08:48:43 +00003991 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00003992 the debugger (issue 269).
3993
3994 Fixed v8::Object::DeleteHiddenValue to not bail out when there
3995 are no hidden properties.
3996
ager@chromium.org65dad4b2009-04-23 08:48:43 +00003997 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00003998 entries with deleted resources would lead to NPEs when looking
3999 up in the symbol table.
4000
4001
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000040022009-04-07: Version 1.1.7
4003
4004 Added support for easily importing additional environment
4005 variables into the SCons build.
4006
4007 Optimized strict equality checks.
4008
4009 Fixed crash in indexed setters on objects without a corresponding
4010 getter (issue 298).
4011
4012 Re-enabled script compilation cache.
4013
4014
ager@chromium.org8682a592009-04-01 10:47:14 +000040152009-04-01: Version 1.1.6
4016
4017 Reverted an unsafe code generator change.
4018
4019
ager@chromium.org71daaf62009-04-01 07:22:49 +000040202009-04-01: Version 1.1.5
4021
4022 Fixed bug that caused function literals to not be optimized as
4023 much as other functions.
4024
4025 Improved profiler support.
4026
4027 Fixed a crash bug in connection with debugger unloading.
4028
4029 Fixed a crash bug in the code generator caused by losing the
4030 information that a frame element was copied.
4031
4032 Fixed an exception propagation bug that could cause non-null
4033 return values when exceptions were thrown.
4034
4035
ager@chromium.org41826e72009-03-30 13:30:57 +000040362009-03-30: Version 1.1.4
4037
4038 Optimized String.prototype.match.
4039
4040 Improved the stack information in profiles.
4041
4042 Fixed bug in ARM port making it possible to compile the runtime
4043 system for thumb mode again.
4044
4045 Implemented a number of optimizations in the code generator.
4046
4047 Fixed a number of memory leaks in tests.
4048
4049 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00004050 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00004051
4052
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000040532009-03-24: Version 1.1.3
4054
4055 Fixed assertion failures in compilation of loop conditions.
4056
4057 Removed STL dependency from developer shell (d8).
4058
4059 Added infrastructure for protecting the V8 heap from corruption
4060 caused by memory modifications from the outside.
4061
4062
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000040632009-03-24: Version 1.1.2
4064
4065 Improved frame merge code generated by the code generator.
4066
4067 Optimized String.prototype.replace.
4068
4069 Implemented __defineGetter__ and __defineSetter__ for properties
4070 with integer keys on non-array objects.
4071
4072 Improved debugger and profiler support.
4073
4074 Fixed a number of portability issues to allow compilation for
4075 smaller ARM devices.
4076
4077 Exposed object cloning through the API.
4078
4079 Implemented hidden properties. This is used to expose an identity
4080 hash for objects through the API.
4081
4082 Implemented restarting of regular expressions if their input
4083 string changes representation during preemption.
4084
4085 Fixed a code generator bug that could cause assignments in loops
4086 to be ignored if using continue to break out of the loop (issue
4087 284).
4088
4089
ager@chromium.org3a6061e2009-03-12 14:24:36 +000040902009-03-12: Version 1.1.1
4091
4092 Fixed an assertion in the new compiler to take stack overflow
4093 exceptions into account.
4094
4095 Removed exception propagation code that could cause crashes.
4096
4097 Fixed minor bug in debugger line number computations.
4098
4099 8-byte align the C stack on Linux and Windows to speed up floating
4100 point computations.
4101
4102
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000041032009-03-12: Version 1.1.0
4104
4105 Improved code generation infrastructure by doing simple register
4106 allocation and constant folding and propagation.
4107
4108 Optimized regular expression matching by avoiding to create
4109 intermediate string arrays and by flattening nested array
4110 representations of RegExp data.
4111
4112 Traverse a few stack frames when recording profiler samples to
4113 include partial call graphs in the profiling output.
4114
4115 Added support for using OProfile to profile generated code.
4116
4117 Added remote debugging support to the D8 developer shell.
4118
4119 Optimized creation of nested literals like JSON objects.
4120
4121 Fixed a bug in garbage collecting unused maps and turned it on by
4122 default (--collect-maps).
4123
4124 Added support for running tests under Valgrind.
4125
4126
kasperl@chromium.org061ef742009-02-27 12:16:20 +000041272009-02-27: Version 1.0.3
4128
4129 Optimized double-to-integer conversions in bit operations by using
4130 SSE3 instructions if available.
4131
4132 Optimized initialization sequences that store to multiple
4133 properties of the same object.
4134
4135 Changed the D8 debugger frontend to use JSON messages.
4136
4137 Force garbage collections when disposing contexts.
4138
4139 Align code objects at 32-byte boundaries.
4140
4141
ager@chromium.org381abbb2009-02-25 13:23:22 +000041422009-02-25: Version 1.0.2
4143
4144 Improved profiling support by performing simple call stack
4145 sampling for ticks and by fixing a bug in the logging of code
4146 addresses.
4147
4148 Fixed a number of debugger issues.
4149
4150 Optimized code that uses eval.
4151
4152 Fixed a couple of bugs in the regular expression engine.
4153
4154 Reduced the size of generated code for certain regular expressions.
4155
4156 Removed JSCRE completely.
4157
4158 Fixed issue where test could not be run if there was a dot in the
4159 checkout path.
4160
4161
ager@chromium.org6f10e412009-02-13 10:11:16 +000041622009-02-13: Version 1.0.1
4163
4164 Fixed two crash-bugs in irregexp (issue 231 and 233).
4165
4166 Fixed a number of minor bugs (issue 87, 227 and 228).
4167
4168 Added support for morphing strings to external strings on demand
4169 to avoid having to create copies in the embedding code.
4170
4171 Removed experimental support for external symbol callbacks.
4172
4173
iposva@chromium.org245aa852009-02-10 00:49:54 +000041742009-02-09: Version 1.0.0
4175
4176 Fixed crash-bug in the code generation for case independent 16 bit
4177 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00004178
iposva@chromium.org245aa852009-02-10 00:49:54 +00004179 Made shells more robust in the presence of string conversion
4180 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00004181
iposva@chromium.org245aa852009-02-10 00:49:54 +00004182 Fixed a potential infinite loop when attempting to resolve
4183 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00004184
iposva@chromium.org245aa852009-02-10 00:49:54 +00004185 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00004186
iposva@chromium.org245aa852009-02-10 00:49:54 +00004187 Reduced binary by stripping unneeded text from JavaScript library and
4188 minifying some JavaScript files.
4189
4190
ager@chromium.orgddb913d2009-01-27 10:01:48 +000041912009-01-27: Version 0.4.9
4192
4193 Enabled new regular expression engine.
4194
4195 Made a number of changes to the debugger protocol.
4196
4197 Fixed a number of bugs in the preemption support.
4198
4199 Added -p option to the developer shell to run files in parallel
4200 using preemption.
4201
4202 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
4203 193, 198 and 201).
4204
4205 Fixed a number of bugs in the serialization/deserialization
4206 support for the ARM platform.
4207
4208
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000042092009-01-19: Version 0.4.8.1
4210
4211 Minor patch to debugger support.
4212
4213
ager@chromium.org32912102009-01-16 10:38:43 +000042142009-01-16: Version 0.4.8
4215
4216 Fixed string length bug on ARM (issue 171).
4217
4218 Made most methods in the API const.
4219
4220 Optimized object literals by improving data locality.
4221
4222 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00004223 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00004224
4225 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00004226 eval to behave incorrectly when using accessors (issues 186, 190
4227 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00004228
4229
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000042302009-01-06: Version 0.4.7
4231
ager@chromium.org32912102009-01-16 10:38:43 +00004232 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00004233
ager@chromium.org32912102009-01-16 10:38:43 +00004234 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00004235
ager@chromium.org32912102009-01-16 10:38:43 +00004236 Fixed subtle bug that caused the wrong 'this' to be used when
4237 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00004238
ager@chromium.org32912102009-01-16 10:38:43 +00004239 Inline array loads within loops directly in the code instead of
4240 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00004241
ager@chromium.org32912102009-01-16 10:38:43 +00004242
ager@chromium.org8bb60582008-12-11 12:02:20 +000042432008-12-11: Version 0.4.6
4244
4245 Fixed exception reporting bug where certain exceptions were
4246 incorrectly reported as uncaught.
4247
4248 Improved the memory allocation strategy used during compilation to
4249 make running out of memory when compiling huge scripts less
4250 likely.
4251
4252 Optimized String.replace by avoiding the construction of certain
4253 sub strings.
4254
4255 Fixed bug in code generation for large switch statements on ARM.
4256
4257 Fixed bug that caused V8 to change the global object template
4258 passed in by the user.
4259
4260 Changed the API for creating object groups used during garbage
4261 collection. Entire object groups are now passed to V8 instead of
4262 individual members of the groups.
4263
ager@chromium.org32912102009-01-16 10:38:43 +00004264
ager@chromium.orga74f0da2008-12-03 16:05:52 +000042652008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00004266
ager@chromium.orga74f0da2008-12-03 16:05:52 +00004267 Added experimental API support for allocating V8 symbols as
4268 external strings.
4269
4270 Fixed bugs in debugging support on ARM.
4271
4272 Changed eval implementation to correctly detect whether or not a
4273 call to eval is aliased.
4274
4275 Fixed bug caused by a combination of the compilation cache and
4276 dictionary probing in native code. The bug caused us to sometimes
4277 call functions that had not yet been compiled.
4278
4279 Added platform support for FreeBSD.
4280
4281 Added support for building V8 on Windows with either the shared or
4282 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00004283
iposva@chromium.org96f667e2008-11-26 23:48:02 +00004284 Added the v8::jscre namespace around the jscre functions to avoid
4285 link errors (duplicate symbols) when building Google Chrome.
4286
ager@chromium.orga74f0da2008-12-03 16:05:52 +00004287 Added support for calling a JavaScript function with the current
4288 debugger execution context as its argument to the debugger
4289 interface.
4290
4291 Changed the type of names of counters from wchar_t to char.
4292
4293 Changed the Windows system call used to compute daylight savings
4294 time. The system call that we used to use became four times
4295 slower on WinXP SP3.
4296
4297 Added support in the d8 developer shell for memory-mapped counters
4298 and added a stats-viewer tool.
4299
4300 Fixed bug in upper/lower case mappings (issue 149).
4301
iposva@chromium.org96f667e2008-11-26 23:48:02 +00004302
ager@chromium.org3bf7b912008-11-17 09:09:45 +000043032008-11-17: Version 0.4.4
4304
4305 Reduced code size by using shorter instruction encoding when
4306 possible.
4307
4308 Added a --help option to the shell sample and to the d8 shell.
4309
4310 Added visual studio project files for building the ARM simulator.
4311
4312 Fixed a number of ARM simulator issues.
4313
4314 Fixed bug in out-of-memory handling on ARM.
4315
4316 Implemented shell support for passing arguments to a script from
4317 the command line.
4318
4319 Fixed bug in date code that made certain date functions return -0
4320 instead of 0 for dates before the epoch.
4321
4322 Restricted applications of eval so it can only be used in the
4323 context of the associated global object.
4324
4325 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00004326
4327
ager@chromium.org870a0b62008-11-04 11:43:05 +000043282008-11-04: Version 0.4.3
4329
4330 Added support for API accessors that prohibit overwriting by
4331 accessors defined in JavaScript code by using __defineGetter__ and
4332 __defineSetter__.
4333
4334 Improved handling of conditionals in test status files.
4335
4336 Introduced access control in propertyIsEnumerable.
4337
4338 Improved performance of some string operations by caching
4339 information about the type of the string between operations.
4340
4341 Fixed bug in fast-case code for switch statements that only have
4342 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00004343
ager@chromium.org870a0b62008-11-04 11:43:05 +00004344
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000043452008-10-30: Version 0.4.2
4346
4347 Improved performance of Array.prototype.concat by moving the
4348 implementation to C++ (issue 123).
4349
4350 Fixed heap growth policy to avoid growing old space to its maximum
4351 capacity before doing a garbage collection and fixed issue that
4352 would lead to artificial out of memory situations (issue 129).
4353
4354 Fixed Date.prototype.toLocaleDateString to return the date in the
4355 same format as WebKit.
4356
4357 Added missing initialization checks to debugger API.
4358
4359 Added removing of unused maps during GC.
4360
4361
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000043622008-10-28: Version 0.4.1
4363
4364 Added caching of RegExp data in compilation cache.
4365
4366 Added Visual Studio project file for d8 shell.
4367
4368 Fixed function call performance regression introduced in version
4369 0.4.0 when splitting the global object in two parts (issue 120).
4370
4371 Fixed issue 131 by checking for empty handles before throwing and
4372 reporting exceptions.
4373
4374
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000043752008-10-23: Version 0.4.0
4376
4377 Split the global object into two parts: The state holding global
4378 object and the global object proxy.
4379
4380 Fixed bug that affected the value of an assignment to an element
4381 in certain cases (issue 116).
4382
4383 Added GetPropertyNames functionality (issue 33) and extra Date
4384 functions (issue 77) to the API.
4385
4386 Changed WeakReferenceCallback to take a Persistent<Value> instead
4387 of a Persistent<Object> (issue 101).
4388
4389 Fixed issues with message reporting for exceptions in try-finally
4390 blocks (issues 73 and 75).
4391
ager@chromium.org32912102009-01-16 10:38:43 +00004392 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00004393
4394 Improved Boyer-Moore implementation for faster indexOf operations.
4395
4396 Added development shell (d8) which includes counters and
4397 completion support.
4398
4399 Fixed problem with the receiver passed to functions called from
4400 eval (issue 124).
4401
4402
ager@chromium.org7c537e22008-10-16 08:43:32 +000044032008-10-16: Version 0.3.5
4404
4405 Improved string hash-code distribution by excluding bit-field bits
4406 from the hash-code.
4407
4408 Changed string search algorithm used in indexOf from KMP to
4409 Boyer-Moore.
4410
4411 Improved the generated code for the instanceof operator.
4412
4413 Improved performance of slow-case string equality checks by
4414 specializing the code based on the string representation.
4415
4416 Improve the handling of out-of-memory situations (issue 70).
4417
4418 Improved performance of strict equality checks.
4419
4420 Improved profiler output to make it easier to see anonymous
4421 functions.
4422
4423 Improved performance of slow-case keyed loads.
4424
4425 Improved property access performance by allocating a number of
4426 properties in the front object.
4427
4428 Changed the toString behavior on the built-in object constructors
4429 to print [native code] instead of the actual source. Some web
4430 applications do not like constructors with complex toString
4431 results.
ager@chromium.org32912102009-01-16 10:38:43 +00004432
ager@chromium.org7c537e22008-10-16 08:43:32 +00004433
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000044342008-10-06: Version 0.3.4
4435
4436 Changed Array.prototype.sort to use quick sort.
4437
4438 Fixed code generation issue where leaving a finally block with
4439 break or continue would accumulate elements on the expression
4440 stack (issue 86).
4441
4442 Made sure that the name accessor on functions returns the expected
4443 names for builtin JavaScript functions and C++ callback functions.
4444
4445 Added fast case code for extending the property storage array of
4446 JavaScript objects.
4447
4448 Ported switch statement optimizations introduced in version 0.3.3
4449 to the ARM code generator.
4450
4451 Allowed GCC to use strict-aliasing rules when compiling.
4452
4453 Improved performance of arguments object allocation by taking care
4454 of arguments adaptor frames in the generated code.
4455
4456 Updated the V8 benchmark suite to version 2.
4457
4458
ager@chromium.org236ad962008-09-25 09:45:57 +000044592008-09-25: Version 0.3.3
4460
4461 Improved handling of relocation information to enable more
4462 peep-hole optimizations.
4463
4464 Optimized switch statements where all labels are constant small
4465 integers.
4466
4467 Optimized String.prototype.indexOf for common cases.
4468
4469 Fixed more build issues (issue 80).
4470
4471 Fixed a couple of profiler issues.
4472
4473 Fixed bug where the body of a function created using the Function
4474 constructor was not allowed to end with a single-line comment
4475 (issue 85).
4476
4477 Improved handling of object literals by canonicalizing object
4478 literal maps. This will allow JSON objects with the same set of
4479 properties to share the same map making inline caching work better
4480 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00004481
ager@chromium.org236ad962008-09-25 09:45:57 +00004482
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000044832008-09-17: Version 0.3.2
4484
4485 Generalized the EvalCache into a CompilationCache and enabled it
4486 for scripts too. The current strategy is to retire all entries
4487 whenever a mark-sweep collection is started.
4488
4489 Fixed bug where switch statements containing only a default case
4490 would lead to an unbalanced stack (issue 69).
4491
4492 Fixed bug that made access to the function in a named function
4493 expression impossible in certain situations (issue 24).
4494
4495 Fixed even more build issues.
4496
4497 Optimized calling conventions on ARM. The conventions on ARM and
4498 IA-32 now match.
4499
4500 Removed static initializers for flags and counters.
4501
4502 Improved inline caching behavior for uncommon cases where lazily
4503 loading Date and RegExp code could force certain code paths go
4504 megamorphic.
4505
4506 Removed arguments adaption for builtins written in C++. This
4507 makes Array.prototype.push and Array.prototype.pop slightly
4508 faster.
4509
4510
ager@chromium.org9258b6b2008-09-11 09:11:10 +000045112008-09-11: Version 0.3.1
4512
4513 Fixed a number of build issues.
4514
4515 Fixed problem with missing I-cache flusing on ARM.
4516
4517 Changed space layout in memory management by splitting up
4518 code space into old data space and code space.
4519
4520 Added utf-8 conversion support to the API (issue 57).
4521
4522 Optimized repeated calls to eval with the same strings. These
4523 repeated calls are common in web applications.
4524
4525 Added Xcode project file.
4526
4527 Optimized a couple of Array operation.
4528
4529 Fixed parser bug by checking for end-of-string when parsing break
4530 and continue (issue 35).
4531
4532 Fixed problem where asian characters were not categorized as
4533 letters.
4534
4535 Fixed bug that disallowed calling functions fetched from an array
4536 using a string as an array index (issue 32).
4537
4538 Fixed bug where the internal field count on object templates were
4539 sometimes ignored (issue 54).
4540
4541 Added -f option to the shell sample for compatibility with other
4542 engines (issue 18).
4543
4544 Added source info to TryCatches in the API.
4545
4546 Fixed problem where the seed for the random number generator was
4547 clipped in a double to unsigned int conversion.
4548
4549 Fixed bug where cons string symbols were sometimes converted to
4550 non-symbol flat strings during GC.
4551
4552 Fixed bug in error reporting when attempting to convert null to an
4553 object.
ager@chromium.org32912102009-01-16 10:38:43 +00004554
4555
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000045562008-09-04: Version 0.3.0
4557
4558 Added support for running tests on the ARM simulator.
4559
4560 Fixed bug in the 'in' operator where negative indices were not
4561 treated correctly.
4562
4563 Fixed build issues on gcc-4.3.1.
4564
4565 Changed Date.prototype.toLocaleTimeString to not print the
4566 timezone part of the time.
4567
4568 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
4569 with user code.
4570
4571
v8.team.kasperl727e9952008-09-02 14:56:44 +000045722008-09-02: Version 0.2.5
4573
4574 Renamed the top level directory 'public' to 'include'.
4575
4576 Added 'env' option to the SCons build scripts to support
4577 overriding the ENV part of the build environment. This is mostly
4578 to support Windows builds in cases where SCons cannot find the
4579 correct paths to the Windows SDK, as these paths cannot be passed
4580 through shell environment variables.
4581
4582 Enabled "Buffer Security Check" on for the Windows SCons build and
4583 added the linker option /OPT:ICF as an optimization.
4584
4585 Added the V8 benchmark suite to the repository.
4586
4587
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000045882008-09-01: Version 0.2.4
4589
4590 Included mjsunit JavaScript test suite and C++ unit tests.
4591
4592 Changed the shell sample to not print the result of executing a
4593 script provided on the command line.
4594
4595 Fixed issue when building samples on Windows using a shared V8
4596 library. Added visibility option on Linux build which makes the
4597 generated library 18% smaller.
4598
4599 Changed build system to accept multiple build modes in one build
4600 and generate separate objects, libraries and executables for each
4601 mode.
4602
4603 Removed deferred negation optimization (a * -b => -(a * b)) since
4604 this visibly changes operand conversion order.
4605
4606 Improved parsing performance by introducing stack guard in
4607 preparsing. Without a stack guard preparsing always bails out
4608 with stack overflow.
4609
4610 Changed shell sample to take flags directly from the command-line.
4611 Added API call that implements this.
4612
4613 Added load, quit and version functions to the shell sample so it's
4614 easier to run benchmarks and tests.
4615
4616 Fixed issue with building samples and cctests on 64-bit machines.
4617
4618 Fixed bug in the runtime system where the prototype chain was not
4619 always searched for a setter when setting a property that does not
4620 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00004621
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00004622
mads.s.agercbaa0602008-08-14 13:41:48 +000046232008-08-14: Version 0.2.3
4624
4625 Improved performance of garbage collection by moving the
4626 function that updates pointers during compacting collection
4627 into the updating visitor. This gives the compiler a better
4628 chance to inline and avoid a function call per (potential)
4629 pointer.
4630
4631 Extended the shell sample with a --runtime-flags option.
4632
4633 Added Visual Studio project files for the shell.cc and
4634 process.cc samples.
4635
4636
46372008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00004638
4639 Improved performance of garbage collection by changing the way
4640 we use the marking stack in the event of stack overflow during
4641 full garbage collection and by changing the way we mark roots.
4642
4643 Cleaned up ARM version by removing top of stack caching and by
4644 introducing push/pop elimination.
4645
4646 Cleaned up the way runtime functions are called to allow
4647 runtime calls with no arguments.
4648
4649 Changed Windows build options to make sure that exceptions are
4650 disabled and that optimization flags are enabled.
4651
4652 Added first version of Visual Studio project files.
4653
4654
mads.s.agercbaa0602008-08-14 13:41:48 +000046552008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00004656
4657 Improved performance of unary addition by avoiding runtime calls.
4658
4659 Fixed the handling of '>' and '<=' to use right-to-left conversion
4660 and left-to-right evaluation as specified by ECMA-262.
4661
4662 Fixed a branch elimination bug on the ARM platform where incorrect
4663 code was generated because of overly aggressive branch
4664 elimination.
4665
4666 Improved performance of code that repeatedly assigns the same
4667 function to the same property of different objects with the same
4668 map.
4669
4670 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
4671 no longer expects DEBUG to be defined.
4672
4673 Added platform-nullos.cc to serve as the basis for new platform
4674 implementations.
4675
mads.s.ager31e71382008-08-13 09:32:07 +00004676
mads.s.agercbaa0602008-08-14 13:41:48 +000046772008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00004678
4679 Changed all text files to have native svn:eol-style.
4680
4681 Added a few samples and support for building them. The samples
4682 include a simple shell that can be used to benchmark and test V8.
4683
4684 Changed V8::GetVersion to return the version as a string.
4685
4686 Added source for lazily loaded scripts to snapshots and made
4687 serialization non-destructive.
4688
4689 Improved ARM support by fixing the write barrier code to use
4690 aligned loads and stores and by removing premature locals
4691 optimization that relied on broken support for callee-saved
4692 registers (removed).
4693
4694 Refactored the code for marking live objects during garbage
4695 collection and the code for allocating objects in paged
4696 spaces. Introduced an abstraction for the map word of a heap-
4697 allocated object and changed the memory allocator to allocate
4698 executable memory only for spaces that may contain code objects.
4699
4700 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
4701 they can be used by debugging and logging modules. Added
4702 thread-safe message queues for dealing with debugger events.
4703
4704 Fixed the source code reported by toString for certain builtin
4705 empty functions and made sure that the prototype property of a
4706 function is enumerable.
4707
4708 Improved performance of converting values to condition flags in
4709 generated code.
4710
4711 Merged disassembler-{arch} files.
4712
4713
mads.s.agercbaa0602008-08-14 13:41:48 +000047142008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00004715
4716 Added support for storing JavaScript stack traces in a stack
4717 allocated buffer to make it visible in shallow core dumps.
4718 Controlled by the --preallocate-message-memory flag which is
4719 disabled by default.
4720
4721
mads.s.agercbaa0602008-08-14 13:41:48 +000047222008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00004723
4724 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
4725 map transitions would count as properties.
4726
4727 Allowed aliased eval invocations by treating them as evals in the
4728 global context. This may change in the future.
4729
4730 Added support for accessing the last entered context through the
4731 API and renamed Context::Current to Context::GetCurrent and
4732 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
4733
4734 Fixed bug in the debugger that would cause the debugger scripts to
4735 be recursively loaded and changed all disabling of interrupts to
4736 be block-structured.
4737
4738 Made snapshot data read-only to allow it to be more easily shared
4739 across multiple users of V8 when linked as a shared library.
4740
4741
mads.s.agercbaa0602008-08-14 13:41:48 +000047422008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00004743
4744 Fixed building on Mac OS X by recognizing i386 and friends as
4745 IA-32 platforms.
4746
4747 Added propagation of stack overflow exceptions that occur while
4748 compiling nested functions.
4749
4750 Improved debugger with support for recursive break points and
4751 handling of exceptions that occur in the debugger JavaScript code.
4752
4753 Renamed GetInternal to GetInternalField and SetInternal to
4754 SetInternalField in the API and moved InternalFieldCount and
4755 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
4756
4757
mads.s.agercbaa0602008-08-14 13:41:48 +000047582008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00004759
4760 Fixed bug in stack overflow check code for IA-32 targets where a
4761 non-tagged value in register eax was pushed to the stack.
4762
4763 Fixed potential quadratic behavior when converting strings to
4764 numbers.
4765
4766 Fixed bug where the return value from Object::SetProperty could
4767 end up being the property holder instead of the written value.
4768
4769 Improved debugger support by allowing nested break points and by
4770 dealing with stack-overflows when compiling functions before
4771 setting break points in them.
4772
4773
mads.s.agercbaa0602008-08-14 13:41:48 +000047742008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00004775
kasper.lundbd3ec4e2008-07-09 11:06:54 +00004776 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00004777
svenpanne@chromium.org6d786c92011-06-15 10:58:27 +00004778# Local Variables:
4779# mode:text
4780# End: