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