| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 delete obj.a; | 364 delete obj.a; |
| 365 Object.defineProperty(obj, "a", {value: 11, configurable: true}); | 365 Object.defineProperty(obj, "a", {value: 11, configurable: true}); |
| 366 Object.deliverChangeRecords(observer.callback); | 366 Object.deliverChangeRecords(observer.callback); |
| 367 observer.assertCallbackRecords([ | 367 observer.assertCallbackRecords([ |
| 368 { object: obj, name: "a", type: "updated", oldValue: 1 }, | 368 { object: obj, name: "a", type: "updated", oldValue: 1 }, |
| 369 { object: obj, name: "a", type: "updated", oldValue: 2 }, | 369 { object: obj, name: "a", type: "updated", oldValue: 2 }, |
| 370 { object: obj, name: "a", type: "deleted", oldValue: 3 }, | 370 { object: obj, name: "a", type: "deleted", oldValue: 3 }, |
| 371 { object: obj, name: "a", type: "new" }, | 371 { object: obj, name: "a", type: "new" }, |
| 372 { object: obj, name: "a", type: "updated", oldValue: 4 }, | 372 { object: obj, name: "a", type: "updated", oldValue: 4 }, |
| 373 { object: obj, name: "a", type: "updated", oldValue: 5 }, | 373 { object: obj, name: "a", type: "updated", oldValue: 5 }, |
| 374 { object: obj, name: "a", type: "reconfigured", oldValue: 6 }, | 374 { object: obj, name: "a", type: "reconfigured" }, |
| 375 { object: obj, name: "a", type: "updated", oldValue: 6 }, | 375 { object: obj, name: "a", type: "updated", oldValue: 6 }, |
| 376 { object: obj, name: "a", type: "reconfigured", oldValue: 8 }, | 376 { object: obj, name: "a", type: "reconfigured", oldValue: 8 }, |
| 377 { object: obj, name: "a", type: "reconfigured", oldValue: 7 }, | 377 { object: obj, name: "a", type: "reconfigured", oldValue: 7 }, |
| 378 { object: obj, name: "a", type: "reconfigured" }, | 378 { object: obj, name: "a", type: "reconfigured" }, |
| 379 { object: obj, name: "a", type: "reconfigured" }, | 379 { object: obj, name: "a", type: "reconfigured" }, |
| 380 { object: obj, name: "a", type: "reconfigured" }, | 380 { object: obj, name: "a", type: "reconfigured" }, |
| 381 { object: obj, name: "a", type: "deleted" }, | 381 { object: obj, name: "a", type: "deleted" }, |
| 382 { object: obj, name: "a", type: "new" }, | 382 { object: obj, name: "a", type: "new" }, |
| 383 { object: obj, name: "a", type: "reconfigured" }, | 383 { object: obj, name: "a", type: "reconfigured" }, |
| 384 { object: obj, name: "a", type: "updated", oldValue: 9 }, | 384 { object: obj, name: "a", type: "updated", oldValue: 9 }, |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 delete obj[1]; | 422 delete obj[1]; |
| 423 Object.defineProperty(obj, "1", {value: 11, configurable: true}); | 423 Object.defineProperty(obj, "1", {value: 11, configurable: true}); |
| 424 Object.deliverChangeRecords(observer.callback); | 424 Object.deliverChangeRecords(observer.callback); |
| 425 observer.assertCallbackRecords([ | 425 observer.assertCallbackRecords([ |
| 426 { object: obj, name: "1", type: "updated", oldValue: 1 }, | 426 { object: obj, name: "1", type: "updated", oldValue: 1 }, |
| 427 { object: obj, name: "1", type: "updated", oldValue: 2 }, | 427 { object: obj, name: "1", type: "updated", oldValue: 2 }, |
| 428 { object: obj, name: "1", type: "deleted", oldValue: 3 }, | 428 { object: obj, name: "1", type: "deleted", oldValue: 3 }, |
| 429 { object: obj, name: "1", type: "new" }, | 429 { object: obj, name: "1", type: "new" }, |
| 430 { object: obj, name: "1", type: "updated", oldValue: 4 }, | 430 { object: obj, name: "1", type: "updated", oldValue: 4 }, |
| 431 { object: obj, name: "1", type: "updated", oldValue: 5 }, | 431 { object: obj, name: "1", type: "updated", oldValue: 5 }, |
| 432 { object: obj, name: "1", type: "reconfigured", oldValue: 6 }, | 432 { object: obj, name: "1", type: "reconfigured" }, |
| 433 { object: obj, name: "1", type: "updated", oldValue: 6 }, | 433 { object: obj, name: "1", type: "updated", oldValue: 6 }, |
| 434 { object: obj, name: "1", type: "reconfigured", oldValue: 8 }, | 434 { object: obj, name: "1", type: "reconfigured", oldValue: 8 }, |
| 435 { object: obj, name: "1", type: "reconfigured", oldValue: 7 }, | 435 { object: obj, name: "1", type: "reconfigured", oldValue: 7 }, |
| 436 { object: obj, name: "1", type: "reconfigured" }, | 436 { object: obj, name: "1", type: "reconfigured" }, |
| 437 { object: obj, name: "1", type: "reconfigured" }, | 437 { object: obj, name: "1", type: "reconfigured" }, |
| 438 { object: obj, name: "1", type: "reconfigured" }, | 438 { object: obj, name: "1", type: "reconfigured" }, |
| 439 { object: obj, name: "1", type: "deleted" }, | 439 { object: obj, name: "1", type: "deleted" }, |
| 440 { object: obj, name: "1", type: "new" }, | 440 { object: obj, name: "1", type: "new" }, |
| 441 { object: obj, name: "1", type: "reconfigured" }, | 441 { object: obj, name: "1", type: "reconfigured" }, |
| 442 { object: obj, name: "1", type: "updated", oldValue: 9 }, | 442 { object: obj, name: "1", type: "updated", oldValue: 9 }, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 delete obj[prop]; | 486 delete obj[prop]; |
| 487 Object.defineProperty(obj, prop, {value: 11, configurable: true}); | 487 Object.defineProperty(obj, prop, {value: 11, configurable: true}); |
| 488 Object.deliverChangeRecords(observer.callback); | 488 Object.deliverChangeRecords(observer.callback); |
| 489 observer.assertCallbackRecords([ | 489 observer.assertCallbackRecords([ |
| 490 { object: obj, name: prop, type: "updated", oldValue: 1 }, | 490 { object: obj, name: prop, type: "updated", oldValue: 1 }, |
| 491 { object: obj, name: prop, type: "updated", oldValue: 2 }, | 491 { object: obj, name: prop, type: "updated", oldValue: 2 }, |
| 492 { object: obj, name: prop, type: "deleted", oldValue: 3 }, | 492 { object: obj, name: prop, type: "deleted", oldValue: 3 }, |
| 493 { object: obj, name: prop, type: "new" }, | 493 { object: obj, name: prop, type: "new" }, |
| 494 { object: obj, name: prop, type: "updated", oldValue: 4 }, | 494 { object: obj, name: prop, type: "updated", oldValue: 4 }, |
| 495 { object: obj, name: prop, type: "updated", oldValue: 5 }, | 495 { object: obj, name: prop, type: "updated", oldValue: 5 }, |
| 496 { object: obj, name: prop, type: "reconfigured", oldValue: 6 }, | 496 { object: obj, name: prop, type: "reconfigured" }, |
| 497 { object: obj, name: prop, type: "updated", oldValue: 6 }, | 497 { object: obj, name: prop, type: "updated", oldValue: 6 }, |
| 498 { object: obj, name: prop, type: "reconfigured", oldValue: 8 }, | 498 { object: obj, name: prop, type: "reconfigured", oldValue: 8 }, |
| 499 { object: obj, name: prop, type: "reconfigured", oldValue: 7 }, | 499 { object: obj, name: prop, type: "reconfigured", oldValue: 7 }, |
| 500 { object: obj, name: prop, type: "reconfigured" }, | 500 { object: obj, name: prop, type: "reconfigured" }, |
| 501 { object: obj, name: prop, type: "reconfigured" }, | 501 { object: obj, name: prop, type: "reconfigured" }, |
| 502 { object: obj, name: prop, type: "reconfigured" }, | 502 { object: obj, name: prop, type: "reconfigured" }, |
| 503 { object: obj, name: prop, type: "reconfigured" }, | 503 { object: obj, name: prop, type: "reconfigured" }, |
| 504 { object: obj, name: prop, type: "reconfigured" }, | 504 { object: obj, name: prop, type: "reconfigured" }, |
| 505 { object: obj, name: prop, type: "deleted" }, | 505 { object: obj, name: prop, type: "deleted" }, |
| 506 { object: obj, name: prop, type: "new" }, | 506 { object: obj, name: prop, type: "new" }, |
| (...skipping 23 matching lines...) Expand all Loading... |
| 530 Object.defineProperty(obj, prop, {value: 7}); | 530 Object.defineProperty(obj, prop, {value: 7}); |
| 531 Object.defineProperty(obj, prop, {enumerable: desc.enumerable}); // ignored | 531 Object.defineProperty(obj, prop, {enumerable: desc.enumerable}); // ignored |
| 532 Object.defineProperty(obj, prop, {writable: false}); | 532 Object.defineProperty(obj, prop, {writable: false}); |
| 533 obj[prop] = 7; // ignored | 533 obj[prop] = 7; // ignored |
| 534 Object.deliverChangeRecords(observer.callback); | 534 Object.deliverChangeRecords(observer.callback); |
| 535 observer.assertCallbackRecords([ | 535 observer.assertCallbackRecords([ |
| 536 { object: obj, name: prop, type: "updated", oldValue: 1 }, | 536 { object: obj, name: prop, type: "updated", oldValue: 1 }, |
| 537 { object: obj, name: prop, type: "updated", oldValue: 4 }, | 537 { object: obj, name: prop, type: "updated", oldValue: 4 }, |
| 538 { object: obj, name: prop, type: "updated", oldValue: 5 }, | 538 { object: obj, name: prop, type: "updated", oldValue: 5 }, |
| 539 { object: obj, name: prop, type: "updated", oldValue: 6 }, | 539 { object: obj, name: prop, type: "updated", oldValue: 6 }, |
| 540 { object: obj, name: prop, type: "reconfigured", oldValue: 7 }, | 540 { object: obj, name: prop, type: "reconfigured" }, |
| 541 ]); | 541 ]); |
| 542 Object.unobserve(obj, observer.callback); | 542 Object.unobserve(obj, observer.callback); |
| 543 } | 543 } |
| 544 | 544 |
| 545 function createProxy(create, x) { | 545 function createProxy(create, x) { |
| 546 var handler = { | 546 var handler = { |
| 547 getPropertyDescriptor: function(k) { | 547 getPropertyDescriptor: function(k) { |
| 548 for (var o = this.target; o; o = Object.getPrototypeOf(o)) { | 548 for (var o = this.target; o; o = Object.getPrototypeOf(o)) { |
| 549 var desc = Object.getOwnPropertyDescriptor(o, k); | 549 var desc = Object.getOwnPropertyDescriptor(o, k); |
| 550 if (desc) return desc; | 550 if (desc) return desc; |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 650 Object.defineProperty(arr3, 'length', {value: 5}); | 650 Object.defineProperty(arr3, 'length', {value: 5}); |
| 651 Object.defineProperty(arr3, 'length', {value: 10, writable: false}); | 651 Object.defineProperty(arr3, 'length', {value: 10, writable: false}); |
| 652 Object.deliverChangeRecords(observer.callback); | 652 Object.deliverChangeRecords(observer.callback); |
| 653 observer.assertCallbackRecords([ | 653 observer.assertCallbackRecords([ |
| 654 { object: arr, name: '3', type: 'deleted', oldValue: 'd' }, | 654 { object: arr, name: '3', type: 'deleted', oldValue: 'd' }, |
| 655 { object: arr, name: '2', type: 'deleted' }, | 655 { object: arr, name: '2', type: 'deleted' }, |
| 656 { object: arr, name: 'length', type: 'updated', oldValue: 4 }, | 656 { object: arr, name: 'length', type: 'updated', oldValue: 4 }, |
| 657 { object: arr, name: '1', type: 'deleted', oldValue: 'b' }, | 657 { object: arr, name: '1', type: 'deleted', oldValue: 'b' }, |
| 658 { object: arr, name: 'length', type: 'updated', oldValue: 2 }, | 658 { object: arr, name: 'length', type: 'updated', oldValue: 2 }, |
| 659 { object: arr, name: 'length', type: 'updated', oldValue: 1 }, | 659 { object: arr, name: 'length', type: 'updated', oldValue: 1 }, |
| 660 { object: arr, name: 'length', type: 'reconfigured', oldValue: 10 }, | 660 { object: arr, name: 'length', type: 'reconfigured' }, |
| 661 { object: arr2, name: '1', type: 'deleted', oldValue: 'beta' }, | 661 { object: arr2, name: '1', type: 'deleted', oldValue: 'beta' }, |
| 662 { object: arr2, name: 'length', type: 'updated', oldValue: 2 }, | 662 { object: arr2, name: 'length', type: 'updated', oldValue: 2 }, |
| 663 { object: arr2, name: 'length', type: 'reconfigured', oldValue: 1 }, | 663 { object: arr2, name: 'length', type: 'reconfigured', oldValue: 1 }, |
| 664 { object: arr3, name: '2', type: 'deleted', oldValue: 'goodbye' }, | 664 { object: arr3, name: '2', type: 'deleted', oldValue: 'goodbye' }, |
| 665 { object: arr3, name: '0', type: 'deleted', oldValue: 'hello' }, | 665 { object: arr3, name: '0', type: 'deleted', oldValue: 'hello' }, |
| 666 { object: arr3, name: 'length', type: 'updated', oldValue: 6 }, | 666 { object: arr3, name: 'length', type: 'updated', oldValue: 6 }, |
| 667 { object: arr3, name: 'length', type: 'updated', oldValue: 0 }, | 667 { object: arr3, name: 'length', type: 'updated', oldValue: 0 }, |
| 668 { object: arr3, name: 'length', type: 'updated', oldValue: 1 }, | 668 { object: arr3, name: 'length', type: 'updated', oldValue: 1 }, |
| 669 { object: arr3, name: 'length', type: 'updated', oldValue: 2 }, | 669 { object: arr3, name: 'length', type: 'updated', oldValue: 2 }, |
| 670 { object: arr3, name: 'length', type: 'updated', oldValue: 1 }, | 670 { object: arr3, name: 'length', type: 'updated', oldValue: 1 }, |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1045 for (var n1 = 0; n1 < 3; ++n1) | 1045 for (var n1 = 0; n1 < 3; ++n1) |
| 1046 for (var n2 = 0; n2 < 3; ++n2) | 1046 for (var n2 = 0; n2 < 3; ++n2) |
| 1047 for (var i in mutation) | 1047 for (var i in mutation) |
| 1048 TestFastElementsLength(mutation[i], b1 != 0, b2 != 0, 20*n1, 20*n2); | 1048 TestFastElementsLength(mutation[i], b1 != 0, b2 != 0, 20*n1, 20*n2); |
| 1049 | 1049 |
| 1050 for (var b1 = 0; b1 < 2; ++b1) | 1050 for (var b1 = 0; b1 < 2; ++b1) |
| 1051 for (var b2 = 0; b2 < 2; ++b2) | 1051 for (var b2 = 0; b2 < 2; ++b2) |
| 1052 for (var n = 0; n < 3; ++n) | 1052 for (var n = 0; n < 3; ++n) |
| 1053 for (var i in mutationByIncr) | 1053 for (var i in mutationByIncr) |
| 1054 TestFastElementsLength(mutationByIncr[i], b1 != 0, b2 != 0, 7*n, 7*n+1); | 1054 TestFastElementsLength(mutationByIncr[i], b1 != 0, b2 != 0, 7*n, 7*n+1); |
| OLD | NEW |