blob: 36ed4fcdbc1982fd85d01079ddf35f5f005b8997 [file] [log] [blame]
whesse@chromium.org4a5224e2010-10-20 12:37:07 +000012010-10-20: Version 2.5.1
2
3 Fixed bug causing spurious out of memory exceptions
4 (issue http://crbug.com/54580).
5
6 Fixed compilation error on Solaris platform (issue 901).
7
8 Fixed error in strtod (string to floating point number conversion)
9 due to glibc's use of 80-bit floats in the FPU on 32-bit linux.
10
11 Adjusted randomized allocations of executable memory to have 64k
12 granularity (issue http://crbug.com/56036).
13
14 Supported profiling using kernel perf_events on linux. Added ll_prof
15 script to tools and --ll-prof flag to V8.
16
17
vegorov@chromium.org42841962010-10-18 11:18:59 +0000182010-10-18: Version 2.5.0
19
20 Fixed bug in cache handling of lastIndex on global regexps
21 (issue http://crbug.com/58740).
22
23 Added USE_SIMULATOR macro that explicitly indicates that we wish to use
24 the simulator as the execution engine (by Mark Lam <mark.lam@palm.com>
25 from Hewlett-Packard Development Company, LP).
26
27 Fixed compilation error on ARM with gcc 4.4 (issue 894).
28
29
302010-10-13: Version 2.4.9
ager@chromium.orgb61a0d12010-10-13 08:35:23 +000031
32 Fixed a bug in the handling of conditional expressions in test
33 contexts in compiler for top-level code.
34
35 Added "//@ sourceURL" information to the StackTrace API.
36
37 Exposed RegExp construction through the API.
38
39
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +0000402010-10-04: Version 2.4.8
41
42 Fixed a bug in ResumeProfilerEx causing it to not always write out the
43 whole snapshot (issue 868).
44
45 Performance improvements on all platforms.
46
47
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000482010-09-30: Version 2.4.7
49
50 Changed the command-line flag --max-new-space-size to be in kB and the
51 flag --max-old-space-size to be in MB (previously they were in bytes).
52
53 Added Debug::CancelDebugBreak to the debugger API.
54
55 Fixed a bug in getters for negative numeric property names
56 (https://bugs.webkit.org/show_bug.cgi?id=46689).
57
58 Performance improvements on all platforms.
59
60
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000612010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000062
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000063 Fixed assertion failure related to copy-on-write arrays (issue 876).
64
65 Fixed build failure of 64-bit V8 on Windows.
66
67 Fixed a bug in RegExp (issue http://crbug.com/52801).
68
69 Improved the profiler's coverage to cover more functions (issue 858).
70
71 Fixed error in shift operators on 64-bit V8
72 (issue http://crbug.com/54521).
73
74
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000752010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000076
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000077 Changed the RegExp benchmark to exercise the regexp engine on different
78 inputs by scrambling the input strings.
79
80 Fixed a bug in keyed loads on strings.
81
82 Fixed a bug with loading global function prototypes.
83
84 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
85
86 Performance improvements on all platforms.
87
88
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000892010-09-15: Version 2.4.4
90
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000091 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000092
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000093 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000094
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000095 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000096
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000097 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000098
99
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +00001002010-09-13: Version 2.4.3
101
102 Made Date.parse properly handle TZ offsets (issue 857).
103
104 Performance improvements on all platforms.
105
106
ager@chromium.org5b2fbee2010-09-08 06:38:15 +00001072010-09-08: Version 2.4.2
108
109 Fixed GC crash bug.
110
111 Fixed stack corruption bug.
112
113 Fixed compilation for newer C++ compilers that found Operand(0)
114 ambiguous.
115
116
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +00001172010-09-06: Version 2.4.1
118
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000119 Added the ability for an embedding application to receive a callback
120 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
121 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000122
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000123 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000124
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000125 Fixed memory overrun crash bug triggered during V8's tick-based
126 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000127
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000128 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000129
130
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001312010-09-01: Version 2.4.0
132
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000133 Fixed bug in Object.freeze and Object.seal when Array.prototype or
134 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000135
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000136 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000137 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000138
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000139 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000140
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000141 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000142
143
ricow@chromium.org65fae842010-08-25 15:26:24 +00001442010-08-25: Version 2.3.11
145
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000146 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000147
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000148 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000149 VARIANT_FLAGS that allows specification of sets of flags with which
150 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000151
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000152 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000153
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000154 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000155
156
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00001572010-08-23: Version 2.3.10
158
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000159 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000160
161 Build fixes for unusual compilers.
162
163 Track high water mark for RWX memory.
164
165 Performance improvements on all platforms.
166
167
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001682010-08-18: Version 2.3.9
169
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000170 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000171
172 Removed specialized handling of GCC 4.4 (issue 830).
173
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000174 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000175 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
176
ricow@chromium.org65fae842010-08-25 15:26:24 +0000177 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000178
179
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00001802010-08-16: Version 2.3.8
181
182 Fixed build with strict aliasing on GCC 4.4 (issue 463).
183
184 Fixed issue with incorrect handling of custom valueOf methods on
185 string wrappers (issue 760).
186
187 Fixed compilation for ARMv4 (issue 590).
188
189 Improved performance.
190
191
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001922010-08-11: Version 2.3.7
193
194 Reduced size of heap snapshots produced by heap profiler (issue 783).
195
196 Introduced v8::Value::IsRegExp method.
197
198 Fixed CPU profiler crash in start / stop sequence when non-existent
199 name is passed (issue http://crbug.com/51594).
200
201 Introduced new indexed property query callbacks API (issue 816). This
202 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
203 by default.
204
205 Removed support for object literal get/set with number/string
206 property name.
207
208 Fixed handling of JSObject::elements in CalculateNetworkSize
209 (issue 822).
210
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000211 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000212
213
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00002142010-08-09: Version 2.3.6
215
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000216 RegExp literals create a new object every time they are evaluated
217 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000218
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000219 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000220
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000221 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000222
223
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00002242010-08-04: Version 2.3.5
225
226 Added support for ES5 property names. Object initialisers and
227 dot-notation property access now allows keywords. Also allowed
228 non-identifiers after "get" or "set" in an object initialiser.
229
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000230 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000231
232
whesse@chromium.orge90029b2010-08-02 11:52:17 +00002332010-08-02: Version 2.3.4
234
235 Fixed problems in implementation of ES5 function.prototype.bind.
236
237 Fixed error when using apply with arguments object on ARM (issue 784).
238
239 Added setting of global flags to debugger protocol.
240
241 Fixed an error affecting cached results of sin and cos (issue 792).
242
243 Removed memory leak from a boundary case where V8 is not initialized.
244
245 Fixed issue where debugger could set breakpoints outside the body
246 of a function.
247
248 Fixed issue in debugger when using both live edit and step in features.
249
250 Added Number-letter (Nl) category to Unicode tables. These characters
251 can now be used in identifiers.
252
253 Fixed an assert failure on X64 (issue 806).
254
255 Performance improvements on all platforms.
256
257
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00002582010-07-26: Version 2.3.3
259
260 Fixed error when building the d8 shell in a fresh checkout.
261
262 Implemented Function.prototype.bind (ES5 15.3.4.5).
263
264 Fixed an error in inlined stores on ia32.
265
266 Fixed an error when setting a breakpoint at the end of a function
267 that does not end with a newline character.
268
269 Performance improvements on all platforms.
270
271
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00002722010-07-21: Version 2.3.2
273
274 Fixed compiler warnings when building with LLVM.
275
276 Fixed a bug with for-in applied to strings (issue 785).
277
278 Performance improvements on all platforms.
279
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000280
ricow@chromium.org4980dff2010-07-19 08:33:45 +00002812010-07-19: Version 2.3.1
282
283 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
284
285 Fixed bug related to code flushing while compiling a lazy
286 compilable function (issue http://crbug.com/49099).
287
288 Performance improvements on all platforms.
289
290
ager@chromium.orgb5737492010-07-15 09:29:43 +00002912010-07-15: Version 2.3.0
292
293 Added ES5 Object.seal and Object.isSealed.
294
295 Added debugger API for scheduling debugger commands from a
296 separate thread.
297
298
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00002992010-07-14: Version 2.2.24
300
301 Added API for capturing stack traces for uncaught exceptions.
302
303 Fixed crash bug when preparsing from a non-external V8 string
304 (issue 775).
305
306 Fixed JSON.parse bug causing input not to be converted to string
307 (issue 764).
308
309 Added ES5 Object.freeze and Object.isFrozen.
310
311 Performance improvements on all platforms.
312
313
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00003142010-07-07: Version 2.2.23
315
316 API change: Convert Unicode code points outside the basic multilingual
317 plane to the replacement character. Previous behavior was to silently
318 truncate the value to 16 bits.
319
320 Fixed crash: handle all flat string types in regexp replace.
321
322 Prevent invalid pre-parsing data passed in through the API from
323 crashing V8.
324
325 Performance improvements on all platforms.
326
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000327
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00003282010-07-05: Version 2.2.22
329
330 Added ES5 Object.isExtensible and Object.preventExtensions.
331
332 Enabled building V8 as a DLL.
333
334 Fixed a bug in date code where -0 was not interpreted as 0
335 (issue 736).
336
337 Performance improvements on all platforms.
338
339
lrn@chromium.org32d961d2010-06-30 09:09:34 +00003402010-06-30: Version 2.2.21
341
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000342 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000343
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000344 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000345
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000346 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000347
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000348 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000349
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000350 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000351
352 Provide actual breakpoints locations in response to setBreakpoint
353 and listBreakpoints requests.
354
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000355
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00003562010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000357
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000358 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000359
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000360 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000361
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000362 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000363
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000364 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000365 miscalculated for some inputs.
366
367 Performance improvements on all platforms.
368
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000369
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00003702010-06-23: Version 2.2.19
371
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000372 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000373 (issue 738).
374
375 Added expose-externalize-string flag for testing extensions.
376
377 Resolve linker issues with using V8 as a DLL causing a number of
378 problems with unresolved symbols.
379
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000380 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000381 defined.
382
383 Performance improvements on all platforms.
384
385
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00003862010-06-16: Version 2.2.18
387
388 Added API functions to retrieve information on indexed properties
389 managed by the embedding layer. Fixes bug 737.
390
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000391 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000392
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000393 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000394
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000395 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000396
397 Incremental performance improvements.
398
399
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00004002010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000401
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000402 Improved debugger support for stepping out of functions.
403
404 Incremental performance improvements.
405
406
4072010-06-09: Version 2.2.16
408
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000409 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000410 disposal of external string resources to call a virtual Dispose
411 method on the resource.
412
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000413 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000414 stepping.
415
416 Memory usage improvements on all platforms.
417
418
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00004192010-06-07: Version 2.2.15
420
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000421 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000422
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000423 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000424 some compilers complaint when compiling with -Werror.
425
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000426 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000427
428
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00004292010-06-02: Version 2.2.14
430
431 Fixed a crash in code generated for String.charCodeAt.
432
433 Fixed a compilation issue with some GCC versions (issue 727).
434
435 Performance optimizations on x64 and ARM platforms.
436
437
ricow@chromium.org30ce4112010-05-31 10:38:25 +00004382010-05-31: Version 2.2.13
439
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000440 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000441 strings (issue 599).
442
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000443 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000444
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000445 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000446
447 Performance improvements on all platforms.
448
449
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00004502010-05-26: Version 2.2.12
451
452 Allowed accessors to be defined on objects rather than just object
453 templates.
454
455 Changed the ScriptData API.
456
457
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004582010-05-21: Version 2.2.11
459
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000460 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000461
462 Use 'full compiler' when debugging is active. This should increase
463 the density of possible break points, making single step more fine
464 grained. This will only take effect for functions compiled after
465 debugging has been started, so recompilation of all functions is
466 required to get the full effect. IA32 and x64 only for now.
467
468 Misc. fixes to the Solaris build.
469
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000470 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000471
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000472 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000473
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000474 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000475
476 Incremental performance improvements in all backends.
477
478
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00004792010-05-17: Version 2.2.10
480
481 Performance improvements in the x64 and ARM backends.
482
483
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00004842010-05-10: Version 2.2.9
485
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000486 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000487
488 Fixed bug with Date.parse returning a non-NaN value when called on a
489 non date string (issue 696).
490
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000491 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000492 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000493
494 C++ API for retrieving JavaScript stack trace information.
495
496
ager@chromium.orgac091b72010-05-05 07:34:42 +00004972010-05-05: Version 2.2.8
498
499 Performance improvements in the x64 and ARM backends.
500
501
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00005022010-05-03: Version 2.2.7
503
504 Added support for ES5 date time string format to Date.parse.
505
506 Performance improvements in the x64 backend.
507
508
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00005092010-04-28: Version 2.2.6
510
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000511 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000512 (by Ryan Dahl <coldredlemur@gmail.com>).
513
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000514 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000515
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000516 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000517
518 Performance improvements on all platforms.
519
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000520
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00005212010-04-26: Version 2.2.5
522
523 Various performance improvements (especially for ARM and x64)
524
525 Fixed bug in CPU profiling (http://crbug.com/42137)
526
527 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000528
529 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000530 wrong calculations.
531
532 Fixed a bug that may cause a wrong result for shift operations.
533
534
5352010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000536
537 Fixed warnings on arm on newer GCC versions.
538
539 Fixed a number of minor bugs.
540
541 Performance improvements on all platforms.
542
543
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00005442010-04-14: Version 2.2.3
545
546 Added stack command and mem command to ARM simulator debugger.
547
548 Fixed scons snapshot and ARM build, and Windows X64 build issues.
549
550 Performance improvements on all platforms.
551
552
ager@chromium.org357bf652010-04-12 11:30:10 +00005532010-04-12: Version 2.2.2
554
555 Introduced new profiler API.
556
557 Fixed random number generator to produce full 32 random bits.
558
559
lrn@chromium.org25156de2010-04-06 13:10:27 +00005602010-04-06: Version 2.2.1
561
562 Debugger improvements.
563
564 Fixed minor bugs.
565
566
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00005672010-03-29: Version 2.2.0
568
569 Fixed a few minor bugs.
570
571 Performance improvements for string operations.
572
573
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00005742010-03-26: Version 2.1.10
575
576 Fixed scons build issues.
577
578 Fixed a couple of minor bugs.
579
580
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00005812010-03-25: Version 2.1.9
582
583 Added API support for reattaching a global object to a context.
584
585 Extended debugger API with access to the internal debugger context.
586
587 Fixed Chromium crashes (issues http://crbug.com/39128 and
588 http://crbug.com/39160)
589
590
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00005912010-03-24: Version 2.1.8
592
593 Added fine-grained garbage collection callbacks to the API.
594
595 Performance improvements on all platforms.
596
597
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00005982010-03-22: Version 2.1.7
599
600 Fixed issue 650.
601
602 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000603
604 Performance improvements for arithmetic operations.
605
606 Performance improvements for string operations.
607
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000608 Print script name and line number information in stack trace.
609
610
6112010-03-17: Version 2.1.6
612
613 Performance improvements for arithmetic operations.
614
615 Performance improvements for string operations.
616
617
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00006182010-03-10: Version 2.1.4
619
620 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
621
622 Performance improvements on all platforms.
623
624
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00006252010-03-10: Version 2.1.3
626
627 Added API method for context-disposal notifications.
628
629 Added API method for accessing elements by integer index.
630
631 Added missing implementation of Uint32::Value and Value::IsUint32
632 API methods.
633
634 Added IsExecutionTerminating API method.
635
636 Disabled strict aliasing for GCC 4.4.
637
638 Fixed string-concatenation bug (issue 636).
639
640 Performance improvements on all platforms.
641
642
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00006432010-02-23: Version 2.1.2
644
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000645 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000646
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000647 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000648
649 Performance improvements on all platforms.
650
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000651
ager@chromium.org5c838252010-02-19 08:53:10 +00006522010-02-19: Version 2.1.1
653
654 [ES5] Implemented Object.defineProperty.
655
656 Improved profiler support.
657
658 Added SetPrototype method in the public V8 API.
659
660 Added GetScriptOrigin and GetScriptLineNumber methods to Function
661 objects in the API.
662
663 Performance improvements on all platforms.
664
665
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00006662010-02-03: Version 2.1.0
667
668 Values are now always wrapped in objects when used as a receiver.
669 (issue 223).
670
671 [ES5] Implemented Object.getOwnPropertyNames.
672
673 [ES5] Restrict JSON.parse to only accept strings that conforms to the
674 JSON grammar.
675
676 Improvement of debugger agent (issue 549 and 554).
677
678 Fixed problem with skipped stack frame in profiles (issue 553).
679
680 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
681 <ry@tinyclouds.org>.
682
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000683 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000684 integers.
685
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000686 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000687 functions (isue http://crbug.com/3867).
688
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000689 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000690
691 Numerous performance improvements including porting of previous IA-32
692 optimizations to x64 and ARM architectures.
693
694
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00006952010-01-14: Version 2.0.6
696
697 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
698 GetOwnProperty, FromPropertyDescriptor.
699
700 Fixed Mac x64 build errors.
701
702 Improved performance of some math and string operations.
703
704 Improved performance of some regexp operations.
705
706 Improved performance of context creation.
707
708 Improved performance of hash tables.
709
710
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00007112009-12-18: Version 2.0.5
712
713 Extended to upper limit of map space to allow for 7 times as many map
714 to be allocated (issue 524).
715
716 Improved performance of code using closures.
717
718 Improved performance of some binary operations involving doubles.
719
720
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00007212009-12-16: Version 2.0.4
722
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000723 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000724
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000725 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000726
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000727 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000728
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000729 Improved handling of external strings by using a separate table
730 instead of weak handles. This improves garbage collection
731 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000732
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000733 Changed code generation for object and array literals in toplevel
734 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000735
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000736 Fixed a crash bug triggered when garbage collection happened during
737 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000738
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000739 Fixed crash bug sometimes triggered when local variables shadowed
740 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000741
742
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00007432009-12-03: Version 2.0.3
744
745 Optimized handling and adding of strings, for-in and Array.join.
746
747 Heap serialization is now non-destructive.
748
749 Improved profiler support with information on time spend in C++
750 callbacks registered through the API.
751
752 Added commands to the debugger protocol for starting/stopping
753 profiling.
754
755 Enabled the non-optimizing compiler for top-level code.
756
757 Changed the API to only allow strings to be set as data objects on
758 Contexts and scripts to avoid potentially keeping global objects
759 around for too long (issue 528).
760
761 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
762
763 Fixed bugs.
764
765
ager@chromium.org01beca72009-11-24 14:29:16 +00007662009-11-24: Version 2.0.2
767
768 Improved profiler support.
769
770 Fixed bug that broke compilation of d8 with readline support.
771
772
ager@chromium.org6141cbe2009-11-20 12:14:52 +00007732009-11-20: Version 2.0.1
774
775 Fixed crash bug in String.prototype.replace.
776
777 Reverted a change which caused Chromium interactive ui test
778 failures.
779
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000780
ager@chromium.orgc4c92722009-11-18 14:12:51 +00007812009-11-18: Version 2.0.0
782
783 Added support for VFP on ARM.
784
785 Added TryCatch::ReThrow method to the API.
786
787 Reduced the size of snapshots and improved the snapshot load time.
788
789 Improved heap profiler support.
790
791 64-bit version now supported on Windows.
792
793 Fixed a number of debugger issues.
794
795 Fixed bugs.
796
797
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00007982009-10-29: Version 1.3.18
799
800 Reverted a change which caused crashes in RegExp replace.
801
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000802 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000803
804
ager@chromium.org3811b432009-10-28 14:53:37 +00008052009-10-28: Version 1.3.17
806
807 Added API method to get simple heap statistics.
808
809 Improved heap profiler support.
810
811 Fixed the implementation of the resource constraint API so it
812 works when using snapshots.
813
814 Fixed a number of issues in the Windows 64-bit version.
815
816 Optimized calls to API getters.
817
818 Added valgrind notification on code modification to the 64-bit version.
819
820 Fixed issue where we logged shared library addresses on Windows at
821 startup and never used them.
822
823
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00008242009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000825
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000826 X64: Convert smis to holding 32 bits of payload.
827
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000828 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000829
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000830 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000831
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000832 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000833 Patch by Jan de Mooij <jandemooij@gmail.com>
834
835 Implement ES5 Array.isArray
836 Patch by Jan de Mooij <jandemooij@gmail.com>
837
838 Skip access checks for hidden properties.
839
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000840 Added String::Concat(Handle<String> left, Handle<String> right) to the
841 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000842
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000843 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000844
845
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00008462009-10-07: Version 1.3.15
847
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000848 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +0000849
850 Fixed a crash bug happening when starting profiling (issue
851 http://crbug.com/23768).
852
853
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00008542009-10-07: Version 1.3.14
855
856 Added GetRealNamedProperty to the API to lookup real properties
857 located on the object or in the prototype chain skipping any
858 interceptors.
859
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000860 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000861 stack limit now needs to be set to each thread thich is used with V8.
862
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000863 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000864
865 Ensure V8 is initialized before locking and unlocking threads.
866
867 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +0000868 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000869 Crockford from the project.
870
871 Added a missing optimization in StringCharAt.
872
873 Fixed some flaky socket tests.
874
875 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
876 in 64-bit mode.
877
878 Fixed memory leaks in the thread management code.
879
880 Fixed the result of assignment to a pixel array. The assigned value
881 is now the result.
882
883 Error reporting for invalid left-hand sides in for-in statements, pre-
884 and postfix count expressions, and assignments now matches the JSC
885 behavior in Safari 4.
886
887 Follow the spec in disallowing function declarations without a name.
888
889 Always allocate code objects within a 2 GB range. On x64 architecture
890 this is used to use near calls (32-bit displacement) in Code objects.
891
892 Optimized array construction ported to x64 and ARM architectures.
893
894 [ES5] Changed Object.keys to return strings for element indices.
895
896
ager@chromium.org68e7ab72009-09-23 09:40:39 +00008972009-09-23: Version 1.3.13
898
899 Fixed uninitialized memory problem.
900
901 Improved heap profiler support.
902
903
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +00009042009-09-22: Version 1.3.12
905
906 Changed behavior of |function|.toString() on built-in functions to
907 be compatible with other implementations. Patch by Jan de Mooij.
908
909 Added Object::IsDirty in the API.
910
911 Optimized array construction; it is now handled purely in native
912 code.
913
914 [ES5] Made properties of the arguments array enumerable.
915
916 [ES5] Added test suite adapter for the es5conform test suite.
917
918 [ES5] Added Object.keys function.
919
ager@chromium.org68e7ab72009-09-23 09:40:39 +0000920
ager@chromium.org4af710e2009-09-15 12:20:11 +00009212009-09-15: Version 1.3.11
922
923 Fixed crash in error reporting during bootstrapping.
924
925 Optimized generated IA32 math code by using SSE2 instructions when
926 available.
927
928 Implemented missing pieces of debugger infrastructure on ARM. The
929 debugger is now fully functional on ARM.
930
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000931 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +0000932
933
ager@chromium.orga1645e22009-09-09 19:27:10 +00009342009-09-09: Version 1.3.10
935
936 Fixed profiler on Mac in 64-bit mode.
937
938 Optimized creation of objects from simple constructor functions on
939 ARM.
940
941 Fixed a number of debugger issues.
942
943 Reduced the amount of memory consumed by V8.
944
945
ager@chromium.org18ad94b2009-09-02 08:22:29 +00009462009-09-02: Version 1.3.9
947
948 Optimized stack guard checks on ARM.
949
950 Optimized API operations by inlining more in the API.
951
952 Optimized creation of objects from simple constructor functions.
953
954 Enabled a number of missing optimizations in the 64-bit port.
955
956 Implemented native-code support for regular expressions on ARM.
957
958 Stopped using the 'sahf' instruction on 64-bit machines that do
959 not support it.
960
961 Fixed a bug in the support for forceful termination of JavaScript
962 execution.
963
964
ager@chromium.org96c75b52009-08-26 09:13:16 +00009652009-08-26: Version 1.3.8
966
967 Changed the handling of idle notifications to allow idle
968 notifications when V8 has not yet been initialized.
969
970 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000971
ager@chromium.org96c75b52009-08-26 09:13:16 +0000972
ager@chromium.orgab99eea2009-08-25 07:05:41 +00009732009-08-25: Version 1.3.7
974
975 Reduced the size of generated code on ARM platforms by reducing
976 the size of constant pools.
977
978 Changed build files to not include the 'ENV' user environment
979 variable in the build environment.
980
981 Changed the handling of idle notifications.
982
983
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00009842009-08-21: Version 1.3.6
985
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000986 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +0000987
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000988 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +0000989 a low memory situation to V8.
990
991 Changed the handling of global handles (persistent handles in the API
992 sense) to avoid issues regarding allocation of new global handles
993 during weak handle callbacks.
994
995 Changed the growth policy of the young space.
996
997 Fixed a GC issue introduced in version 1.3.5.
998
999
sgjesse@chromium.org911335c2009-08-19 12:59:44 +000010002009-08-19: Version 1.3.5
1001
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001002 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001003
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001004 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001005
1006 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
1007
1008 Changed typeof RegExp from 'object' to 'function' for compatibility.
1009 Fixed bug where regexps were not callable across contexts.
1010
1011 Added context independent script compilation to the API.
1012
1013 Added API call to get the stack trace for an exception.
1014
1015 Added API for getting object mirrors.
1016
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001017 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00001018 running off a snapshot generated without using SSE3 instructions.
1019
1020 Tweaked the handling of the initial size and growth policy of the heap.
1021
1022 Added native code generation for RegExp to 64-bit version.
1023
1024 Added JavaScript debugger support to 64-bit version.
1025
1026
ager@chromium.orgadd848f2009-08-13 12:44:13 +000010272009-08-13: Version 1.3.4
1028
1029 Added a readline() command to the d8 shell.
1030
1031 Fixed bug in json parsing.
1032
1033 Added idle notification to the API and reduced memory on idle
1034 notifications.
1035
1036
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000010372009-08-12: Version 1.3.3
1038
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001039 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001040
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001041 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001042
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001043 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001044
1045 API: added function to find instance of template in prototype
1046 chain. Inlined Object::IsInstanceOf.
1047
1048 Land change to notify valgrind when we modify code on x86.
1049
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001050 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001051
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001052 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001053
1054
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000010552009-08-05: Version 1.3.2
1056
1057 Started new compiler infrastructure for two-pass compilation using a
1058 control flow graph constructed from the AST.
1059
1060 Profiler stack sampling for X64.
1061
1062 Safe handling of NaN to Posix platform-dependent time functions.
1063
1064 Added a new profiler control API to unify controlling various aspects
1065 of profiling.
1066
1067 Fixed issue 392.
1068
1069
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000010702009-07-30: Version 1.3.1
1071
1072 Speed improvements to accessors and interceptors.
1073
1074 Added support for capturing stack information on custom errors.
1075
1076 Added support for morphing an object into a pixel array where its
1077 indexed properties are stored in an external byte array. Values written
1078 are always clamped to the 0..255 interval.
1079
1080 Profiler on x64 now handles C/C++ functions from shared libraries.
1081
1082 Changed the debugger to avoid stepping into function.call/apply if the
1083 function is a built-in.
1084
1085 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001086
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001087 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001088
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001089 Optimized the called as constructor check for API calls.
1090
1091
kasperl@chromium.orge959c182009-07-27 08:59:04 +000010922009-07-27: Version 1.3.0
1093
1094 Allowed RegExp objects to be called as functions (issue 132).
1095
1096 Fixed issue where global property cells would escape after
1097 detaching the global object; see http://crbug.com/16276.
1098
1099 Added support for stepping into setters and getters in the
1100 debugger.
1101
1102 Changed the debugger to avoid stopping in its own JavaScript code
1103 and in the code of built-in functions.
1104
1105 Fixed issue 345 by avoiding duplicate escaping labels.
1106
1107 Fixed ARM code generator crash in short-circuited boolean
1108 expressions and added regression tests.
1109
1110 Added an external allocation limit to avoid issues where small V8
1111 objects would hold on to large amounts of external memory without
1112 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001113
1114 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001115
1116
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000011172009-07-13: Version 1.2.14
1118
1119 Added separate paged heap space for global property cells and
1120 avoid updating the write barrier when storing into them.
1121
1122 Improved peep-hole optimization on ARM platforms by not emitting
1123 unnecessary debug information.
1124
1125 Re-enabled ICs for loads and calls that skip a global object
1126 during lookup through the prototype chain.
1127
1128 Allowed access through global proxies to use ICs.
1129
1130 Fixed issue 401.
1131
1132
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000011332009-07-09: Version 1.2.13
1134
1135 Fixed issue 397, issue 398, and issue 399.
1136
1137 Added support for breakpoint groups.
1138
1139 Fixed bugs introduced with the new global object representation.
1140
1141 Fixed a few bugs in the ARM code generator.
1142
1143
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000011442009-07-06: Version 1.2.12
1145
1146 Added stack traces collection to Error objects accessible through
1147 the e.stack property.
1148
1149 Changed RegExp parser to use a recursive data structure instead of
1150 stack-based recursion.
1151
1152 Optimized Date object construction and string concatenation.
1153
1154 Improved performance of div, mod, and mul on ARM platforms.
1155
1156
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000011572009-07-02: Version 1.2.11
1158
1159 Improved performance on IA-32 and ARM.
1160
1161 Fixed profiler sampler implementation on Mac OS X.
1162
1163 Changed the representation of global objects to improve
1164 performance of adding a lot of new properties.
1165
1166
ager@chromium.org3e875802009-06-29 08:26:34 +000011672009-06-29: Version 1.2.10
1168
1169 Improved debugger support.
1170
1171 Fixed bug in exception message reporting (issue 390).
1172
1173 Improved overall performance.
1174
1175
ager@chromium.org5aa501c2009-06-23 07:57:28 +000011762009-06-23: Version 1.2.9
1177
1178 Improved math performance on ARM.
1179
1180 Fixed profiler name-inference bug.
1181
1182 Fixed handling of shared libraries in the profiler tick processor
1183 scripts.
1184
1185 Fixed handling of tests that time out in the test scripts.
1186
1187 Fixed compilation on MacOS X version 10.4.
1188
1189 Fixed two bugs in the regular expression engine.
1190
1191 Fixed a bug in the string type inference.
1192
1193 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001194
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001195 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001196
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001197
ager@chromium.orgeadaf222009-06-16 09:43:10 +000011982009-06-16: Version 1.2.8
1199
1200 Optimized math on ARM platforms.
1201
1202 Fixed two crash bugs in the handling of getters and setters.
1203
1204 Improved the debugger support by adding scope chain information.
1205
1206 Improved the profiler support by compressing log data transmitted
1207 to clients.
1208
1209 Improved overall performance.
1210
1211
ager@chromium.orge2902be2009-06-08 12:21:35 +000012122009-06-08: Version 1.2.7
1213
1214 Improved debugger and profiler support.
1215
1216 Reduced compilation time by improving the handling of deferred
1217 code.
1218
1219 Optimized interceptor accesses where the property is on the object
1220 on which the interceptors is attached.
1221
1222 Fixed compilation problem on GCC 4.4 by changing the stack
1223 alignment to 16 bytes.
1224
1225 Fixed handle creation to follow stric aliasing rules.
1226
1227 Fixed compilation on FreeBSD.
1228
1229 Introduced API for forcing the deletion of a property ignoring
1230 interceptors and attributes.
1231
1232
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000012332009-05-29: Version 1.2.6
1234
1235 Added a histogram recording hit rates at different levels of the
1236 compilation cache.
1237
1238 Added stack overflow check for the RegExp analysis phase. Previously a
1239 very long regexp graph could overflow the stack with recursive calls.
1240
1241 Use a dynamic buffer when collecting log events in memory.
1242
1243 Added start/stop events to the profiler log.
1244
1245 Fixed infinite loop which could happen when setting a debug break while
1246 executing a RegExp compiled to native code.
1247
1248 Fixed handling of lastIndexOf called with negative index (issue 351).
1249
1250 Fixed irregular crash in profiler test (issue 358).
1251
1252 Fixed compilation issues with some versions of gcc.
1253
1254
kasperl@chromium.org71affb52009-05-26 05:44:31 +000012552009-05-26: Version 1.2.5
1256
1257 Fixed bug in initial boundary check for Boyer-Moore text
1258 search (issue 349).
1259
1260 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1261 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1262 Craig Schlenter.
1263
1264 Added a script cache to the debugger.
1265
1266 Optimized compilation performance by improving internal data
1267 structures and avoiding expensive property load optimizations for
1268 code that's infrequently executed.
1269
1270 Exposed the calling JavaScript context through the static API
1271 function Context::GetCalling().
1272
1273
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000012742009-05-18: Version 1.2.4
1275
1276 Improved performance of floating point number allocation for ARM
1277 platforms.
1278
1279 Fixed crash when using the instanceof operator on functions with
1280 number values in their prototype chain (issue 341).
1281
1282 Optimized virtual frame operations in the code generator to speed
1283 up compilation time and allocated the frames in the zone.
1284
1285 Made the representation of virtual frames and jump targets in the
1286 code generator much more compact.
1287
1288 Avoided linear search for non-locals in scope code when resolving
1289 variables inside with and eval scopes.
1290
1291 Optimized lexical scanner by dealing with whitespace as part of
1292 the token scanning instead of as a separate step before it.
1293
1294 Changed the scavenging collector so that promoted objects do not
1295 reside in the old generation while their remembered set is being
1296 swept for pointers into the young generation.
1297
1298 Fixed numeric overflow handling when compiling count operations.
1299
1300
ager@chromium.org9085a012009-05-11 19:22:57 +000013012009-05-11: Version 1.2.3
1302
1303 Fixed bug in reporting of out-of-memory situations.
1304
1305 Introduced hidden prototypes on certain builtin prototype objects
1306 such as String.prototype to emulate JSC's behavior of restoring
1307 the original function when deleting functions from those prototype
1308 objects.
1309
1310 Fixed crash bug in the register allocator.
1311
1312
ager@chromium.org5ec48922009-05-05 07:25:34 +000013132009-05-04: Version 1.2.2
1314
1315 Fixed bug in array sorting for sparse arrays (issue 326).
1316
1317 Added support for adding a soname when building a shared library
1318 on Linux (issue 151).
1319
1320 Fixed bug caused by morphing internal ASCII strings to external
1321 two-byte strings. Slices over ASCII strings have to forward ASCII
1322 checks to the underlying buffer string.
1323
1324 Allowed API call-as-function handlers to be called as
1325 constructors.
1326
1327 Fixed a crash bug where an external string was disposed but a
1328 slice of the external string survived as a symbol.
1329
1330
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000013312009-04-27: Version 1.2.1
1332
1333 Added EcmaScript 5 JSON object.
1334
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001335 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001336
1337
ager@chromium.org65dad4b2009-04-23 08:48:43 +000013382009-04-23: Version 1.2.0
1339
1340 Optimized floating-point operations on ARM.
1341
1342 Added a number of extensions to the debugger API.
1343
1344 Changed the enumeration order for unsigned integer keys to always
1345 be numerical order.
1346
1347 Added a "read" extension to the shell sample.
1348
1349 Added support for Array.prototype.reduce and
1350 Array.prototype.reduceRight.
1351
1352 Added an option to the SCons build to control Microsoft Visual C++
1353 link-time code generation.
1354
1355 Fixed a number of bugs (in particular issue 315, issue 316,
1356 issue 317 and issue 318).
1357
1358
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000013592009-04-15: Version 1.1.10
1360
1361 Fixed crash bug that occurred when loading a const variable in the
1362 presence of eval.
1363
1364 Allowed using with and eval in registered extensions in debug mode
1365 by fixing bogus assert.
1366
1367 Fixed the source position for function returns to enable the
1368 debugger to break there.
1369
1370
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000013712009-04-14: Version 1.1.9
1372
1373 Made the stack traversal code in the profiler robust by avoiding
1374 to look into the heap.
1375
1376 Added name inferencing for anonymous functions to facilitate
1377 debugging and profiling.
1378
1379 Re-enabled stats timers in the developer shell (d8).
1380
1381 Fixed issue 303 by avoiding to shortcut cons-symbols.
1382
1383
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000013842009-04-11: Version 1.1.8
1385
1386 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1387
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001388 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001389 the debugger (issue 269).
1390
1391 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1392 are no hidden properties.
1393
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001394 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001395 entries with deleted resources would lead to NPEs when looking
1396 up in the symbol table.
1397
1398
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000013992009-04-07: Version 1.1.7
1400
1401 Added support for easily importing additional environment
1402 variables into the SCons build.
1403
1404 Optimized strict equality checks.
1405
1406 Fixed crash in indexed setters on objects without a corresponding
1407 getter (issue 298).
1408
1409 Re-enabled script compilation cache.
1410
1411
ager@chromium.org8682a592009-04-01 10:47:14 +000014122009-04-01: Version 1.1.6
1413
1414 Reverted an unsafe code generator change.
1415
1416
ager@chromium.org71daaf62009-04-01 07:22:49 +000014172009-04-01: Version 1.1.5
1418
1419 Fixed bug that caused function literals to not be optimized as
1420 much as other functions.
1421
1422 Improved profiler support.
1423
1424 Fixed a crash bug in connection with debugger unloading.
1425
1426 Fixed a crash bug in the code generator caused by losing the
1427 information that a frame element was copied.
1428
1429 Fixed an exception propagation bug that could cause non-null
1430 return values when exceptions were thrown.
1431
1432
ager@chromium.org41826e72009-03-30 13:30:57 +000014332009-03-30: Version 1.1.4
1434
1435 Optimized String.prototype.match.
1436
1437 Improved the stack information in profiles.
1438
1439 Fixed bug in ARM port making it possible to compile the runtime
1440 system for thumb mode again.
1441
1442 Implemented a number of optimizations in the code generator.
1443
1444 Fixed a number of memory leaks in tests.
1445
1446 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001447 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001448
1449
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000014502009-03-24: Version 1.1.3
1451
1452 Fixed assertion failures in compilation of loop conditions.
1453
1454 Removed STL dependency from developer shell (d8).
1455
1456 Added infrastructure for protecting the V8 heap from corruption
1457 caused by memory modifications from the outside.
1458
1459
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000014602009-03-24: Version 1.1.2
1461
1462 Improved frame merge code generated by the code generator.
1463
1464 Optimized String.prototype.replace.
1465
1466 Implemented __defineGetter__ and __defineSetter__ for properties
1467 with integer keys on non-array objects.
1468
1469 Improved debugger and profiler support.
1470
1471 Fixed a number of portability issues to allow compilation for
1472 smaller ARM devices.
1473
1474 Exposed object cloning through the API.
1475
1476 Implemented hidden properties. This is used to expose an identity
1477 hash for objects through the API.
1478
1479 Implemented restarting of regular expressions if their input
1480 string changes representation during preemption.
1481
1482 Fixed a code generator bug that could cause assignments in loops
1483 to be ignored if using continue to break out of the loop (issue
1484 284).
1485
1486
ager@chromium.org3a6061e2009-03-12 14:24:36 +000014872009-03-12: Version 1.1.1
1488
1489 Fixed an assertion in the new compiler to take stack overflow
1490 exceptions into account.
1491
1492 Removed exception propagation code that could cause crashes.
1493
1494 Fixed minor bug in debugger line number computations.
1495
1496 8-byte align the C stack on Linux and Windows to speed up floating
1497 point computations.
1498
1499
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000015002009-03-12: Version 1.1.0
1501
1502 Improved code generation infrastructure by doing simple register
1503 allocation and constant folding and propagation.
1504
1505 Optimized regular expression matching by avoiding to create
1506 intermediate string arrays and by flattening nested array
1507 representations of RegExp data.
1508
1509 Traverse a few stack frames when recording profiler samples to
1510 include partial call graphs in the profiling output.
1511
1512 Added support for using OProfile to profile generated code.
1513
1514 Added remote debugging support to the D8 developer shell.
1515
1516 Optimized creation of nested literals like JSON objects.
1517
1518 Fixed a bug in garbage collecting unused maps and turned it on by
1519 default (--collect-maps).
1520
1521 Added support for running tests under Valgrind.
1522
1523
kasperl@chromium.org061ef742009-02-27 12:16:20 +000015242009-02-27: Version 1.0.3
1525
1526 Optimized double-to-integer conversions in bit operations by using
1527 SSE3 instructions if available.
1528
1529 Optimized initialization sequences that store to multiple
1530 properties of the same object.
1531
1532 Changed the D8 debugger frontend to use JSON messages.
1533
1534 Force garbage collections when disposing contexts.
1535
1536 Align code objects at 32-byte boundaries.
1537
1538
ager@chromium.org381abbb2009-02-25 13:23:22 +000015392009-02-25: Version 1.0.2
1540
1541 Improved profiling support by performing simple call stack
1542 sampling for ticks and by fixing a bug in the logging of code
1543 addresses.
1544
1545 Fixed a number of debugger issues.
1546
1547 Optimized code that uses eval.
1548
1549 Fixed a couple of bugs in the regular expression engine.
1550
1551 Reduced the size of generated code for certain regular expressions.
1552
1553 Removed JSCRE completely.
1554
1555 Fixed issue where test could not be run if there was a dot in the
1556 checkout path.
1557
1558
ager@chromium.org6f10e412009-02-13 10:11:16 +000015592009-02-13: Version 1.0.1
1560
1561 Fixed two crash-bugs in irregexp (issue 231 and 233).
1562
1563 Fixed a number of minor bugs (issue 87, 227 and 228).
1564
1565 Added support for morphing strings to external strings on demand
1566 to avoid having to create copies in the embedding code.
1567
1568 Removed experimental support for external symbol callbacks.
1569
1570
iposva@chromium.org245aa852009-02-10 00:49:54 +000015712009-02-09: Version 1.0.0
1572
1573 Fixed crash-bug in the code generation for case independent 16 bit
1574 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001575
iposva@chromium.org245aa852009-02-10 00:49:54 +00001576 Made shells more robust in the presence of string conversion
1577 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001578
iposva@chromium.org245aa852009-02-10 00:49:54 +00001579 Fixed a potential infinite loop when attempting to resolve
1580 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001581
iposva@chromium.org245aa852009-02-10 00:49:54 +00001582 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001583
iposva@chromium.org245aa852009-02-10 00:49:54 +00001584 Reduced binary by stripping unneeded text from JavaScript library and
1585 minifying some JavaScript files.
1586
1587
ager@chromium.orgddb913d2009-01-27 10:01:48 +000015882009-01-27: Version 0.4.9
1589
1590 Enabled new regular expression engine.
1591
1592 Made a number of changes to the debugger protocol.
1593
1594 Fixed a number of bugs in the preemption support.
1595
1596 Added -p option to the developer shell to run files in parallel
1597 using preemption.
1598
1599 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1600 193, 198 and 201).
1601
1602 Fixed a number of bugs in the serialization/deserialization
1603 support for the ARM platform.
1604
1605
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000016062009-01-19: Version 0.4.8.1
1607
1608 Minor patch to debugger support.
1609
1610
ager@chromium.org32912102009-01-16 10:38:43 +000016112009-01-16: Version 0.4.8
1612
1613 Fixed string length bug on ARM (issue 171).
1614
1615 Made most methods in the API const.
1616
1617 Optimized object literals by improving data locality.
1618
1619 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001620 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001621
1622 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001623 eval to behave incorrectly when using accessors (issues 186, 190
1624 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001625
1626
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000016272009-01-06: Version 0.4.7
1628
ager@chromium.org32912102009-01-16 10:38:43 +00001629 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001630
ager@chromium.org32912102009-01-16 10:38:43 +00001631 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001632
ager@chromium.org32912102009-01-16 10:38:43 +00001633 Fixed subtle bug that caused the wrong 'this' to be used when
1634 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001635
ager@chromium.org32912102009-01-16 10:38:43 +00001636 Inline array loads within loops directly in the code instead of
1637 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001638
ager@chromium.org32912102009-01-16 10:38:43 +00001639
ager@chromium.org8bb60582008-12-11 12:02:20 +000016402008-12-11: Version 0.4.6
1641
1642 Fixed exception reporting bug where certain exceptions were
1643 incorrectly reported as uncaught.
1644
1645 Improved the memory allocation strategy used during compilation to
1646 make running out of memory when compiling huge scripts less
1647 likely.
1648
1649 Optimized String.replace by avoiding the construction of certain
1650 sub strings.
1651
1652 Fixed bug in code generation for large switch statements on ARM.
1653
1654 Fixed bug that caused V8 to change the global object template
1655 passed in by the user.
1656
1657 Changed the API for creating object groups used during garbage
1658 collection. Entire object groups are now passed to V8 instead of
1659 individual members of the groups.
1660
ager@chromium.org32912102009-01-16 10:38:43 +00001661
ager@chromium.orga74f0da2008-12-03 16:05:52 +000016622008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001663
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001664 Added experimental API support for allocating V8 symbols as
1665 external strings.
1666
1667 Fixed bugs in debugging support on ARM.
1668
1669 Changed eval implementation to correctly detect whether or not a
1670 call to eval is aliased.
1671
1672 Fixed bug caused by a combination of the compilation cache and
1673 dictionary probing in native code. The bug caused us to sometimes
1674 call functions that had not yet been compiled.
1675
1676 Added platform support for FreeBSD.
1677
1678 Added support for building V8 on Windows with either the shared or
1679 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001680
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001681 Added the v8::jscre namespace around the jscre functions to avoid
1682 link errors (duplicate symbols) when building Google Chrome.
1683
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001684 Added support for calling a JavaScript function with the current
1685 debugger execution context as its argument to the debugger
1686 interface.
1687
1688 Changed the type of names of counters from wchar_t to char.
1689
1690 Changed the Windows system call used to compute daylight savings
1691 time. The system call that we used to use became four times
1692 slower on WinXP SP3.
1693
1694 Added support in the d8 developer shell for memory-mapped counters
1695 and added a stats-viewer tool.
1696
1697 Fixed bug in upper/lower case mappings (issue 149).
1698
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001699
ager@chromium.org3bf7b912008-11-17 09:09:45 +000017002008-11-17: Version 0.4.4
1701
1702 Reduced code size by using shorter instruction encoding when
1703 possible.
1704
1705 Added a --help option to the shell sample and to the d8 shell.
1706
1707 Added visual studio project files for building the ARM simulator.
1708
1709 Fixed a number of ARM simulator issues.
1710
1711 Fixed bug in out-of-memory handling on ARM.
1712
1713 Implemented shell support for passing arguments to a script from
1714 the command line.
1715
1716 Fixed bug in date code that made certain date functions return -0
1717 instead of 0 for dates before the epoch.
1718
1719 Restricted applications of eval so it can only be used in the
1720 context of the associated global object.
1721
1722 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001723
1724
ager@chromium.org870a0b62008-11-04 11:43:05 +000017252008-11-04: Version 0.4.3
1726
1727 Added support for API accessors that prohibit overwriting by
1728 accessors defined in JavaScript code by using __defineGetter__ and
1729 __defineSetter__.
1730
1731 Improved handling of conditionals in test status files.
1732
1733 Introduced access control in propertyIsEnumerable.
1734
1735 Improved performance of some string operations by caching
1736 information about the type of the string between operations.
1737
1738 Fixed bug in fast-case code for switch statements that only have
1739 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001740
ager@chromium.org870a0b62008-11-04 11:43:05 +00001741
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000017422008-10-30: Version 0.4.2
1743
1744 Improved performance of Array.prototype.concat by moving the
1745 implementation to C++ (issue 123).
1746
1747 Fixed heap growth policy to avoid growing old space to its maximum
1748 capacity before doing a garbage collection and fixed issue that
1749 would lead to artificial out of memory situations (issue 129).
1750
1751 Fixed Date.prototype.toLocaleDateString to return the date in the
1752 same format as WebKit.
1753
1754 Added missing initialization checks to debugger API.
1755
1756 Added removing of unused maps during GC.
1757
1758
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000017592008-10-28: Version 0.4.1
1760
1761 Added caching of RegExp data in compilation cache.
1762
1763 Added Visual Studio project file for d8 shell.
1764
1765 Fixed function call performance regression introduced in version
1766 0.4.0 when splitting the global object in two parts (issue 120).
1767
1768 Fixed issue 131 by checking for empty handles before throwing and
1769 reporting exceptions.
1770
1771
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000017722008-10-23: Version 0.4.0
1773
1774 Split the global object into two parts: The state holding global
1775 object and the global object proxy.
1776
1777 Fixed bug that affected the value of an assignment to an element
1778 in certain cases (issue 116).
1779
1780 Added GetPropertyNames functionality (issue 33) and extra Date
1781 functions (issue 77) to the API.
1782
1783 Changed WeakReferenceCallback to take a Persistent<Value> instead
1784 of a Persistent<Object> (issue 101).
1785
1786 Fixed issues with message reporting for exceptions in try-finally
1787 blocks (issues 73 and 75).
1788
ager@chromium.org32912102009-01-16 10:38:43 +00001789 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001790
1791 Improved Boyer-Moore implementation for faster indexOf operations.
1792
1793 Added development shell (d8) which includes counters and
1794 completion support.
1795
1796 Fixed problem with the receiver passed to functions called from
1797 eval (issue 124).
1798
1799
ager@chromium.org7c537e22008-10-16 08:43:32 +000018002008-10-16: Version 0.3.5
1801
1802 Improved string hash-code distribution by excluding bit-field bits
1803 from the hash-code.
1804
1805 Changed string search algorithm used in indexOf from KMP to
1806 Boyer-Moore.
1807
1808 Improved the generated code for the instanceof operator.
1809
1810 Improved performance of slow-case string equality checks by
1811 specializing the code based on the string representation.
1812
1813 Improve the handling of out-of-memory situations (issue 70).
1814
1815 Improved performance of strict equality checks.
1816
1817 Improved profiler output to make it easier to see anonymous
1818 functions.
1819
1820 Improved performance of slow-case keyed loads.
1821
1822 Improved property access performance by allocating a number of
1823 properties in the front object.
1824
1825 Changed the toString behavior on the built-in object constructors
1826 to print [native code] instead of the actual source. Some web
1827 applications do not like constructors with complex toString
1828 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001829
ager@chromium.org7c537e22008-10-16 08:43:32 +00001830
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000018312008-10-06: Version 0.3.4
1832
1833 Changed Array.prototype.sort to use quick sort.
1834
1835 Fixed code generation issue where leaving a finally block with
1836 break or continue would accumulate elements on the expression
1837 stack (issue 86).
1838
1839 Made sure that the name accessor on functions returns the expected
1840 names for builtin JavaScript functions and C++ callback functions.
1841
1842 Added fast case code for extending the property storage array of
1843 JavaScript objects.
1844
1845 Ported switch statement optimizations introduced in version 0.3.3
1846 to the ARM code generator.
1847
1848 Allowed GCC to use strict-aliasing rules when compiling.
1849
1850 Improved performance of arguments object allocation by taking care
1851 of arguments adaptor frames in the generated code.
1852
1853 Updated the V8 benchmark suite to version 2.
1854
1855
ager@chromium.org236ad962008-09-25 09:45:57 +000018562008-09-25: Version 0.3.3
1857
1858 Improved handling of relocation information to enable more
1859 peep-hole optimizations.
1860
1861 Optimized switch statements where all labels are constant small
1862 integers.
1863
1864 Optimized String.prototype.indexOf for common cases.
1865
1866 Fixed more build issues (issue 80).
1867
1868 Fixed a couple of profiler issues.
1869
1870 Fixed bug where the body of a function created using the Function
1871 constructor was not allowed to end with a single-line comment
1872 (issue 85).
1873
1874 Improved handling of object literals by canonicalizing object
1875 literal maps. This will allow JSON objects with the same set of
1876 properties to share the same map making inline caching work better
1877 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00001878
ager@chromium.org236ad962008-09-25 09:45:57 +00001879
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000018802008-09-17: Version 0.3.2
1881
1882 Generalized the EvalCache into a CompilationCache and enabled it
1883 for scripts too. The current strategy is to retire all entries
1884 whenever a mark-sweep collection is started.
1885
1886 Fixed bug where switch statements containing only a default case
1887 would lead to an unbalanced stack (issue 69).
1888
1889 Fixed bug that made access to the function in a named function
1890 expression impossible in certain situations (issue 24).
1891
1892 Fixed even more build issues.
1893
1894 Optimized calling conventions on ARM. The conventions on ARM and
1895 IA-32 now match.
1896
1897 Removed static initializers for flags and counters.
1898
1899 Improved inline caching behavior for uncommon cases where lazily
1900 loading Date and RegExp code could force certain code paths go
1901 megamorphic.
1902
1903 Removed arguments adaption for builtins written in C++. This
1904 makes Array.prototype.push and Array.prototype.pop slightly
1905 faster.
1906
1907
ager@chromium.org9258b6b2008-09-11 09:11:10 +000019082008-09-11: Version 0.3.1
1909
1910 Fixed a number of build issues.
1911
1912 Fixed problem with missing I-cache flusing on ARM.
1913
1914 Changed space layout in memory management by splitting up
1915 code space into old data space and code space.
1916
1917 Added utf-8 conversion support to the API (issue 57).
1918
1919 Optimized repeated calls to eval with the same strings. These
1920 repeated calls are common in web applications.
1921
1922 Added Xcode project file.
1923
1924 Optimized a couple of Array operation.
1925
1926 Fixed parser bug by checking for end-of-string when parsing break
1927 and continue (issue 35).
1928
1929 Fixed problem where asian characters were not categorized as
1930 letters.
1931
1932 Fixed bug that disallowed calling functions fetched from an array
1933 using a string as an array index (issue 32).
1934
1935 Fixed bug where the internal field count on object templates were
1936 sometimes ignored (issue 54).
1937
1938 Added -f option to the shell sample for compatibility with other
1939 engines (issue 18).
1940
1941 Added source info to TryCatches in the API.
1942
1943 Fixed problem where the seed for the random number generator was
1944 clipped in a double to unsigned int conversion.
1945
1946 Fixed bug where cons string symbols were sometimes converted to
1947 non-symbol flat strings during GC.
1948
1949 Fixed bug in error reporting when attempting to convert null to an
1950 object.
ager@chromium.org32912102009-01-16 10:38:43 +00001951
1952
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000019532008-09-04: Version 0.3.0
1954
1955 Added support for running tests on the ARM simulator.
1956
1957 Fixed bug in the 'in' operator where negative indices were not
1958 treated correctly.
1959
1960 Fixed build issues on gcc-4.3.1.
1961
1962 Changed Date.prototype.toLocaleTimeString to not print the
1963 timezone part of the time.
1964
1965 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
1966 with user code.
1967
1968
v8.team.kasperl727e9952008-09-02 14:56:44 +000019692008-09-02: Version 0.2.5
1970
1971 Renamed the top level directory 'public' to 'include'.
1972
1973 Added 'env' option to the SCons build scripts to support
1974 overriding the ENV part of the build environment. This is mostly
1975 to support Windows builds in cases where SCons cannot find the
1976 correct paths to the Windows SDK, as these paths cannot be passed
1977 through shell environment variables.
1978
1979 Enabled "Buffer Security Check" on for the Windows SCons build and
1980 added the linker option /OPT:ICF as an optimization.
1981
1982 Added the V8 benchmark suite to the repository.
1983
1984
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000019852008-09-01: Version 0.2.4
1986
1987 Included mjsunit JavaScript test suite and C++ unit tests.
1988
1989 Changed the shell sample to not print the result of executing a
1990 script provided on the command line.
1991
1992 Fixed issue when building samples on Windows using a shared V8
1993 library. Added visibility option on Linux build which makes the
1994 generated library 18% smaller.
1995
1996 Changed build system to accept multiple build modes in one build
1997 and generate separate objects, libraries and executables for each
1998 mode.
1999
2000 Removed deferred negation optimization (a * -b => -(a * b)) since
2001 this visibly changes operand conversion order.
2002
2003 Improved parsing performance by introducing stack guard in
2004 preparsing. Without a stack guard preparsing always bails out
2005 with stack overflow.
2006
2007 Changed shell sample to take flags directly from the command-line.
2008 Added API call that implements this.
2009
2010 Added load, quit and version functions to the shell sample so it's
2011 easier to run benchmarks and tests.
2012
2013 Fixed issue with building samples and cctests on 64-bit machines.
2014
2015 Fixed bug in the runtime system where the prototype chain was not
2016 always searched for a setter when setting a property that does not
2017 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00002018
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00002019
mads.s.agercbaa0602008-08-14 13:41:48 +000020202008-08-14: Version 0.2.3
2021
2022 Improved performance of garbage collection by moving the
2023 function that updates pointers during compacting collection
2024 into the updating visitor. This gives the compiler a better
2025 chance to inline and avoid a function call per (potential)
2026 pointer.
2027
2028 Extended the shell sample with a --runtime-flags option.
2029
2030 Added Visual Studio project files for the shell.cc and
2031 process.cc samples.
2032
2033
20342008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002035
2036 Improved performance of garbage collection by changing the way
2037 we use the marking stack in the event of stack overflow during
2038 full garbage collection and by changing the way we mark roots.
2039
2040 Cleaned up ARM version by removing top of stack caching and by
2041 introducing push/pop elimination.
2042
2043 Cleaned up the way runtime functions are called to allow
2044 runtime calls with no arguments.
2045
2046 Changed Windows build options to make sure that exceptions are
2047 disabled and that optimization flags are enabled.
2048
2049 Added first version of Visual Studio project files.
2050
2051
mads.s.agercbaa0602008-08-14 13:41:48 +000020522008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002053
2054 Improved performance of unary addition by avoiding runtime calls.
2055
2056 Fixed the handling of '>' and '<=' to use right-to-left conversion
2057 and left-to-right evaluation as specified by ECMA-262.
2058
2059 Fixed a branch elimination bug on the ARM platform where incorrect
2060 code was generated because of overly aggressive branch
2061 elimination.
2062
2063 Improved performance of code that repeatedly assigns the same
2064 function to the same property of different objects with the same
2065 map.
2066
2067 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2068 no longer expects DEBUG to be defined.
2069
2070 Added platform-nullos.cc to serve as the basis for new platform
2071 implementations.
2072
mads.s.ager31e71382008-08-13 09:32:07 +00002073
mads.s.agercbaa0602008-08-14 13:41:48 +000020742008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002075
2076 Changed all text files to have native svn:eol-style.
2077
2078 Added a few samples and support for building them. The samples
2079 include a simple shell that can be used to benchmark and test V8.
2080
2081 Changed V8::GetVersion to return the version as a string.
2082
2083 Added source for lazily loaded scripts to snapshots and made
2084 serialization non-destructive.
2085
2086 Improved ARM support by fixing the write barrier code to use
2087 aligned loads and stores and by removing premature locals
2088 optimization that relied on broken support for callee-saved
2089 registers (removed).
2090
2091 Refactored the code for marking live objects during garbage
2092 collection and the code for allocating objects in paged
2093 spaces. Introduced an abstraction for the map word of a heap-
2094 allocated object and changed the memory allocator to allocate
2095 executable memory only for spaces that may contain code objects.
2096
2097 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2098 they can be used by debugging and logging modules. Added
2099 thread-safe message queues for dealing with debugger events.
2100
2101 Fixed the source code reported by toString for certain builtin
2102 empty functions and made sure that the prototype property of a
2103 function is enumerable.
2104
2105 Improved performance of converting values to condition flags in
2106 generated code.
2107
2108 Merged disassembler-{arch} files.
2109
2110
mads.s.agercbaa0602008-08-14 13:41:48 +000021112008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002112
2113 Added support for storing JavaScript stack traces in a stack
2114 allocated buffer to make it visible in shallow core dumps.
2115 Controlled by the --preallocate-message-memory flag which is
2116 disabled by default.
2117
2118
mads.s.agercbaa0602008-08-14 13:41:48 +000021192008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002120
2121 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2122 map transitions would count as properties.
2123
2124 Allowed aliased eval invocations by treating them as evals in the
2125 global context. This may change in the future.
2126
2127 Added support for accessing the last entered context through the
2128 API and renamed Context::Current to Context::GetCurrent and
2129 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2130
2131 Fixed bug in the debugger that would cause the debugger scripts to
2132 be recursively loaded and changed all disabling of interrupts to
2133 be block-structured.
2134
2135 Made snapshot data read-only to allow it to be more easily shared
2136 across multiple users of V8 when linked as a shared library.
2137
2138
mads.s.agercbaa0602008-08-14 13:41:48 +000021392008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002140
2141 Fixed building on Mac OS X by recognizing i386 and friends as
2142 IA-32 platforms.
2143
2144 Added propagation of stack overflow exceptions that occur while
2145 compiling nested functions.
2146
2147 Improved debugger with support for recursive break points and
2148 handling of exceptions that occur in the debugger JavaScript code.
2149
2150 Renamed GetInternal to GetInternalField and SetInternal to
2151 SetInternalField in the API and moved InternalFieldCount and
2152 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2153
2154
mads.s.agercbaa0602008-08-14 13:41:48 +000021552008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002156
2157 Fixed bug in stack overflow check code for IA-32 targets where a
2158 non-tagged value in register eax was pushed to the stack.
2159
2160 Fixed potential quadratic behavior when converting strings to
2161 numbers.
2162
2163 Fixed bug where the return value from Object::SetProperty could
2164 end up being the property holder instead of the written value.
2165
2166 Improved debugger support by allowing nested break points and by
2167 dealing with stack-overflows when compiling functions before
2168 setting break points in them.
2169
2170
mads.s.agercbaa0602008-08-14 13:41:48 +000021712008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002172
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002173 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002174