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