blob: 367434eec5d4925e897243b4d9d3012bdd2a9d79 [file] [log] [blame]
ager@chromium.orgb61a0d12010-10-13 08:35:23 +000012010-10-13: Version 2.5.0
2
3 Fixed a bug in the handling of conditional expressions in test
4 contexts in compiler for top-level code.
5
6 Added "//@ sourceURL" information to the StackTrace API.
7
8 Exposed RegExp construction through the API.
9
10
ricow@chromium.orgeb7c1442010-10-04 08:54:21 +0000112010-10-04: Version 2.4.8
12
13 Fixed a bug in ResumeProfilerEx causing it to not always write out the
14 whole snapshot (issue 868).
15
16 Performance improvements on all platforms.
17
18
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +0000192010-09-30: Version 2.4.7
20
21 Changed the command-line flag --max-new-space-size to be in kB and the
22 flag --max-old-space-size to be in MB (previously they were in bytes).
23
24 Added Debug::CancelDebugBreak to the debugger API.
25
26 Fixed a bug in getters for negative numeric property names
27 (https://bugs.webkit.org/show_bug.cgi?id=46689).
28
29 Performance improvements on all platforms.
30
31
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +0000322010-09-27: Version 2.4.6
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000033
whesse@chromium.org4a1fe7d2010-09-27 12:32:04 +000034 Fixed assertion failure related to copy-on-write arrays (issue 876).
35
36 Fixed build failure of 64-bit V8 on Windows.
37
38 Fixed a bug in RegExp (issue http://crbug.com/52801).
39
40 Improved the profiler's coverage to cover more functions (issue 858).
41
42 Fixed error in shift operators on 64-bit V8
43 (issue http://crbug.com/54521).
44
45
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000462010-09-22: Version 2.4.5
kmillikin@chromium.orgf05f2912010-09-30 10:07:24 +000047
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000048 Changed the RegExp benchmark to exercise the regexp engine on different
49 inputs by scrambling the input strings.
50
51 Fixed a bug in keyed loads on strings.
52
53 Fixed a bug with loading global function prototypes.
54
55 Fixed a bug with profiling RegExp calls (issue http://crbug.com/55999).
56
57 Performance improvements on all platforms.
58
59
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +0000602010-09-15: Version 2.4.4
61
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000062 Fixed bug with hangs on very large sparse arrays.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000063
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000064 Now tries harder to free up memory when running out of space.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000065
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000066 Added heap snapshots to JSON format to API.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000067
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +000068 Recalibrated benchmarks.
erik.corry@gmail.comd88afa22010-09-15 12:33:05 +000069
70
sgjesse@chromium.org2ec107f2010-09-13 09:19:46 +0000712010-09-13: Version 2.4.3
72
73 Made Date.parse properly handle TZ offsets (issue 857).
74
75 Performance improvements on all platforms.
76
77
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000782010-09-08: Version 2.4.2
79
80 Fixed GC crash bug.
81
82 Fixed stack corruption bug.
83
84 Fixed compilation for newer C++ compilers that found Operand(0)
85 ambiguous.
86
87
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000882010-09-06: Version 2.4.1
89
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000090 Added the ability for an embedding application to receive a callback
91 when V8 allocates (V8::AddMemoryAllocationCallback) or deallocates
92 (V8::RemoveMemoryAllocationCallback) from the OS.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000093
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000094 Fixed several JSON bugs (including issue 855).
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000095
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000096 Fixed memory overrun crash bug triggered during V8's tick-based
97 profiling.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +000098
ager@chromium.org5b2fbee2010-09-08 06:38:15 +000099 Performance improvements on all platforms.
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000100
101
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +00001022010-09-01: Version 2.4.0
103
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000104 Fixed bug in Object.freeze and Object.seal when Array.prototype or
105 Object.prototype are changed (issue 842).
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000106
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000107 Updated Array.splice to follow Safari and Firefox when called
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000108 with zero arguments.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000109
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000110 Fixed a missing live register when breaking at keyed loads on ARM.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000111
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000112 Performance improvements on all platforms.
ricow@chromium.orgd236f4d2010-09-01 06:52:08 +0000113
114
ricow@chromium.org65fae842010-08-25 15:26:24 +00001152010-08-25: Version 2.3.11
116
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000117 Fixed bug in RegExp related to copy-on-write arrays.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000118
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000119 Refactored tools/test.py script, including the introduction of
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000120 VARIANT_FLAGS that allows specification of sets of flags with which
121 all tests should be run.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000122
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000123 Fixed a bug in the handling of debug breaks in CallIC.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000124
ager@chromium.org5b2fbee2010-09-08 06:38:15 +0000125 Performance improvements on all platforms.
ricow@chromium.org65fae842010-08-25 15:26:24 +0000126
127
erik.corry@gmail.com145eff52010-08-23 11:36:18 +00001282010-08-23: Version 2.3.10
129
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000130 Fixed bug in bitops on ARM.
erik.corry@gmail.com145eff52010-08-23 11:36:18 +0000131
132 Build fixes for unusual compilers.
133
134 Track high water mark for RWX memory.
135
136 Performance improvements on all platforms.
137
138
ricow@chromium.org0b9f8502010-08-18 07:45:01 +00001392010-08-18: Version 2.3.9
140
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000141 Fixed compilation for ARMv4 on OpenBSD/FreeBSD.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000142
143 Removed specialized handling of GCC 4.4 (issue 830).
144
kmillikin@chromium.org3cdd9e12010-09-06 11:39:48 +0000145 Fixed DST cache to take into account the suspension of DST in
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000146 Egypt during the 2010 Ramadan (issue http://crbug.com/51855).
147
ricow@chromium.org65fae842010-08-25 15:26:24 +0000148 Performance improvements on all platforms.
ricow@chromium.org0b9f8502010-08-18 07:45:01 +0000149
150
ager@chromium.orgea4f62e2010-08-16 16:28:43 +00001512010-08-16: Version 2.3.8
152
153 Fixed build with strict aliasing on GCC 4.4 (issue 463).
154
155 Fixed issue with incorrect handling of custom valueOf methods on
156 string wrappers (issue 760).
157
158 Fixed compilation for ARMv4 (issue 590).
159
160 Improved performance.
161
162
vegorov@chromium.org26c16f82010-08-11 13:41:03 +00001632010-08-11: Version 2.3.7
164
165 Reduced size of heap snapshots produced by heap profiler (issue 783).
166
167 Introduced v8::Value::IsRegExp method.
168
169 Fixed CPU profiler crash in start / stop sequence when non-existent
170 name is passed (issue http://crbug.com/51594).
171
172 Introduced new indexed property query callbacks API (issue 816). This
173 API is guarded by USE_NEW_QUERY_CALLBACK define and is disabled
174 by default.
175
176 Removed support for object literal get/set with number/string
177 property name.
178
179 Fixed handling of JSObject::elements in CalculateNetworkSize
180 (issue 822).
181
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000182 Allowed compiling with strict aliasing enabled on GCC 4.4 (issue 463).
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000183
184
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +00001852010-08-09: Version 2.3.6
186
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000187 RegExp literals create a new object every time they are evaluated
188 (issue 704).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000189
vegorov@chromium.org26c16f82010-08-11 13:41:03 +0000190 Object.seal and Object.freeze return the modified object (issue 809).
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000191
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000192 Fixed building using GCC 4.4.4.
lrn@chromium.orgc4e51ac2010-08-09 09:47:21 +0000193
194
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +00001952010-08-04: Version 2.3.5
196
197 Added support for ES5 property names. Object initialisers and
198 dot-notation property access now allows keywords. Also allowed
199 non-identifiers after "get" or "set" in an object initialiser.
200
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000201 Randomized the addresses of allocated executable memory on Windows.
sgjesse@chromium.orgc3a01972010-08-04 09:46:24 +0000202
203
whesse@chromium.orge90029b2010-08-02 11:52:17 +00002042010-08-02: Version 2.3.4
205
206 Fixed problems in implementation of ES5 function.prototype.bind.
207
208 Fixed error when using apply with arguments object on ARM (issue 784).
209
210 Added setting of global flags to debugger protocol.
211
212 Fixed an error affecting cached results of sin and cos (issue 792).
213
214 Removed memory leak from a boundary case where V8 is not initialized.
215
216 Fixed issue where debugger could set breakpoints outside the body
217 of a function.
218
219 Fixed issue in debugger when using both live edit and step in features.
220
221 Added Number-letter (Nl) category to Unicode tables. These characters
222 can now be used in identifiers.
223
224 Fixed an assert failure on X64 (issue 806).
225
226 Performance improvements on all platforms.
227
228
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +00002292010-07-26: Version 2.3.3
230
231 Fixed error when building the d8 shell in a fresh checkout.
232
233 Implemented Function.prototype.bind (ES5 15.3.4.5).
234
235 Fixed an error in inlined stores on ia32.
236
237 Fixed an error when setting a breakpoint at the end of a function
238 that does not end with a newline character.
239
240 Performance improvements on all platforms.
241
242
fschneider@chromium.orged78ffd2010-07-21 11:05:19 +00002432010-07-21: Version 2.3.2
244
245 Fixed compiler warnings when building with LLVM.
246
247 Fixed a bug with for-in applied to strings (issue 785).
248
249 Performance improvements on all platforms.
250
whesse@chromium.orgba5a61b2010-07-26 11:44:40 +0000251
ricow@chromium.org4980dff2010-07-19 08:33:45 +00002522010-07-19: Version 2.3.1
253
254 Fixed compilation and linking with V8_INTERPRETED_REGEXP flag.
255
256 Fixed bug related to code flushing while compiling a lazy
257 compilable function (issue http://crbug.com/49099).
258
259 Performance improvements on all platforms.
260
261
ager@chromium.orgb5737492010-07-15 09:29:43 +00002622010-07-15: Version 2.3.0
263
264 Added ES5 Object.seal and Object.isSealed.
265
266 Added debugger API for scheduling debugger commands from a
267 separate thread.
268
269
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +00002702010-07-14: Version 2.2.24
271
272 Added API for capturing stack traces for uncaught exceptions.
273
274 Fixed crash bug when preparsing from a non-external V8 string
275 (issue 775).
276
277 Fixed JSON.parse bug causing input not to be converted to string
278 (issue 764).
279
280 Added ES5 Object.freeze and Object.isFrozen.
281
282 Performance improvements on all platforms.
283
284
erik.corry@gmail.com4a2e25e2010-07-07 12:22:46 +00002852010-07-07: Version 2.2.23
286
287 API change: Convert Unicode code points outside the basic multilingual
288 plane to the replacement character. Previous behavior was to silently
289 truncate the value to 16 bits.
290
291 Fixed crash: handle all flat string types in regexp replace.
292
293 Prevent invalid pre-parsing data passed in through the API from
294 crashing V8.
295
296 Performance improvements on all platforms.
297
ager@chromium.org6a2b0aa2010-07-13 20:58:03 +0000298
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +00002992010-07-05: Version 2.2.22
300
301 Added ES5 Object.isExtensible and Object.preventExtensions.
302
303 Enabled building V8 as a DLL.
304
305 Fixed a bug in date code where -0 was not interpreted as 0
306 (issue 736).
307
308 Performance improvements on all platforms.
309
310
lrn@chromium.org32d961d2010-06-30 09:09:34 +00003112010-06-30: Version 2.2.21
312
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000313 Fixed bug in externalizing some ASCII strings (Chromium issue 47824).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000314
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000315 Updated JSON.stringify to floor the space parameter (issue 753).
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000316
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000317 Updated the Mozilla test expectations to the newest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000318
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000319 Updated the ES5 Conformance Test expectations to the latest version.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000320
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000321 Updated the V8 benchmark suite.
lrn@chromium.org32d961d2010-06-30 09:09:34 +0000322
323 Provide actual breakpoints locations in response to setBreakpoint
324 and listBreakpoints requests.
325
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000326
fschneider@chromium.org40b9da32010-06-28 11:29:21 +00003272010-06-28: Version 2.2.20
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000328
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000329 Fixed bug with for-in on x64 platform (issue 748).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000330
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000331 Fixed crash bug on x64 platform (issue 756).
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000332
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000333 Fixed bug in Object.getOwnPropertyNames. (chromium issue 41243).
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000334
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000335 Fixed a bug on ARM that caused the result of 1 << x to be
fschneider@chromium.org40b9da32010-06-28 11:29:21 +0000336 miscalculated for some inputs.
337
338 Performance improvements on all platforms.
339
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000340
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +00003412010-06-23: Version 2.2.19
342
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000343 Fixed bug that causes the build to break when profillingsupport=off
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000344 (issue 738).
345
346 Added expose-externalize-string flag for testing extensions.
347
348 Resolve linker issues with using V8 as a DLL causing a number of
349 problems with unresolved symbols.
350
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000351 Fixed build failure for cctests when ENABLE_DEBUGGER_SUPPORT is not
ricow@chromium.org5ad5ace2010-06-23 09:06:43 +0000352 defined.
353
354 Performance improvements on all platforms.
355
356
whesse@chromium.org2c186ca2010-06-16 11:32:39 +00003572010-06-16: Version 2.2.18
358
359 Added API functions to retrieve information on indexed properties
360 managed by the embedding layer. Fixes bug 737.
361
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000362 Made ES5 Object.defineProperty support array elements. Fixes bug 619.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000363
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000364 Added heap profiling to the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000365
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000366 Removed old named property query from the API.
whesse@chromium.org2c186ca2010-06-16 11:32:39 +0000367
368 Incremental performance improvements.
369
370
ager@chromium.org2cc82ae2010-06-14 07:35:38 +00003712010-06-14: Version 2.2.17
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000372
ager@chromium.org2cc82ae2010-06-14 07:35:38 +0000373 Improved debugger support for stepping out of functions.
374
375 Incremental performance improvements.
376
377
3782010-06-09: Version 2.2.16
379
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000380 Removed the SetExternalStringDiposeCallback API. Changed the
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000381 disposal of external string resources to call a virtual Dispose
382 method on the resource.
383
kmillikin@chromium.org69ea3962010-07-05 11:01:40 +0000384 Added support for more precise break points when debugging and
vegorov@chromium.org2356e6f2010-06-09 09:38:56 +0000385 stepping.
386
387 Memory usage improvements on all platforms.
388
389
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +00003902010-06-07: Version 2.2.15
391
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000392 Added an API to control the disposal of external string resources.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000393
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000394 Added missing initialization of a couple of variables which makes
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000395 some compilers complaint when compiling with -Werror.
396
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000397 Improved performance on all platforms.
lrn@chromium.org1af7e1b2010-06-07 11:12:01 +0000398
399
sgjesse@chromium.org82dbbab2010-06-02 08:57:44 +00004002010-06-02: Version 2.2.14
401
402 Fixed a crash in code generated for String.charCodeAt.
403
404 Fixed a compilation issue with some GCC versions (issue 727).
405
406 Performance optimizations on x64 and ARM platforms.
407
408
ricow@chromium.org30ce4112010-05-31 10:38:25 +00004092010-05-31: Version 2.2.13
410
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000411 Implemented Object.getOwnPropertyDescriptor for element indices and
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000412 strings (issue 599).
413
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000414 Fixed bug for windows 64 bit C calls from generated code.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000415
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000416 Added new scons flag unalignedaccesses for arm builds.
ricow@chromium.org30ce4112010-05-31 10:38:25 +0000417
418 Performance improvements on all platforms.
419
420
kmillikin@chromium.org9155e252010-05-26 13:27:57 +00004212010-05-26: Version 2.2.12
422
423 Allowed accessors to be defined on objects rather than just object
424 templates.
425
426 Changed the ScriptData API.
427
428
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +00004292010-05-21: Version 2.2.11
430
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000431 Fixed crash bug in liveedit on 64 bit.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000432
433 Use 'full compiler' when debugging is active. This should increase
434 the density of possible break points, making single step more fine
435 grained. This will only take effect for functions compiled after
436 debugging has been started, so recompilation of all functions is
437 required to get the full effect. IA32 and x64 only for now.
438
439 Misc. fixes to the Solaris build.
440
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000441 Added new flags --print-cumulative-gc-stat and --trace-gc-nvp.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000442
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000443 Added filtering of CPU profiles by security context.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000444
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000445 Fixed crash bug on ARM when running without VFP2 or VFP3.
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000446
447 Incremental performance improvements in all backends.
448
449
vegorov@chromium.orgdff694e2010-05-17 09:10:26 +00004502010-05-17: Version 2.2.10
451
452 Performance improvements in the x64 and ARM backends.
453
454
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +00004552010-05-10: Version 2.2.9
456
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000457 Allowed Object.create to be called with a function (issue 697).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000458
459 Fixed bug with Date.parse returning a non-NaN value when called on a
460 non date string (issue 696).
461
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000462 Allowed unaligned memory accesses on ARM targets that support it (by
erik.corry@gmail.com9dfbea42010-05-21 12:58:28 +0000463 Subrato K De of CodeAurora <subratokde@codeaurora.org>).
sgjesse@chromium.org720dc0b2010-05-10 09:25:39 +0000464
465 C++ API for retrieving JavaScript stack trace information.
466
467
ager@chromium.orgac091b72010-05-05 07:34:42 +00004682010-05-05: Version 2.2.8
469
470 Performance improvements in the x64 and ARM backends.
471
472
kmillikin@chromium.org4111b802010-05-03 10:34:42 +00004732010-05-03: Version 2.2.7
474
475 Added support for ES5 date time string format to Date.parse.
476
477 Performance improvements in the x64 backend.
478
479
lrn@chromium.orgc34f5802010-04-28 12:53:43 +00004802010-04-28: Version 2.2.6
481
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000482 Added "amd64" as recognized architecture in scons build script
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000483 (by Ryan Dahl <coldredlemur@gmail.com>).
484
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000485 Fixed bug in String search and replace with very simple RegExps.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000486
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000487 Fixed bug in RegExp containing "\b^".
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000488
489 Performance improvements on all platforms.
490
kmillikin@chromium.org4111b802010-05-03 10:34:42 +0000491
fschneider@chromium.org013f3e12010-04-26 13:27:52 +00004922010-04-26: Version 2.2.5
493
494 Various performance improvements (especially for ARM and x64)
495
496 Fixed bug in CPU profiling (http://crbug.com/42137)
497
498 Fixed a bug with the natives cache.
lrn@chromium.orgc34f5802010-04-28 12:53:43 +0000499
500 Fixed two bugs in the ARM code generator that can cause
fschneider@chromium.org013f3e12010-04-26 13:27:52 +0000501 wrong calculations.
502
503 Fixed a bug that may cause a wrong result for shift operations.
504
505
5062010-04-21: Version 2.2.4
ricow@chromium.orgc9c80822010-04-21 08:22:37 +0000507
508 Fixed warnings on arm on newer GCC versions.
509
510 Fixed a number of minor bugs.
511
512 Performance improvements on all platforms.
513
514
whesse@chromium.orgb6e43bb2010-04-14 09:36:28 +00005152010-04-14: Version 2.2.3
516
517 Added stack command and mem command to ARM simulator debugger.
518
519 Fixed scons snapshot and ARM build, and Windows X64 build issues.
520
521 Performance improvements on all platforms.
522
523
ager@chromium.org357bf652010-04-12 11:30:10 +00005242010-04-12: Version 2.2.2
525
526 Introduced new profiler API.
527
528 Fixed random number generator to produce full 32 random bits.
529
530
lrn@chromium.org25156de2010-04-06 13:10:27 +00005312010-04-06: Version 2.2.1
532
533 Debugger improvements.
534
535 Fixed minor bugs.
536
537
ricow@chromium.orgaa1b6162010-03-29 07:44:58 +00005382010-03-29: Version 2.2.0
539
540 Fixed a few minor bugs.
541
542 Performance improvements for string operations.
543
544
ager@chromium.orgb26c50a2010-03-26 09:27:16 +00005452010-03-26: Version 2.1.10
546
547 Fixed scons build issues.
548
549 Fixed a couple of minor bugs.
550
551
sgjesse@chromium.orgdf7a2842010-03-25 14:34:15 +00005522010-03-25: Version 2.1.9
553
554 Added API support for reattaching a global object to a context.
555
556 Extended debugger API with access to the internal debugger context.
557
558 Fixed Chromium crashes (issues http://crbug.com/39128 and
559 http://crbug.com/39160)
560
561
kmillikin@chromium.org5d8f0e62010-03-24 08:21:20 +00005622010-03-24: Version 2.1.8
563
564 Added fine-grained garbage collection callbacks to the API.
565
566 Performance improvements on all platforms.
567
568
whesse@chromium.orgcec079d2010-03-22 14:44:04 +00005692010-03-22: Version 2.1.7
570
571 Fixed issue 650.
572
573 Fixed a bug where __proto__ was sometimes enumerated (issue 646).
fschneider@chromium.org086aac62010-03-17 13:18:24 +0000574
575 Performance improvements for arithmetic operations.
576
577 Performance improvements for string operations.
578
whesse@chromium.orgcec079d2010-03-22 14:44:04 +0000579 Print script name and line number information in stack trace.
580
581
5822010-03-17: Version 2.1.6
583
584 Performance improvements for arithmetic operations.
585
586 Performance improvements for string operations.
587
588
vegorov@chromium.orgf8372902010-03-15 10:26:20 +00005892010-03-10: Version 2.1.4
590
591 Fixed code cache lookup for keyed IC's (issue http://crbug.com/37853).
592
593 Performance improvements on all platforms.
594
595
ager@chromium.orgce5e87b2010-03-10 10:24:18 +00005962010-03-10: Version 2.1.3
597
598 Added API method for context-disposal notifications.
599
600 Added API method for accessing elements by integer index.
601
602 Added missing implementation of Uint32::Value and Value::IsUint32
603 API methods.
604
605 Added IsExecutionTerminating API method.
606
607 Disabled strict aliasing for GCC 4.4.
608
609 Fixed string-concatenation bug (issue 636).
610
611 Performance improvements on all platforms.
612
613
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +00006142010-02-23: Version 2.1.2
615
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000616 Fixed a crash bug caused by wrong assert.
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000617
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000618 Fixed a bug with register names on 64-bit V8 (issue 615).
fschneider@chromium.orgb95b98b2010-02-23 10:34:29 +0000619
620 Performance improvements on all platforms.
621
ager@chromium.orgce5e87b2010-03-10 10:24:18 +0000622
ager@chromium.org5c838252010-02-19 08:53:10 +00006232010-02-19: Version 2.1.1
624
625 [ES5] Implemented Object.defineProperty.
626
627 Improved profiler support.
628
629 Added SetPrototype method in the public V8 API.
630
631 Added GetScriptOrigin and GetScriptLineNumber methods to Function
632 objects in the API.
633
634 Performance improvements on all platforms.
635
636
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +00006372010-02-03: Version 2.1.0
638
639 Values are now always wrapped in objects when used as a receiver.
640 (issue 223).
641
642 [ES5] Implemented Object.getOwnPropertyNames.
643
644 [ES5] Restrict JSON.parse to only accept strings that conforms to the
645 JSON grammar.
646
647 Improvement of debugger agent (issue 549 and 554).
648
649 Fixed problem with skipped stack frame in profiles (issue 553).
650
651 Solaris support by Erich Ocean <erich.ocean@me.com> and Ryan Dahl
652 <ry@tinyclouds.org>.
653
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000654 Fixed a bug that Math.round() returns incorrect results for huge
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000655 integers.
656
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000657 Fixed enumeration order for objects created from some constructor
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000658 functions (isue http://crbug.com/3867).
659
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000660 Fixed arithmetic on some integer constants (issue 580).
sgjesse@chromium.orgb302e562010-02-03 11:26:59 +0000661
662 Numerous performance improvements including porting of previous IA-32
663 optimizations to x64 and ARM architectures.
664
665
fschneider@chromium.org0c20e672010-01-14 15:28:53 +00006662010-01-14: Version 2.0.6
667
668 Added ES5 Object.getPrototypeOf, GetOwnPropertyDescriptor,
669 GetOwnProperty, FromPropertyDescriptor.
670
671 Fixed Mac x64 build errors.
672
673 Improved performance of some math and string operations.
674
675 Improved performance of some regexp operations.
676
677 Improved performance of context creation.
678
679 Improved performance of hash tables.
680
681
sgjesse@chromium.org846fb742009-12-18 08:56:33 +00006822009-12-18: Version 2.0.5
683
684 Extended to upper limit of map space to allow for 7 times as many map
685 to be allocated (issue 524).
686
687 Improved performance of code using closures.
688
689 Improved performance of some binary operations involving doubles.
690
691
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00006922009-12-16: Version 2.0.4
693
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000694 Added ECMAScript 5 Object.create.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000695
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000696 Improved performance of Math.max and Math.min.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000697
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000698 Optimized adding of strings on 64-bit platforms.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000699
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000700 Improved handling of external strings by using a separate table
701 instead of weak handles. This improves garbage collection
702 performance and uses less memory.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000703
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000704 Changed code generation for object and array literals in toplevel
705 code to be more compact by doing more work in the runtime.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000706
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000707 Fixed a crash bug triggered when garbage collection happened during
708 generation of a callback load inline cache stub.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000709
sgjesse@chromium.org846fb742009-12-18 08:56:33 +0000710 Fixed crash bug sometimes triggered when local variables shadowed
711 parameters in functions that used the arguments object.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000712
713
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +00007142009-12-03: Version 2.0.3
715
716 Optimized handling and adding of strings, for-in and Array.join.
717
718 Heap serialization is now non-destructive.
719
720 Improved profiler support with information on time spend in C++
721 callbacks registered through the API.
722
723 Added commands to the debugger protocol for starting/stopping
724 profiling.
725
726 Enabled the non-optimizing compiler for top-level code.
727
728 Changed the API to only allow strings to be set as data objects on
729 Contexts and scripts to avoid potentially keeping global objects
730 around for too long (issue 528).
731
732 OpenBSD support patch by Peter Valchev <pvalchev@gmail.com>.
733
734 Fixed bugs.
735
736
ager@chromium.org01beca72009-11-24 14:29:16 +00007372009-11-24: Version 2.0.2
738
739 Improved profiler support.
740
741 Fixed bug that broke compilation of d8 with readline support.
742
743
ager@chromium.org6141cbe2009-11-20 12:14:52 +00007442009-11-20: Version 2.0.1
745
746 Fixed crash bug in String.prototype.replace.
747
748 Reverted a change which caused Chromium interactive ui test
749 failures.
750
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000751
ager@chromium.orgc4c92722009-11-18 14:12:51 +00007522009-11-18: Version 2.0.0
753
754 Added support for VFP on ARM.
755
756 Added TryCatch::ReThrow method to the API.
757
758 Reduced the size of snapshots and improved the snapshot load time.
759
760 Improved heap profiler support.
761
762 64-bit version now supported on Windows.
763
764 Fixed a number of debugger issues.
765
766 Fixed bugs.
767
768
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +00007692009-10-29: Version 1.3.18
770
771 Reverted a change which caused crashes in RegExp replace.
772
sgjesse@chromium.orgac6aa172009-12-04 12:29:05 +0000773 Reverted a change which caused Chromium ui_tests failure.
sgjesse@chromium.orgf1e73132009-10-29 14:46:49 +0000774
775
ager@chromium.org3811b432009-10-28 14:53:37 +00007762009-10-28: Version 1.3.17
777
778 Added API method to get simple heap statistics.
779
780 Improved heap profiler support.
781
782 Fixed the implementation of the resource constraint API so it
783 works when using snapshots.
784
785 Fixed a number of issues in the Windows 64-bit version.
786
787 Optimized calls to API getters.
788
789 Added valgrind notification on code modification to the 64-bit version.
790
791 Fixed issue where we logged shared library addresses on Windows at
792 startup and never used them.
793
794
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +00007952009-10-16: Version 1.3.16
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000796
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000797 X64: Convert smis to holding 32 bits of payload.
798
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000799 Introduced v8::Integer::NewFromUnsigned method.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000800
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000801 Added missing null check in Context::GetCurrent.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000802
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000803 Added trim, trimLeft and trimRight methods to String
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000804 Patch by Jan de Mooij <jandemooij@gmail.com>
805
806 Implement ES5 Array.isArray
807 Patch by Jan de Mooij <jandemooij@gmail.com>
808
809 Skip access checks for hidden properties.
810
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000811 Added String::Concat(Handle<String> left, Handle<String> right) to the
812 V8 API.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000813
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000814 Fixed GYP-based builds of V8.
christian.plesner.hansen@gmail.com9d58c2b2009-10-16 11:48:38 +0000815
816
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +00008172009-10-07: Version 1.3.15
818
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000819 Expanded the maximum size of the code space to 512MB for 64-bit mode.
sgjesse@chromium.org152a0b02009-10-07 13:50:16 +0000820
821 Fixed a crash bug happening when starting profiling (issue
822 http://crbug.com/23768).
823
824
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +00008252009-10-07: Version 1.3.14
826
827 Added GetRealNamedProperty to the API to lookup real properties
828 located on the object or in the prototype chain skipping any
829 interceptors.
830
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000831 Fixed the stack limits setting API to work correctly with threads. The
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000832 stack limit now needs to be set to each thread thich is used with V8.
833
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000834 Removed the high-priority flag from IdleNotification()
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000835
836 Ensure V8 is initialized before locking and unlocking threads.
837
838 Implemented a new JavaScript minifier for compressing the source of
ager@chromium.org3811b432009-10-28 14:53:37 +0000839 the built-in JavaScript. This removes non-Open Source code from Douglas
sgjesse@chromium.orgc5145742009-10-07 09:00:33 +0000840 Crockford from the project.
841
842 Added a missing optimization in StringCharAt.
843
844 Fixed some flaky socket tests.
845
846 Change by Alexander Botero-Lowry to fix profiler sampling on FreeBSD
847 in 64-bit mode.
848
849 Fixed memory leaks in the thread management code.
850
851 Fixed the result of assignment to a pixel array. The assigned value
852 is now the result.
853
854 Error reporting for invalid left-hand sides in for-in statements, pre-
855 and postfix count expressions, and assignments now matches the JSC
856 behavior in Safari 4.
857
858 Follow the spec in disallowing function declarations without a name.
859
860 Always allocate code objects within a 2 GB range. On x64 architecture
861 this is used to use near calls (32-bit displacement) in Code objects.
862
863 Optimized array construction ported to x64 and ARM architectures.
864
865 [ES5] Changed Object.keys to return strings for element indices.
866
867
ager@chromium.org68e7ab72009-09-23 09:40:39 +00008682009-09-23: Version 1.3.13
869
870 Fixed uninitialized memory problem.
871
872 Improved heap profiler support.
873
874
christian.plesner.hansen@gmail.com2bc58ef2009-09-22 10:00:30 +00008752009-09-22: Version 1.3.12
876
877 Changed behavior of |function|.toString() on built-in functions to
878 be compatible with other implementations. Patch by Jan de Mooij.
879
880 Added Object::IsDirty in the API.
881
882 Optimized array construction; it is now handled purely in native
883 code.
884
885 [ES5] Made properties of the arguments array enumerable.
886
887 [ES5] Added test suite adapter for the es5conform test suite.
888
889 [ES5] Added Object.keys function.
890
ager@chromium.org68e7ab72009-09-23 09:40:39 +0000891
ager@chromium.org4af710e2009-09-15 12:20:11 +00008922009-09-15: Version 1.3.11
893
894 Fixed crash in error reporting during bootstrapping.
895
896 Optimized generated IA32 math code by using SSE2 instructions when
897 available.
898
899 Implemented missing pieces of debugger infrastructure on ARM. The
900 debugger is now fully functional on ARM.
901
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000902 Made 'hidden' the default visibility for gcc.
ager@chromium.org4af710e2009-09-15 12:20:11 +0000903
904
ager@chromium.orga1645e22009-09-09 19:27:10 +00009052009-09-09: Version 1.3.10
906
907 Fixed profiler on Mac in 64-bit mode.
908
909 Optimized creation of objects from simple constructor functions on
910 ARM.
911
912 Fixed a number of debugger issues.
913
914 Reduced the amount of memory consumed by V8.
915
916
ager@chromium.org18ad94b2009-09-02 08:22:29 +00009172009-09-02: Version 1.3.9
918
919 Optimized stack guard checks on ARM.
920
921 Optimized API operations by inlining more in the API.
922
923 Optimized creation of objects from simple constructor functions.
924
925 Enabled a number of missing optimizations in the 64-bit port.
926
927 Implemented native-code support for regular expressions on ARM.
928
929 Stopped using the 'sahf' instruction on 64-bit machines that do
930 not support it.
931
932 Fixed a bug in the support for forceful termination of JavaScript
933 execution.
934
935
ager@chromium.org96c75b52009-08-26 09:13:16 +00009362009-08-26: Version 1.3.8
937
938 Changed the handling of idle notifications to allow idle
939 notifications when V8 has not yet been initialized.
940
941 Fixed ARM simulator compilation problem on Windows.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +0000942
ager@chromium.org96c75b52009-08-26 09:13:16 +0000943
ager@chromium.orgab99eea2009-08-25 07:05:41 +00009442009-08-25: Version 1.3.7
945
946 Reduced the size of generated code on ARM platforms by reducing
947 the size of constant pools.
948
949 Changed build files to not include the 'ENV' user environment
950 variable in the build environment.
951
952 Changed the handling of idle notifications.
953
954
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +00009552009-08-21: Version 1.3.6
956
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000957 Added support for forceful termination of JavaScript execution.
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +0000958
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000959 Added low memory notification to the API. The embedding host can signal
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +0000960 a low memory situation to V8.
961
962 Changed the handling of global handles (persistent handles in the API
963 sense) to avoid issues regarding allocation of new global handles
964 during weak handle callbacks.
965
966 Changed the growth policy of the young space.
967
968 Fixed a GC issue introduced in version 1.3.5.
969
970
sgjesse@chromium.org911335c2009-08-19 12:59:44 +00009712009-08-19: Version 1.3.5
972
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000973 Optimized initialization of some arrays in the builtins.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +0000974
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000975 Fixed mac-nm script to support filenames with spaces.
sgjesse@chromium.org911335c2009-08-19 12:59:44 +0000976
977 Support for using the V8 profiler when V8 is embedded in a Windows DLL.
978
979 Changed typeof RegExp from 'object' to 'function' for compatibility.
980 Fixed bug where regexps were not callable across contexts.
981
982 Added context independent script compilation to the API.
983
984 Added API call to get the stack trace for an exception.
985
986 Added API for getting object mirrors.
987
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +0000988 Made sure that SSE3 instructions are used whenever possible even when
sgjesse@chromium.org911335c2009-08-19 12:59:44 +0000989 running off a snapshot generated without using SSE3 instructions.
990
991 Tweaked the handling of the initial size and growth policy of the heap.
992
993 Added native code generation for RegExp to 64-bit version.
994
995 Added JavaScript debugger support to 64-bit version.
996
997
ager@chromium.orgadd848f2009-08-13 12:44:13 +00009982009-08-13: Version 1.3.4
999
1000 Added a readline() command to the d8 shell.
1001
1002 Fixed bug in json parsing.
1003
1004 Added idle notification to the API and reduced memory on idle
1005 notifications.
1006
1007
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +000010082009-08-12: Version 1.3.3
1009
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001010 Fixed issue 417: incorrect %t placeholder expansion.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001011
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001012 Added .gitignore file similar to Chromium's one.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001013
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001014 Fixed SConstruct file to build with new logging code for Android.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001015
1016 API: added function to find instance of template in prototype
1017 chain. Inlined Object::IsInstanceOf.
1018
1019 Land change to notify valgrind when we modify code on x86.
1020
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001021 Added api call to determine whether a string can be externalized.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001022
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001023 Added a write() command to d8.
christian.plesner.hansen@gmail.com5a6af922009-08-12 14:20:51 +00001024
1025
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +000010262009-08-05: Version 1.3.2
1027
1028 Started new compiler infrastructure for two-pass compilation using a
1029 control flow graph constructed from the AST.
1030
1031 Profiler stack sampling for X64.
1032
1033 Safe handling of NaN to Posix platform-dependent time functions.
1034
1035 Added a new profiler control API to unify controlling various aspects
1036 of profiling.
1037
1038 Fixed issue 392.
1039
1040
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +000010412009-07-30: Version 1.3.1
1042
1043 Speed improvements to accessors and interceptors.
1044
1045 Added support for capturing stack information on custom errors.
1046
1047 Added support for morphing an object into a pixel array where its
1048 indexed properties are stored in an external byte array. Values written
1049 are always clamped to the 0..255 interval.
1050
1051 Profiler on x64 now handles C/C++ functions from shared libraries.
1052
1053 Changed the debugger to avoid stepping into function.call/apply if the
1054 function is a built-in.
1055
1056 Initial implementation of constructor heap profile for JS objects.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001057
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001058 More fine grained control of profiling aspects through the API.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001059
sgjesse@chromium.org0b6db592009-07-30 14:48:31 +00001060 Optimized the called as constructor check for API calls.
1061
1062
kasperl@chromium.orge959c182009-07-27 08:59:04 +000010632009-07-27: Version 1.3.0
1064
1065 Allowed RegExp objects to be called as functions (issue 132).
1066
1067 Fixed issue where global property cells would escape after
1068 detaching the global object; see http://crbug.com/16276.
1069
1070 Added support for stepping into setters and getters in the
1071 debugger.
1072
1073 Changed the debugger to avoid stopping in its own JavaScript code
1074 and in the code of built-in functions.
1075
1076 Fixed issue 345 by avoiding duplicate escaping labels.
1077
1078 Fixed ARM code generator crash in short-circuited boolean
1079 expressions and added regression tests.
1080
1081 Added an external allocation limit to avoid issues where small V8
1082 objects would hold on to large amounts of external memory without
1083 causing garbage collections.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001084
1085 Finished more of the inline caching stubs for x64 targets.
kasperl@chromium.orge959c182009-07-27 08:59:04 +00001086
1087
kasperl@chromium.orgdefbd102009-07-13 14:04:26 +000010882009-07-13: Version 1.2.14
1089
1090 Added separate paged heap space for global property cells and
1091 avoid updating the write barrier when storing into them.
1092
1093 Improved peep-hole optimization on ARM platforms by not emitting
1094 unnecessary debug information.
1095
1096 Re-enabled ICs for loads and calls that skip a global object
1097 during lookup through the prototype chain.
1098
1099 Allowed access through global proxies to use ICs.
1100
1101 Fixed issue 401.
1102
1103
kasperl@chromium.org68ac0092009-07-09 06:00:35 +000011042009-07-09: Version 1.2.13
1105
1106 Fixed issue 397, issue 398, and issue 399.
1107
1108 Added support for breakpoint groups.
1109
1110 Fixed bugs introduced with the new global object representation.
1111
1112 Fixed a few bugs in the ARM code generator.
1113
1114
kasperl@chromium.org86f77b72009-07-06 08:21:57 +000011152009-07-06: Version 1.2.12
1116
1117 Added stack traces collection to Error objects accessible through
1118 the e.stack property.
1119
1120 Changed RegExp parser to use a recursive data structure instead of
1121 stack-based recursion.
1122
1123 Optimized Date object construction and string concatenation.
1124
1125 Improved performance of div, mod, and mul on ARM platforms.
1126
1127
kasperl@chromium.org2abc4502009-07-02 07:00:29 +000011282009-07-02: Version 1.2.11
1129
1130 Improved performance on IA-32 and ARM.
1131
1132 Fixed profiler sampler implementation on Mac OS X.
1133
1134 Changed the representation of global objects to improve
1135 performance of adding a lot of new properties.
1136
1137
ager@chromium.org3e875802009-06-29 08:26:34 +000011382009-06-29: Version 1.2.10
1139
1140 Improved debugger support.
1141
1142 Fixed bug in exception message reporting (issue 390).
1143
1144 Improved overall performance.
1145
1146
ager@chromium.org5aa501c2009-06-23 07:57:28 +000011472009-06-23: Version 1.2.9
1148
1149 Improved math performance on ARM.
1150
1151 Fixed profiler name-inference bug.
1152
1153 Fixed handling of shared libraries in the profiler tick processor
1154 scripts.
1155
1156 Fixed handling of tests that time out in the test scripts.
1157
1158 Fixed compilation on MacOS X version 10.4.
1159
1160 Fixed two bugs in the regular expression engine.
1161
1162 Fixed a bug in the string type inference.
1163
1164 Fixed a bug in the handling of 'constant function' properties.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001165
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001166 Improved overall performance.
kmillikin@chromium.org13bd2942009-12-16 15:36:05 +00001167
ager@chromium.org5aa501c2009-06-23 07:57:28 +00001168
ager@chromium.orgeadaf222009-06-16 09:43:10 +000011692009-06-16: Version 1.2.8
1170
1171 Optimized math on ARM platforms.
1172
1173 Fixed two crash bugs in the handling of getters and setters.
1174
1175 Improved the debugger support by adding scope chain information.
1176
1177 Improved the profiler support by compressing log data transmitted
1178 to clients.
1179
1180 Improved overall performance.
1181
1182
ager@chromium.orge2902be2009-06-08 12:21:35 +000011832009-06-08: Version 1.2.7
1184
1185 Improved debugger and profiler support.
1186
1187 Reduced compilation time by improving the handling of deferred
1188 code.
1189
1190 Optimized interceptor accesses where the property is on the object
1191 on which the interceptors is attached.
1192
1193 Fixed compilation problem on GCC 4.4 by changing the stack
1194 alignment to 16 bytes.
1195
1196 Fixed handle creation to follow stric aliasing rules.
1197
1198 Fixed compilation on FreeBSD.
1199
1200 Introduced API for forcing the deletion of a property ignoring
1201 interceptors and attributes.
1202
1203
sgjesse@chromium.org755c5b12009-05-29 11:04:38 +000012042009-05-29: Version 1.2.6
1205
1206 Added a histogram recording hit rates at different levels of the
1207 compilation cache.
1208
1209 Added stack overflow check for the RegExp analysis phase. Previously a
1210 very long regexp graph could overflow the stack with recursive calls.
1211
1212 Use a dynamic buffer when collecting log events in memory.
1213
1214 Added start/stop events to the profiler log.
1215
1216 Fixed infinite loop which could happen when setting a debug break while
1217 executing a RegExp compiled to native code.
1218
1219 Fixed handling of lastIndexOf called with negative index (issue 351).
1220
1221 Fixed irregular crash in profiler test (issue 358).
1222
1223 Fixed compilation issues with some versions of gcc.
1224
1225
kasperl@chromium.org71affb52009-05-26 05:44:31 +000012262009-05-26: Version 1.2.5
1227
1228 Fixed bug in initial boundary check for Boyer-Moore text
1229 search (issue 349).
1230
1231 Fixed compilation issues with MinGW and gcc 4.3+ and added support
1232 for armv7 and cortex-a8 architectures. Patches by Lei Zhang and
1233 Craig Schlenter.
1234
1235 Added a script cache to the debugger.
1236
1237 Optimized compilation performance by improving internal data
1238 structures and avoiding expensive property load optimizations for
1239 code that's infrequently executed.
1240
1241 Exposed the calling JavaScript context through the static API
1242 function Context::GetCalling().
1243
1244
kasperl@chromium.orgb3284ad2009-05-18 06:12:45 +000012452009-05-18: Version 1.2.4
1246
1247 Improved performance of floating point number allocation for ARM
1248 platforms.
1249
1250 Fixed crash when using the instanceof operator on functions with
1251 number values in their prototype chain (issue 341).
1252
1253 Optimized virtual frame operations in the code generator to speed
1254 up compilation time and allocated the frames in the zone.
1255
1256 Made the representation of virtual frames and jump targets in the
1257 code generator much more compact.
1258
1259 Avoided linear search for non-locals in scope code when resolving
1260 variables inside with and eval scopes.
1261
1262 Optimized lexical scanner by dealing with whitespace as part of
1263 the token scanning instead of as a separate step before it.
1264
1265 Changed the scavenging collector so that promoted objects do not
1266 reside in the old generation while their remembered set is being
1267 swept for pointers into the young generation.
1268
1269 Fixed numeric overflow handling when compiling count operations.
1270
1271
ager@chromium.org9085a012009-05-11 19:22:57 +000012722009-05-11: Version 1.2.3
1273
1274 Fixed bug in reporting of out-of-memory situations.
1275
1276 Introduced hidden prototypes on certain builtin prototype objects
1277 such as String.prototype to emulate JSC's behavior of restoring
1278 the original function when deleting functions from those prototype
1279 objects.
1280
1281 Fixed crash bug in the register allocator.
1282
1283
ager@chromium.org5ec48922009-05-05 07:25:34 +000012842009-05-04: Version 1.2.2
1285
1286 Fixed bug in array sorting for sparse arrays (issue 326).
1287
1288 Added support for adding a soname when building a shared library
1289 on Linux (issue 151).
1290
1291 Fixed bug caused by morphing internal ASCII strings to external
1292 two-byte strings. Slices over ASCII strings have to forward ASCII
1293 checks to the underlying buffer string.
1294
1295 Allowed API call-as-function handlers to be called as
1296 constructors.
1297
1298 Fixed a crash bug where an external string was disposed but a
1299 slice of the external string survived as a symbol.
1300
1301
ager@chromium.org3a37e9b2009-04-27 09:26:21 +000013022009-04-27: Version 1.2.1
1303
1304 Added EcmaScript 5 JSON object.
1305
fschneider@chromium.orgc20610a2010-09-22 09:44:58 +00001306 Fixed bug in preemption support on ARM.
ager@chromium.org3a37e9b2009-04-27 09:26:21 +00001307
1308
ager@chromium.org65dad4b2009-04-23 08:48:43 +000013092009-04-23: Version 1.2.0
1310
1311 Optimized floating-point operations on ARM.
1312
1313 Added a number of extensions to the debugger API.
1314
1315 Changed the enumeration order for unsigned integer keys to always
1316 be numerical order.
1317
1318 Added a "read" extension to the shell sample.
1319
1320 Added support for Array.prototype.reduce and
1321 Array.prototype.reduceRight.
1322
1323 Added an option to the SCons build to control Microsoft Visual C++
1324 link-time code generation.
1325
1326 Fixed a number of bugs (in particular issue 315, issue 316,
1327 issue 317 and issue 318).
1328
1329
kasperl@chromium.org2d18d102009-04-15 13:27:32 +000013302009-04-15: Version 1.1.10
1331
1332 Fixed crash bug that occurred when loading a const variable in the
1333 presence of eval.
1334
1335 Allowed using with and eval in registered extensions in debug mode
1336 by fixing bogus assert.
1337
1338 Fixed the source position for function returns to enable the
1339 debugger to break there.
1340
1341
kasperl@chromium.orgd1e3e722009-04-14 13:38:25 +000013422009-04-14: Version 1.1.9
1343
1344 Made the stack traversal code in the profiler robust by avoiding
1345 to look into the heap.
1346
1347 Added name inferencing for anonymous functions to facilitate
1348 debugging and profiling.
1349
1350 Re-enabled stats timers in the developer shell (d8).
1351
1352 Fixed issue 303 by avoiding to shortcut cons-symbols.
1353
1354
kasperl@chromium.orgacae3782009-04-11 09:17:08 +000013552009-04-11: Version 1.1.8
1356
1357 Changed test-debug/ThreadedDebugging to be non-flaky (issue 96).
1358
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001359 Fixed step-in handling for Function.prototype.apply and call in
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001360 the debugger (issue 269).
1361
1362 Fixed v8::Object::DeleteHiddenValue to not bail out when there
1363 are no hidden properties.
1364
ager@chromium.org65dad4b2009-04-23 08:48:43 +00001365 Added workaround for crash bug, where external symbol table
kasperl@chromium.orgacae3782009-04-11 09:17:08 +00001366 entries with deleted resources would lead to NPEs when looking
1367 up in the symbol table.
1368
1369
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +000013702009-04-07: Version 1.1.7
1371
1372 Added support for easily importing additional environment
1373 variables into the SCons build.
1374
1375 Optimized strict equality checks.
1376
1377 Fixed crash in indexed setters on objects without a corresponding
1378 getter (issue 298).
1379
1380 Re-enabled script compilation cache.
1381
1382
ager@chromium.org8682a592009-04-01 10:47:14 +000013832009-04-01: Version 1.1.6
1384
1385 Reverted an unsafe code generator change.
1386
1387
ager@chromium.org71daaf62009-04-01 07:22:49 +000013882009-04-01: Version 1.1.5
1389
1390 Fixed bug that caused function literals to not be optimized as
1391 much as other functions.
1392
1393 Improved profiler support.
1394
1395 Fixed a crash bug in connection with debugger unloading.
1396
1397 Fixed a crash bug in the code generator caused by losing the
1398 information that a frame element was copied.
1399
1400 Fixed an exception propagation bug that could cause non-null
1401 return values when exceptions were thrown.
1402
1403
ager@chromium.org41826e72009-03-30 13:30:57 +000014042009-03-30: Version 1.1.4
1405
1406 Optimized String.prototype.match.
1407
1408 Improved the stack information in profiles.
1409
1410 Fixed bug in ARM port making it possible to compile the runtime
1411 system for thumb mode again.
1412
1413 Implemented a number of optimizations in the code generator.
1414
1415 Fixed a number of memory leaks in tests.
1416
1417 Fixed crash bug in connection with script source code and external
kasperl@chromium.org8ccb0be2009-04-07 07:21:39 +00001418 strings.
ager@chromium.org41826e72009-03-30 13:30:57 +00001419
1420
kasperl@chromium.orgf5aa8372009-03-24 14:47:14 +000014212009-03-24: Version 1.1.3
1422
1423 Fixed assertion failures in compilation of loop conditions.
1424
1425 Removed STL dependency from developer shell (d8).
1426
1427 Added infrastructure for protecting the V8 heap from corruption
1428 caused by memory modifications from the outside.
1429
1430
ager@chromium.orgbb29dc92009-03-24 13:25:23 +000014312009-03-24: Version 1.1.2
1432
1433 Improved frame merge code generated by the code generator.
1434
1435 Optimized String.prototype.replace.
1436
1437 Implemented __defineGetter__ and __defineSetter__ for properties
1438 with integer keys on non-array objects.
1439
1440 Improved debugger and profiler support.
1441
1442 Fixed a number of portability issues to allow compilation for
1443 smaller ARM devices.
1444
1445 Exposed object cloning through the API.
1446
1447 Implemented hidden properties. This is used to expose an identity
1448 hash for objects through the API.
1449
1450 Implemented restarting of regular expressions if their input
1451 string changes representation during preemption.
1452
1453 Fixed a code generator bug that could cause assignments in loops
1454 to be ignored if using continue to break out of the loop (issue
1455 284).
1456
1457
ager@chromium.org3a6061e2009-03-12 14:24:36 +000014582009-03-12: Version 1.1.1
1459
1460 Fixed an assertion in the new compiler to take stack overflow
1461 exceptions into account.
1462
1463 Removed exception propagation code that could cause crashes.
1464
1465 Fixed minor bug in debugger line number computations.
1466
1467 8-byte align the C stack on Linux and Windows to speed up floating
1468 point computations.
1469
1470
kasperl@chromium.org7be3c992009-03-12 07:19:55 +000014712009-03-12: Version 1.1.0
1472
1473 Improved code generation infrastructure by doing simple register
1474 allocation and constant folding and propagation.
1475
1476 Optimized regular expression matching by avoiding to create
1477 intermediate string arrays and by flattening nested array
1478 representations of RegExp data.
1479
1480 Traverse a few stack frames when recording profiler samples to
1481 include partial call graphs in the profiling output.
1482
1483 Added support for using OProfile to profile generated code.
1484
1485 Added remote debugging support to the D8 developer shell.
1486
1487 Optimized creation of nested literals like JSON objects.
1488
1489 Fixed a bug in garbage collecting unused maps and turned it on by
1490 default (--collect-maps).
1491
1492 Added support for running tests under Valgrind.
1493
1494
kasperl@chromium.org061ef742009-02-27 12:16:20 +000014952009-02-27: Version 1.0.3
1496
1497 Optimized double-to-integer conversions in bit operations by using
1498 SSE3 instructions if available.
1499
1500 Optimized initialization sequences that store to multiple
1501 properties of the same object.
1502
1503 Changed the D8 debugger frontend to use JSON messages.
1504
1505 Force garbage collections when disposing contexts.
1506
1507 Align code objects at 32-byte boundaries.
1508
1509
ager@chromium.org381abbb2009-02-25 13:23:22 +000015102009-02-25: Version 1.0.2
1511
1512 Improved profiling support by performing simple call stack
1513 sampling for ticks and by fixing a bug in the logging of code
1514 addresses.
1515
1516 Fixed a number of debugger issues.
1517
1518 Optimized code that uses eval.
1519
1520 Fixed a couple of bugs in the regular expression engine.
1521
1522 Reduced the size of generated code for certain regular expressions.
1523
1524 Removed JSCRE completely.
1525
1526 Fixed issue where test could not be run if there was a dot in the
1527 checkout path.
1528
1529
ager@chromium.org6f10e412009-02-13 10:11:16 +000015302009-02-13: Version 1.0.1
1531
1532 Fixed two crash-bugs in irregexp (issue 231 and 233).
1533
1534 Fixed a number of minor bugs (issue 87, 227 and 228).
1535
1536 Added support for morphing strings to external strings on demand
1537 to avoid having to create copies in the embedding code.
1538
1539 Removed experimental support for external symbol callbacks.
1540
1541
iposva@chromium.org245aa852009-02-10 00:49:54 +000015422009-02-09: Version 1.0.0
1543
1544 Fixed crash-bug in the code generation for case independent 16 bit
1545 backreferences.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001546
iposva@chromium.org245aa852009-02-10 00:49:54 +00001547 Made shells more robust in the presence of string conversion
1548 failures (issue 224).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001549
iposva@chromium.org245aa852009-02-10 00:49:54 +00001550 Fixed a potential infinite loop when attempting to resolve
1551 eval (issue 221).
ager@chromium.org6f10e412009-02-13 10:11:16 +00001552
iposva@chromium.org245aa852009-02-10 00:49:54 +00001553 Miscellaneous fixes to the new regular expression engine.
ager@chromium.org6f10e412009-02-13 10:11:16 +00001554
iposva@chromium.org245aa852009-02-10 00:49:54 +00001555 Reduced binary by stripping unneeded text from JavaScript library and
1556 minifying some JavaScript files.
1557
1558
ager@chromium.orgddb913d2009-01-27 10:01:48 +000015592009-01-27: Version 0.4.9
1560
1561 Enabled new regular expression engine.
1562
1563 Made a number of changes to the debugger protocol.
1564
1565 Fixed a number of bugs in the preemption support.
1566
1567 Added -p option to the developer shell to run files in parallel
1568 using preemption.
1569
1570 Fixed a number of minor bugs (including issues 176, 187, 189, 192,
1571 193, 198 and 201).
1572
1573 Fixed a number of bugs in the serialization/deserialization
1574 support for the ARM platform.
1575
1576
sgjesse@chromium.org715915b2009-01-19 16:08:47 +000015772009-01-19: Version 0.4.8.1
1578
1579 Minor patch to debugger support.
1580
1581
ager@chromium.org32912102009-01-16 10:38:43 +000015822009-01-16: Version 0.4.8
1583
1584 Fixed string length bug on ARM (issue 171).
1585
1586 Made most methods in the API const.
1587
1588 Optimized object literals by improving data locality.
1589
1590 Fixed bug that caused incomplete functions to be cached in case of
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001591 stack overflow exceptions.
ager@chromium.org32912102009-01-16 10:38:43 +00001592
1593 Fixed bugs that caused catch variables and variables introduced by
sgjesse@chromium.org715915b2009-01-19 16:08:47 +00001594 eval to behave incorrectly when using accessors (issues 186, 190
1595 and 191).
ager@chromium.org32912102009-01-16 10:38:43 +00001596
1597
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +000015982009-01-06: Version 0.4.7
1599
ager@chromium.org32912102009-01-16 10:38:43 +00001600 Minor bugfixes and optimizations.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001601
ager@chromium.org32912102009-01-16 10:38:43 +00001602 Added command line debugger to D8 shell.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001603
ager@chromium.org32912102009-01-16 10:38:43 +00001604 Fixed subtle bug that caused the wrong 'this' to be used when
1605 calling a caught function in a catch clause.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001606
ager@chromium.org32912102009-01-16 10:38:43 +00001607 Inline array loads within loops directly in the code instead of
1608 always calling a stub.
christian.plesner.hansen@gmail.com37abdec2009-01-06 14:43:28 +00001609
ager@chromium.org32912102009-01-16 10:38:43 +00001610
ager@chromium.org8bb60582008-12-11 12:02:20 +000016112008-12-11: Version 0.4.6
1612
1613 Fixed exception reporting bug where certain exceptions were
1614 incorrectly reported as uncaught.
1615
1616 Improved the memory allocation strategy used during compilation to
1617 make running out of memory when compiling huge scripts less
1618 likely.
1619
1620 Optimized String.replace by avoiding the construction of certain
1621 sub strings.
1622
1623 Fixed bug in code generation for large switch statements on ARM.
1624
1625 Fixed bug that caused V8 to change the global object template
1626 passed in by the user.
1627
1628 Changed the API for creating object groups used during garbage
1629 collection. Entire object groups are now passed to V8 instead of
1630 individual members of the groups.
1631
ager@chromium.org32912102009-01-16 10:38:43 +00001632
ager@chromium.orga74f0da2008-12-03 16:05:52 +000016332008-12-03: Version 0.4.5
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001634
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001635 Added experimental API support for allocating V8 symbols as
1636 external strings.
1637
1638 Fixed bugs in debugging support on ARM.
1639
1640 Changed eval implementation to correctly detect whether or not a
1641 call to eval is aliased.
1642
1643 Fixed bug caused by a combination of the compilation cache and
1644 dictionary probing in native code. The bug caused us to sometimes
1645 call functions that had not yet been compiled.
1646
1647 Added platform support for FreeBSD.
1648
1649 Added support for building V8 on Windows with either the shared or
1650 static version of MSVCRT
ager@chromium.org32912102009-01-16 10:38:43 +00001651
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001652 Added the v8::jscre namespace around the jscre functions to avoid
1653 link errors (duplicate symbols) when building Google Chrome.
1654
ager@chromium.orga74f0da2008-12-03 16:05:52 +00001655 Added support for calling a JavaScript function with the current
1656 debugger execution context as its argument to the debugger
1657 interface.
1658
1659 Changed the type of names of counters from wchar_t to char.
1660
1661 Changed the Windows system call used to compute daylight savings
1662 time. The system call that we used to use became four times
1663 slower on WinXP SP3.
1664
1665 Added support in the d8 developer shell for memory-mapped counters
1666 and added a stats-viewer tool.
1667
1668 Fixed bug in upper/lower case mappings (issue 149).
1669
iposva@chromium.org96f667e2008-11-26 23:48:02 +00001670
ager@chromium.org3bf7b912008-11-17 09:09:45 +000016712008-11-17: Version 0.4.4
1672
1673 Reduced code size by using shorter instruction encoding when
1674 possible.
1675
1676 Added a --help option to the shell sample and to the d8 shell.
1677
1678 Added visual studio project files for building the ARM simulator.
1679
1680 Fixed a number of ARM simulator issues.
1681
1682 Fixed bug in out-of-memory handling on ARM.
1683
1684 Implemented shell support for passing arguments to a script from
1685 the command line.
1686
1687 Fixed bug in date code that made certain date functions return -0
1688 instead of 0 for dates before the epoch.
1689
1690 Restricted applications of eval so it can only be used in the
1691 context of the associated global object.
1692
1693 Treat byte-order marks as whitespace characters.
ager@chromium.org32912102009-01-16 10:38:43 +00001694
1695
ager@chromium.org870a0b62008-11-04 11:43:05 +000016962008-11-04: Version 0.4.3
1697
1698 Added support for API accessors that prohibit overwriting by
1699 accessors defined in JavaScript code by using __defineGetter__ and
1700 __defineSetter__.
1701
1702 Improved handling of conditionals in test status files.
1703
1704 Introduced access control in propertyIsEnumerable.
1705
1706 Improved performance of some string operations by caching
1707 information about the type of the string between operations.
1708
1709 Fixed bug in fast-case code for switch statements that only have
1710 integer labels.
ager@chromium.org32912102009-01-16 10:38:43 +00001711
ager@chromium.org870a0b62008-11-04 11:43:05 +00001712
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +000017132008-10-30: Version 0.4.2
1714
1715 Improved performance of Array.prototype.concat by moving the
1716 implementation to C++ (issue 123).
1717
1718 Fixed heap growth policy to avoid growing old space to its maximum
1719 capacity before doing a garbage collection and fixed issue that
1720 would lead to artificial out of memory situations (issue 129).
1721
1722 Fixed Date.prototype.toLocaleDateString to return the date in the
1723 same format as WebKit.
1724
1725 Added missing initialization checks to debugger API.
1726
1727 Added removing of unused maps during GC.
1728
1729
kasperl@chromium.org9fe21c62008-10-28 08:53:51 +000017302008-10-28: Version 0.4.1
1731
1732 Added caching of RegExp data in compilation cache.
1733
1734 Added Visual Studio project file for d8 shell.
1735
1736 Fixed function call performance regression introduced in version
1737 0.4.0 when splitting the global object in two parts (issue 120).
1738
1739 Fixed issue 131 by checking for empty handles before throwing and
1740 reporting exceptions.
1741
1742
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +000017432008-10-23: Version 0.4.0
1744
1745 Split the global object into two parts: The state holding global
1746 object and the global object proxy.
1747
1748 Fixed bug that affected the value of an assignment to an element
1749 in certain cases (issue 116).
1750
1751 Added GetPropertyNames functionality (issue 33) and extra Date
1752 functions (issue 77) to the API.
1753
1754 Changed WeakReferenceCallback to take a Persistent<Value> instead
1755 of a Persistent<Object> (issue 101).
1756
1757 Fixed issues with message reporting for exceptions in try-finally
1758 blocks (issues 73 and 75).
1759
ager@chromium.org32912102009-01-16 10:38:43 +00001760 Optimized flattening of strings and string equality checking.
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +00001761
1762 Improved Boyer-Moore implementation for faster indexOf operations.
1763
1764 Added development shell (d8) which includes counters and
1765 completion support.
1766
1767 Fixed problem with the receiver passed to functions called from
1768 eval (issue 124).
1769
1770
ager@chromium.org7c537e22008-10-16 08:43:32 +000017712008-10-16: Version 0.3.5
1772
1773 Improved string hash-code distribution by excluding bit-field bits
1774 from the hash-code.
1775
1776 Changed string search algorithm used in indexOf from KMP to
1777 Boyer-Moore.
1778
1779 Improved the generated code for the instanceof operator.
1780
1781 Improved performance of slow-case string equality checks by
1782 specializing the code based on the string representation.
1783
1784 Improve the handling of out-of-memory situations (issue 70).
1785
1786 Improved performance of strict equality checks.
1787
1788 Improved profiler output to make it easier to see anonymous
1789 functions.
1790
1791 Improved performance of slow-case keyed loads.
1792
1793 Improved property access performance by allocating a number of
1794 properties in the front object.
1795
1796 Changed the toString behavior on the built-in object constructors
1797 to print [native code] instead of the actual source. Some web
1798 applications do not like constructors with complex toString
1799 results.
ager@chromium.org32912102009-01-16 10:38:43 +00001800
ager@chromium.org7c537e22008-10-16 08:43:32 +00001801
kasperl@chromium.org41044eb2008-10-06 08:24:46 +000018022008-10-06: Version 0.3.4
1803
1804 Changed Array.prototype.sort to use quick sort.
1805
1806 Fixed code generation issue where leaving a finally block with
1807 break or continue would accumulate elements on the expression
1808 stack (issue 86).
1809
1810 Made sure that the name accessor on functions returns the expected
1811 names for builtin JavaScript functions and C++ callback functions.
1812
1813 Added fast case code for extending the property storage array of
1814 JavaScript objects.
1815
1816 Ported switch statement optimizations introduced in version 0.3.3
1817 to the ARM code generator.
1818
1819 Allowed GCC to use strict-aliasing rules when compiling.
1820
1821 Improved performance of arguments object allocation by taking care
1822 of arguments adaptor frames in the generated code.
1823
1824 Updated the V8 benchmark suite to version 2.
1825
1826
ager@chromium.org236ad962008-09-25 09:45:57 +000018272008-09-25: Version 0.3.3
1828
1829 Improved handling of relocation information to enable more
1830 peep-hole optimizations.
1831
1832 Optimized switch statements where all labels are constant small
1833 integers.
1834
1835 Optimized String.prototype.indexOf for common cases.
1836
1837 Fixed more build issues (issue 80).
1838
1839 Fixed a couple of profiler issues.
1840
1841 Fixed bug where the body of a function created using the Function
1842 constructor was not allowed to end with a single-line comment
1843 (issue 85).
1844
1845 Improved handling of object literals by canonicalizing object
1846 literal maps. This will allow JSON objects with the same set of
1847 properties to share the same map making inline caching work better
1848 for JSON objects.
ager@chromium.org32912102009-01-16 10:38:43 +00001849
ager@chromium.org236ad962008-09-25 09:45:57 +00001850
kasperl@chromium.orgb9123622008-09-17 14:05:56 +000018512008-09-17: Version 0.3.2
1852
1853 Generalized the EvalCache into a CompilationCache and enabled it
1854 for scripts too. The current strategy is to retire all entries
1855 whenever a mark-sweep collection is started.
1856
1857 Fixed bug where switch statements containing only a default case
1858 would lead to an unbalanced stack (issue 69).
1859
1860 Fixed bug that made access to the function in a named function
1861 expression impossible in certain situations (issue 24).
1862
1863 Fixed even more build issues.
1864
1865 Optimized calling conventions on ARM. The conventions on ARM and
1866 IA-32 now match.
1867
1868 Removed static initializers for flags and counters.
1869
1870 Improved inline caching behavior for uncommon cases where lazily
1871 loading Date and RegExp code could force certain code paths go
1872 megamorphic.
1873
1874 Removed arguments adaption for builtins written in C++. This
1875 makes Array.prototype.push and Array.prototype.pop slightly
1876 faster.
1877
1878
ager@chromium.org9258b6b2008-09-11 09:11:10 +000018792008-09-11: Version 0.3.1
1880
1881 Fixed a number of build issues.
1882
1883 Fixed problem with missing I-cache flusing on ARM.
1884
1885 Changed space layout in memory management by splitting up
1886 code space into old data space and code space.
1887
1888 Added utf-8 conversion support to the API (issue 57).
1889
1890 Optimized repeated calls to eval with the same strings. These
1891 repeated calls are common in web applications.
1892
1893 Added Xcode project file.
1894
1895 Optimized a couple of Array operation.
1896
1897 Fixed parser bug by checking for end-of-string when parsing break
1898 and continue (issue 35).
1899
1900 Fixed problem where asian characters were not categorized as
1901 letters.
1902
1903 Fixed bug that disallowed calling functions fetched from an array
1904 using a string as an array index (issue 32).
1905
1906 Fixed bug where the internal field count on object templates were
1907 sometimes ignored (issue 54).
1908
1909 Added -f option to the shell sample for compatibility with other
1910 engines (issue 18).
1911
1912 Added source info to TryCatches in the API.
1913
1914 Fixed problem where the seed for the random number generator was
1915 clipped in a double to unsigned int conversion.
1916
1917 Fixed bug where cons string symbols were sometimes converted to
1918 non-symbol flat strings during GC.
1919
1920 Fixed bug in error reporting when attempting to convert null to an
1921 object.
ager@chromium.org32912102009-01-16 10:38:43 +00001922
1923
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000019242008-09-04: Version 0.3.0
1925
1926 Added support for running tests on the ARM simulator.
1927
1928 Fixed bug in the 'in' operator where negative indices were not
1929 treated correctly.
1930
1931 Fixed build issues on gcc-4.3.1.
1932
1933 Changed Date.prototype.toLocaleTimeString to not print the
1934 timezone part of the time.
1935
1936 Renamed debug.h to v8-debug.h to reduce the risk of name conflicts
1937 with user code.
1938
1939
v8.team.kasperl727e9952008-09-02 14:56:44 +000019402008-09-02: Version 0.2.5
1941
1942 Renamed the top level directory 'public' to 'include'.
1943
1944 Added 'env' option to the SCons build scripts to support
1945 overriding the ENV part of the build environment. This is mostly
1946 to support Windows builds in cases where SCons cannot find the
1947 correct paths to the Windows SDK, as these paths cannot be passed
1948 through shell environment variables.
1949
1950 Enabled "Buffer Security Check" on for the Windows SCons build and
1951 added the linker option /OPT:ICF as an optimization.
1952
1953 Added the V8 benchmark suite to the repository.
1954
1955
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000019562008-09-01: Version 0.2.4
1957
1958 Included mjsunit JavaScript test suite and C++ unit tests.
1959
1960 Changed the shell sample to not print the result of executing a
1961 script provided on the command line.
1962
1963 Fixed issue when building samples on Windows using a shared V8
1964 library. Added visibility option on Linux build which makes the
1965 generated library 18% smaller.
1966
1967 Changed build system to accept multiple build modes in one build
1968 and generate separate objects, libraries and executables for each
1969 mode.
1970
1971 Removed deferred negation optimization (a * -b => -(a * b)) since
1972 this visibly changes operand conversion order.
1973
1974 Improved parsing performance by introducing stack guard in
1975 preparsing. Without a stack guard preparsing always bails out
1976 with stack overflow.
1977
1978 Changed shell sample to take flags directly from the command-line.
1979 Added API call that implements this.
1980
1981 Added load, quit and version functions to the shell sample so it's
1982 easier to run benchmarks and tests.
1983
1984 Fixed issue with building samples and cctests on 64-bit machines.
1985
1986 Fixed bug in the runtime system where the prototype chain was not
1987 always searched for a setter when setting a property that does not
1988 exist locally.
ager@chromium.org32912102009-01-16 10:38:43 +00001989
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +00001990
mads.s.agercbaa0602008-08-14 13:41:48 +000019912008-08-14: Version 0.2.3
1992
1993 Improved performance of garbage collection by moving the
1994 function that updates pointers during compacting collection
1995 into the updating visitor. This gives the compiler a better
1996 chance to inline and avoid a function call per (potential)
1997 pointer.
1998
1999 Extended the shell sample with a --runtime-flags option.
2000
2001 Added Visual Studio project files for the shell.cc and
2002 process.cc samples.
2003
2004
20052008-08-13: Version 0.2.2
mads.s.ager31e71382008-08-13 09:32:07 +00002006
2007 Improved performance of garbage collection by changing the way
2008 we use the marking stack in the event of stack overflow during
2009 full garbage collection and by changing the way we mark roots.
2010
2011 Cleaned up ARM version by removing top of stack caching and by
2012 introducing push/pop elimination.
2013
2014 Cleaned up the way runtime functions are called to allow
2015 runtime calls with no arguments.
2016
2017 Changed Windows build options to make sure that exceptions are
2018 disabled and that optimization flags are enabled.
2019
2020 Added first version of Visual Studio project files.
2021
2022
mads.s.agercbaa0602008-08-14 13:41:48 +000020232008-08-06: Version 0.2.1
mads.s.ager@gmail.com769cc962008-08-06 10:02:49 +00002024
2025 Improved performance of unary addition by avoiding runtime calls.
2026
2027 Fixed the handling of '>' and '<=' to use right-to-left conversion
2028 and left-to-right evaluation as specified by ECMA-262.
2029
2030 Fixed a branch elimination bug on the ARM platform where incorrect
2031 code was generated because of overly aggressive branch
2032 elimination.
2033
2034 Improved performance of code that repeatedly assigns the same
2035 function to the same property of different objects with the same
2036 map.
2037
2038 Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler
2039 no longer expects DEBUG to be defined.
2040
2041 Added platform-nullos.cc to serve as the basis for new platform
2042 implementations.
2043
mads.s.ager31e71382008-08-13 09:32:07 +00002044
mads.s.agercbaa0602008-08-14 13:41:48 +000020452008-07-30: Version 0.2.0
kasper.lund7276f142008-07-30 08:49:36 +00002046
2047 Changed all text files to have native svn:eol-style.
2048
2049 Added a few samples and support for building them. The samples
2050 include a simple shell that can be used to benchmark and test V8.
2051
2052 Changed V8::GetVersion to return the version as a string.
2053
2054 Added source for lazily loaded scripts to snapshots and made
2055 serialization non-destructive.
2056
2057 Improved ARM support by fixing the write barrier code to use
2058 aligned loads and stores and by removing premature locals
2059 optimization that relied on broken support for callee-saved
2060 registers (removed).
2061
2062 Refactored the code for marking live objects during garbage
2063 collection and the code for allocating objects in paged
2064 spaces. Introduced an abstraction for the map word of a heap-
2065 allocated object and changed the memory allocator to allocate
2066 executable memory only for spaces that may contain code objects.
2067
2068 Moved StringBuilder to utils.h and ScopedLock to platform.h, where
2069 they can be used by debugging and logging modules. Added
2070 thread-safe message queues for dealing with debugger events.
2071
2072 Fixed the source code reported by toString for certain builtin
2073 empty functions and made sure that the prototype property of a
2074 function is enumerable.
2075
2076 Improved performance of converting values to condition flags in
2077 generated code.
2078
2079 Merged disassembler-{arch} files.
2080
2081
mads.s.agercbaa0602008-08-14 13:41:48 +000020822008-07-28: Version 0.1.4
kasper.lundaf4734f2008-07-28 12:50:18 +00002083
2084 Added support for storing JavaScript stack traces in a stack
2085 allocated buffer to make it visible in shallow core dumps.
2086 Controlled by the --preallocate-message-memory flag which is
2087 disabled by default.
2088
2089
mads.s.agercbaa0602008-08-14 13:41:48 +000020902008-07-25: Version 0.1.3
kasper.lund44510672008-07-25 07:37:58 +00002091
2092 Fixed bug in JSObject::GetPropertyAttributePostInterceptor where
2093 map transitions would count as properties.
2094
2095 Allowed aliased eval invocations by treating them as evals in the
2096 global context. This may change in the future.
2097
2098 Added support for accessing the last entered context through the
2099 API and renamed Context::Current to Context::GetCurrent and
2100 Context::GetSecurityContext to Context::GetCurrentSecurityContext.
2101
2102 Fixed bug in the debugger that would cause the debugger scripts to
2103 be recursively loaded and changed all disabling of interrupts to
2104 be block-structured.
2105
2106 Made snapshot data read-only to allow it to be more easily shared
2107 across multiple users of V8 when linked as a shared library.
2108
2109
mads.s.agercbaa0602008-08-14 13:41:48 +000021102008-07-16: Version 0.1.2
kasper.lund212ac232008-07-16 07:07:30 +00002111
2112 Fixed building on Mac OS X by recognizing i386 and friends as
2113 IA-32 platforms.
2114
2115 Added propagation of stack overflow exceptions that occur while
2116 compiling nested functions.
2117
2118 Improved debugger with support for recursive break points and
2119 handling of exceptions that occur in the debugger JavaScript code.
2120
2121 Renamed GetInternal to GetInternalField and SetInternal to
2122 SetInternalField in the API and moved InternalFieldCount and
2123 SetInternalFieldCount from FunctionTemplate to ObjectTemplate.
2124
2125
mads.s.agercbaa0602008-08-14 13:41:48 +000021262008-07-09: Version 0.1.1
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002127
2128 Fixed bug in stack overflow check code for IA-32 targets where a
2129 non-tagged value in register eax was pushed to the stack.
2130
2131 Fixed potential quadratic behavior when converting strings to
2132 numbers.
2133
2134 Fixed bug where the return value from Object::SetProperty could
2135 end up being the property holder instead of the written value.
2136
2137 Improved debugger support by allowing nested break points and by
2138 dealing with stack-overflows when compiling functions before
2139 setting break points in them.
2140
2141
mads.s.agercbaa0602008-08-14 13:41:48 +000021422008-07-03: Version 0.1.0
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002143
kasper.lundbd3ec4e2008-07-09 11:06:54 +00002144 Initial export.
christian.plesner.hansen43d26ec2008-07-03 15:10:15 +00002145