ager@chromium.org | 3bf7b91 | 2008-11-17 09:09:45 +0000 | [diff] [blame^] | 1 | 2008-11-17: Version 0.4.4 |
| 2 | |
| 3 | Reduced code size by using shorter instruction encoding when |
| 4 | possible. |
| 5 | |
| 6 | Added a --help option to the shell sample and to the d8 shell. |
| 7 | |
| 8 | Added visual studio project files for building the ARM simulator. |
| 9 | |
| 10 | Fixed a number of ARM simulator issues. |
| 11 | |
| 12 | Fixed bug in out-of-memory handling on ARM. |
| 13 | |
| 14 | Implemented shell support for passing arguments to a script from |
| 15 | the command line. |
| 16 | |
| 17 | Fixed bug in date code that made certain date functions return -0 |
| 18 | instead of 0 for dates before the epoch. |
| 19 | |
| 20 | Restricted applications of eval so it can only be used in the |
| 21 | context of the associated global object. |
| 22 | |
| 23 | Treat byte-order marks as whitespace characters. |
| 24 | |
| 25 | |
ager@chromium.org | 870a0b6 | 2008-11-04 11:43:05 +0000 | [diff] [blame] | 26 | 2008-11-04: Version 0.4.3 |
| 27 | |
| 28 | Added support for API accessors that prohibit overwriting by |
| 29 | accessors defined in JavaScript code by using __defineGetter__ and |
| 30 | __defineSetter__. |
| 31 | |
| 32 | Improved handling of conditionals in test status files. |
| 33 | |
| 34 | Introduced access control in propertyIsEnumerable. |
| 35 | |
| 36 | Improved performance of some string operations by caching |
| 37 | information about the type of the string between operations. |
| 38 | |
| 39 | Fixed bug in fast-case code for switch statements that only have |
| 40 | integer labels. |
| 41 | |
| 42 | |
kasperl@chromium.org | 9bbf968 | 2008-10-30 11:53:07 +0000 | [diff] [blame] | 43 | 2008-10-30: Version 0.4.2 |
| 44 | |
| 45 | Improved performance of Array.prototype.concat by moving the |
| 46 | implementation to C++ (issue 123). |
| 47 | |
| 48 | Fixed heap growth policy to avoid growing old space to its maximum |
| 49 | capacity before doing a garbage collection and fixed issue that |
| 50 | would lead to artificial out of memory situations (issue 129). |
| 51 | |
| 52 | Fixed Date.prototype.toLocaleDateString to return the date in the |
| 53 | same format as WebKit. |
| 54 | |
| 55 | Added missing initialization checks to debugger API. |
| 56 | |
| 57 | Added removing of unused maps during GC. |
| 58 | |
| 59 | |
kasperl@chromium.org | 9fe21c6 | 2008-10-28 08:53:51 +0000 | [diff] [blame] | 60 | 2008-10-28: Version 0.4.1 |
| 61 | |
| 62 | Added caching of RegExp data in compilation cache. |
| 63 | |
| 64 | Added Visual Studio project file for d8 shell. |
| 65 | |
| 66 | Fixed function call performance regression introduced in version |
| 67 | 0.4.0 when splitting the global object in two parts (issue 120). |
| 68 | |
| 69 | Fixed issue 131 by checking for empty handles before throwing and |
| 70 | reporting exceptions. |
| 71 | |
| 72 | |
kasperl@chromium.org | 5a8ca6c | 2008-10-23 13:57:19 +0000 | [diff] [blame] | 73 | 2008-10-23: Version 0.4.0 |
| 74 | |
| 75 | Split the global object into two parts: The state holding global |
| 76 | object and the global object proxy. |
| 77 | |
| 78 | Fixed bug that affected the value of an assignment to an element |
| 79 | in certain cases (issue 116). |
| 80 | |
| 81 | Added GetPropertyNames functionality (issue 33) and extra Date |
| 82 | functions (issue 77) to the API. |
| 83 | |
| 84 | Changed WeakReferenceCallback to take a Persistent<Value> instead |
| 85 | of a Persistent<Object> (issue 101). |
| 86 | |
| 87 | Fixed issues with message reporting for exceptions in try-finally |
| 88 | blocks (issues 73 and 75). |
| 89 | |
| 90 | Optimized flattening of strings and string equality checking. |
| 91 | |
| 92 | Improved Boyer-Moore implementation for faster indexOf operations. |
| 93 | |
| 94 | Added development shell (d8) which includes counters and |
| 95 | completion support. |
| 96 | |
| 97 | Fixed problem with the receiver passed to functions called from |
| 98 | eval (issue 124). |
| 99 | |
| 100 | |
ager@chromium.org | 7c537e2 | 2008-10-16 08:43:32 +0000 | [diff] [blame] | 101 | 2008-10-16: Version 0.3.5 |
| 102 | |
| 103 | Improved string hash-code distribution by excluding bit-field bits |
| 104 | from the hash-code. |
| 105 | |
| 106 | Changed string search algorithm used in indexOf from KMP to |
| 107 | Boyer-Moore. |
| 108 | |
| 109 | Improved the generated code for the instanceof operator. |
| 110 | |
| 111 | Improved performance of slow-case string equality checks by |
| 112 | specializing the code based on the string representation. |
| 113 | |
| 114 | Improve the handling of out-of-memory situations (issue 70). |
| 115 | |
| 116 | Improved performance of strict equality checks. |
| 117 | |
| 118 | Improved profiler output to make it easier to see anonymous |
| 119 | functions. |
| 120 | |
| 121 | Improved performance of slow-case keyed loads. |
| 122 | |
| 123 | Improved property access performance by allocating a number of |
| 124 | properties in the front object. |
| 125 | |
| 126 | Changed the toString behavior on the built-in object constructors |
| 127 | to print [native code] instead of the actual source. Some web |
| 128 | applications do not like constructors with complex toString |
| 129 | results. |
| 130 | |
| 131 | |
kasperl@chromium.org | 41044eb | 2008-10-06 08:24:46 +0000 | [diff] [blame] | 132 | 2008-10-06: Version 0.3.4 |
| 133 | |
| 134 | Changed Array.prototype.sort to use quick sort. |
| 135 | |
| 136 | Fixed code generation issue where leaving a finally block with |
| 137 | break or continue would accumulate elements on the expression |
| 138 | stack (issue 86). |
| 139 | |
| 140 | Made sure that the name accessor on functions returns the expected |
| 141 | names for builtin JavaScript functions and C++ callback functions. |
| 142 | |
| 143 | Added fast case code for extending the property storage array of |
| 144 | JavaScript objects. |
| 145 | |
| 146 | Ported switch statement optimizations introduced in version 0.3.3 |
| 147 | to the ARM code generator. |
| 148 | |
| 149 | Allowed GCC to use strict-aliasing rules when compiling. |
| 150 | |
| 151 | Improved performance of arguments object allocation by taking care |
| 152 | of arguments adaptor frames in the generated code. |
| 153 | |
| 154 | Updated the V8 benchmark suite to version 2. |
| 155 | |
| 156 | |
ager@chromium.org | 236ad96 | 2008-09-25 09:45:57 +0000 | [diff] [blame] | 157 | 2008-09-25: Version 0.3.3 |
| 158 | |
| 159 | Improved handling of relocation information to enable more |
| 160 | peep-hole optimizations. |
| 161 | |
| 162 | Optimized switch statements where all labels are constant small |
| 163 | integers. |
| 164 | |
| 165 | Optimized String.prototype.indexOf for common cases. |
| 166 | |
| 167 | Fixed more build issues (issue 80). |
| 168 | |
| 169 | Fixed a couple of profiler issues. |
| 170 | |
| 171 | Fixed bug where the body of a function created using the Function |
| 172 | constructor was not allowed to end with a single-line comment |
| 173 | (issue 85). |
| 174 | |
| 175 | Improved handling of object literals by canonicalizing object |
| 176 | literal maps. This will allow JSON objects with the same set of |
| 177 | properties to share the same map making inline caching work better |
| 178 | for JSON objects. |
| 179 | |
| 180 | |
kasperl@chromium.org | b912362 | 2008-09-17 14:05:56 +0000 | [diff] [blame] | 181 | 2008-09-17: Version 0.3.2 |
| 182 | |
| 183 | Generalized the EvalCache into a CompilationCache and enabled it |
| 184 | for scripts too. The current strategy is to retire all entries |
| 185 | whenever a mark-sweep collection is started. |
| 186 | |
| 187 | Fixed bug where switch statements containing only a default case |
| 188 | would lead to an unbalanced stack (issue 69). |
| 189 | |
| 190 | Fixed bug that made access to the function in a named function |
| 191 | expression impossible in certain situations (issue 24). |
| 192 | |
| 193 | Fixed even more build issues. |
| 194 | |
| 195 | Optimized calling conventions on ARM. The conventions on ARM and |
| 196 | IA-32 now match. |
| 197 | |
| 198 | Removed static initializers for flags and counters. |
| 199 | |
| 200 | Improved inline caching behavior for uncommon cases where lazily |
| 201 | loading Date and RegExp code could force certain code paths go |
| 202 | megamorphic. |
| 203 | |
| 204 | Removed arguments adaption for builtins written in C++. This |
| 205 | makes Array.prototype.push and Array.prototype.pop slightly |
| 206 | faster. |
| 207 | |
| 208 | |
ager@chromium.org | 9258b6b | 2008-09-11 09:11:10 +0000 | [diff] [blame] | 209 | 2008-09-11: Version 0.3.1 |
| 210 | |
| 211 | Fixed a number of build issues. |
| 212 | |
| 213 | Fixed problem with missing I-cache flusing on ARM. |
| 214 | |
| 215 | Changed space layout in memory management by splitting up |
| 216 | code space into old data space and code space. |
| 217 | |
| 218 | Added utf-8 conversion support to the API (issue 57). |
| 219 | |
| 220 | Optimized repeated calls to eval with the same strings. These |
| 221 | repeated calls are common in web applications. |
| 222 | |
| 223 | Added Xcode project file. |
| 224 | |
| 225 | Optimized a couple of Array operation. |
| 226 | |
| 227 | Fixed parser bug by checking for end-of-string when parsing break |
| 228 | and continue (issue 35). |
| 229 | |
| 230 | Fixed problem where asian characters were not categorized as |
| 231 | letters. |
| 232 | |
| 233 | Fixed bug that disallowed calling functions fetched from an array |
| 234 | using a string as an array index (issue 32). |
| 235 | |
| 236 | Fixed bug where the internal field count on object templates were |
| 237 | sometimes ignored (issue 54). |
| 238 | |
| 239 | Added -f option to the shell sample for compatibility with other |
| 240 | engines (issue 18). |
| 241 | |
| 242 | Added source info to TryCatches in the API. |
| 243 | |
| 244 | Fixed problem where the seed for the random number generator was |
| 245 | clipped in a double to unsigned int conversion. |
| 246 | |
| 247 | Fixed bug where cons string symbols were sometimes converted to |
| 248 | non-symbol flat strings during GC. |
| 249 | |
| 250 | Fixed bug in error reporting when attempting to convert null to an |
| 251 | object. |
| 252 | |
| 253 | |
ager@chromium.org | c27e4e7 | 2008-09-04 13:52:27 +0000 | [diff] [blame] | 254 | 2008-09-04: Version 0.3.0 |
| 255 | |
| 256 | Added support for running tests on the ARM simulator. |
| 257 | |
| 258 | Fixed bug in the 'in' operator where negative indices were not |
| 259 | treated correctly. |
| 260 | |
| 261 | Fixed build issues on gcc-4.3.1. |
| 262 | |
| 263 | Changed Date.prototype.toLocaleTimeString to not print the |
| 264 | timezone part of the time. |
| 265 | |
| 266 | Renamed debug.h to v8-debug.h to reduce the risk of name conflicts |
| 267 | with user code. |
| 268 | |
| 269 | |
v8.team.kasperl | 727e995 | 2008-09-02 14:56:44 +0000 | [diff] [blame] | 270 | 2008-09-02: Version 0.2.5 |
| 271 | |
| 272 | Renamed the top level directory 'public' to 'include'. |
| 273 | |
| 274 | Added 'env' option to the SCons build scripts to support |
| 275 | overriding the ENV part of the build environment. This is mostly |
| 276 | to support Windows builds in cases where SCons cannot find the |
| 277 | correct paths to the Windows SDK, as these paths cannot be passed |
| 278 | through shell environment variables. |
| 279 | |
| 280 | Enabled "Buffer Security Check" on for the Windows SCons build and |
| 281 | added the linker option /OPT:ICF as an optimization. |
| 282 | |
| 283 | Added the V8 benchmark suite to the repository. |
| 284 | |
| 285 | |
mads.s.ager@gmail.com | 9a4089a | 2008-09-01 08:55:01 +0000 | [diff] [blame] | 286 | 2008-09-01: Version 0.2.4 |
| 287 | |
| 288 | Included mjsunit JavaScript test suite and C++ unit tests. |
| 289 | |
| 290 | Changed the shell sample to not print the result of executing a |
| 291 | script provided on the command line. |
| 292 | |
| 293 | Fixed issue when building samples on Windows using a shared V8 |
| 294 | library. Added visibility option on Linux build which makes the |
| 295 | generated library 18% smaller. |
| 296 | |
| 297 | Changed build system to accept multiple build modes in one build |
| 298 | and generate separate objects, libraries and executables for each |
| 299 | mode. |
| 300 | |
| 301 | Removed deferred negation optimization (a * -b => -(a * b)) since |
| 302 | this visibly changes operand conversion order. |
| 303 | |
| 304 | Improved parsing performance by introducing stack guard in |
| 305 | preparsing. Without a stack guard preparsing always bails out |
| 306 | with stack overflow. |
| 307 | |
| 308 | Changed shell sample to take flags directly from the command-line. |
| 309 | Added API call that implements this. |
| 310 | |
| 311 | Added load, quit and version functions to the shell sample so it's |
| 312 | easier to run benchmarks and tests. |
| 313 | |
| 314 | Fixed issue with building samples and cctests on 64-bit machines. |
| 315 | |
| 316 | Fixed bug in the runtime system where the prototype chain was not |
| 317 | always searched for a setter when setting a property that does not |
| 318 | exist locally. |
| 319 | |
| 320 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 321 | 2008-08-14: Version 0.2.3 |
| 322 | |
| 323 | Improved performance of garbage collection by moving the |
| 324 | function that updates pointers during compacting collection |
| 325 | into the updating visitor. This gives the compiler a better |
| 326 | chance to inline and avoid a function call per (potential) |
| 327 | pointer. |
| 328 | |
| 329 | Extended the shell sample with a --runtime-flags option. |
| 330 | |
| 331 | Added Visual Studio project files for the shell.cc and |
| 332 | process.cc samples. |
| 333 | |
| 334 | |
| 335 | 2008-08-13: Version 0.2.2 |
mads.s.ager | 31e7138 | 2008-08-13 09:32:07 +0000 | [diff] [blame] | 336 | |
| 337 | Improved performance of garbage collection by changing the way |
| 338 | we use the marking stack in the event of stack overflow during |
| 339 | full garbage collection and by changing the way we mark roots. |
| 340 | |
| 341 | Cleaned up ARM version by removing top of stack caching and by |
| 342 | introducing push/pop elimination. |
| 343 | |
| 344 | Cleaned up the way runtime functions are called to allow |
| 345 | runtime calls with no arguments. |
| 346 | |
| 347 | Changed Windows build options to make sure that exceptions are |
| 348 | disabled and that optimization flags are enabled. |
| 349 | |
| 350 | Added first version of Visual Studio project files. |
| 351 | |
| 352 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 353 | 2008-08-06: Version 0.2.1 |
mads.s.ager@gmail.com | 769cc96 | 2008-08-06 10:02:49 +0000 | [diff] [blame] | 354 | |
| 355 | Improved performance of unary addition by avoiding runtime calls. |
| 356 | |
| 357 | Fixed the handling of '>' and '<=' to use right-to-left conversion |
| 358 | and left-to-right evaluation as specified by ECMA-262. |
| 359 | |
| 360 | Fixed a branch elimination bug on the ARM platform where incorrect |
| 361 | code was generated because of overly aggressive branch |
| 362 | elimination. |
| 363 | |
| 364 | Improved performance of code that repeatedly assigns the same |
| 365 | function to the same property of different objects with the same |
| 366 | map. |
| 367 | |
| 368 | Untangled DEBUG and ENABLE_DISASSEMBLER defines. The disassembler |
| 369 | no longer expects DEBUG to be defined. |
| 370 | |
| 371 | Added platform-nullos.cc to serve as the basis for new platform |
| 372 | implementations. |
| 373 | |
mads.s.ager | 31e7138 | 2008-08-13 09:32:07 +0000 | [diff] [blame] | 374 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 375 | 2008-07-30: Version 0.2.0 |
kasper.lund | 7276f14 | 2008-07-30 08:49:36 +0000 | [diff] [blame] | 376 | |
| 377 | Changed all text files to have native svn:eol-style. |
| 378 | |
| 379 | Added a few samples and support for building them. The samples |
| 380 | include a simple shell that can be used to benchmark and test V8. |
| 381 | |
| 382 | Changed V8::GetVersion to return the version as a string. |
| 383 | |
| 384 | Added source for lazily loaded scripts to snapshots and made |
| 385 | serialization non-destructive. |
| 386 | |
| 387 | Improved ARM support by fixing the write barrier code to use |
| 388 | aligned loads and stores and by removing premature locals |
| 389 | optimization that relied on broken support for callee-saved |
| 390 | registers (removed). |
| 391 | |
| 392 | Refactored the code for marking live objects during garbage |
| 393 | collection and the code for allocating objects in paged |
| 394 | spaces. Introduced an abstraction for the map word of a heap- |
| 395 | allocated object and changed the memory allocator to allocate |
| 396 | executable memory only for spaces that may contain code objects. |
| 397 | |
| 398 | Moved StringBuilder to utils.h and ScopedLock to platform.h, where |
| 399 | they can be used by debugging and logging modules. Added |
| 400 | thread-safe message queues for dealing with debugger events. |
| 401 | |
| 402 | Fixed the source code reported by toString for certain builtin |
| 403 | empty functions and made sure that the prototype property of a |
| 404 | function is enumerable. |
| 405 | |
| 406 | Improved performance of converting values to condition flags in |
| 407 | generated code. |
| 408 | |
| 409 | Merged disassembler-{arch} files. |
| 410 | |
| 411 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 412 | 2008-07-28: Version 0.1.4 |
kasper.lund | af4734f | 2008-07-28 12:50:18 +0000 | [diff] [blame] | 413 | |
| 414 | Added support for storing JavaScript stack traces in a stack |
| 415 | allocated buffer to make it visible in shallow core dumps. |
| 416 | Controlled by the --preallocate-message-memory flag which is |
| 417 | disabled by default. |
| 418 | |
| 419 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 420 | 2008-07-25: Version 0.1.3 |
kasper.lund | 4451067 | 2008-07-25 07:37:58 +0000 | [diff] [blame] | 421 | |
| 422 | Fixed bug in JSObject::GetPropertyAttributePostInterceptor where |
| 423 | map transitions would count as properties. |
| 424 | |
| 425 | Allowed aliased eval invocations by treating them as evals in the |
| 426 | global context. This may change in the future. |
| 427 | |
| 428 | Added support for accessing the last entered context through the |
| 429 | API and renamed Context::Current to Context::GetCurrent and |
| 430 | Context::GetSecurityContext to Context::GetCurrentSecurityContext. |
| 431 | |
| 432 | Fixed bug in the debugger that would cause the debugger scripts to |
| 433 | be recursively loaded and changed all disabling of interrupts to |
| 434 | be block-structured. |
| 435 | |
| 436 | Made snapshot data read-only to allow it to be more easily shared |
| 437 | across multiple users of V8 when linked as a shared library. |
| 438 | |
| 439 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 440 | 2008-07-16: Version 0.1.2 |
kasper.lund | 212ac23 | 2008-07-16 07:07:30 +0000 | [diff] [blame] | 441 | |
| 442 | Fixed building on Mac OS X by recognizing i386 and friends as |
| 443 | IA-32 platforms. |
| 444 | |
| 445 | Added propagation of stack overflow exceptions that occur while |
| 446 | compiling nested functions. |
| 447 | |
| 448 | Improved debugger with support for recursive break points and |
| 449 | handling of exceptions that occur in the debugger JavaScript code. |
| 450 | |
| 451 | Renamed GetInternal to GetInternalField and SetInternal to |
| 452 | SetInternalField in the API and moved InternalFieldCount and |
| 453 | SetInternalFieldCount from FunctionTemplate to ObjectTemplate. |
| 454 | |
| 455 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 456 | 2008-07-09: Version 0.1.1 |
kasper.lund | bd3ec4e | 2008-07-09 11:06:54 +0000 | [diff] [blame] | 457 | |
| 458 | Fixed bug in stack overflow check code for IA-32 targets where a |
| 459 | non-tagged value in register eax was pushed to the stack. |
| 460 | |
| 461 | Fixed potential quadratic behavior when converting strings to |
| 462 | numbers. |
| 463 | |
| 464 | Fixed bug where the return value from Object::SetProperty could |
| 465 | end up being the property holder instead of the written value. |
| 466 | |
| 467 | Improved debugger support by allowing nested break points and by |
| 468 | dealing with stack-overflows when compiling functions before |
| 469 | setting break points in them. |
| 470 | |
| 471 | |
mads.s.ager | cbaa060 | 2008-08-14 13:41:48 +0000 | [diff] [blame] | 472 | 2008-07-03: Version 0.1.0 |
christian.plesner.hansen | 43d26ec | 2008-07-03 15:10:15 +0000 | [diff] [blame] | 473 | |
kasper.lund | bd3ec4e | 2008-07-09 11:06:54 +0000 | [diff] [blame] | 474 | Initial export. |
christian.plesner.hansen | 43d26ec | 2008-07-03 15:10:15 +0000 | [diff] [blame] | 475 | |