| 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 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 676 Handle<Smi> two(Smi::FromInt(2), isolate); | 676 Handle<Smi> two(Smi::FromInt(2), isolate); |
| 677 | 677 |
| 678 // check for empty | 678 // check for empty |
| 679 CHECK(!JSReceiver::HasLocalProperty(obj, first)); | 679 CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
| 680 | 680 |
| 681 // add first | 681 // add first |
| 682 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); | 682 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); |
| 683 CHECK(JSReceiver::HasLocalProperty(obj, first)); | 683 CHECK(JSReceiver::HasLocalProperty(obj, first)); |
| 684 | 684 |
| 685 // delete first | 685 // delete first |
| 686 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); | 686 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check(); |
| 687 CHECK(!JSReceiver::HasLocalProperty(obj, first)); | 687 CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
| 688 | 688 |
| 689 // add first and then second | 689 // add first and then second |
| 690 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); | 690 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); |
| 691 JSReceiver::SetProperty(obj, second, two, NONE, SLOPPY).Check(); | 691 JSReceiver::SetProperty(obj, second, two, NONE, SLOPPY).Check(); |
| 692 CHECK(JSReceiver::HasLocalProperty(obj, first)); | 692 CHECK(JSReceiver::HasLocalProperty(obj, first)); |
| 693 CHECK(JSReceiver::HasLocalProperty(obj, second)); | 693 CHECK(JSReceiver::HasLocalProperty(obj, second)); |
| 694 | 694 |
| 695 // delete first and then second | 695 // delete first and then second |
| 696 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); | 696 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check(); |
| 697 CHECK(JSReceiver::HasLocalProperty(obj, second)); | 697 CHECK(JSReceiver::HasLocalProperty(obj, second)); |
| 698 JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION); | 698 JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION).Check(); |
| 699 CHECK(!JSReceiver::HasLocalProperty(obj, first)); | 699 CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
| 700 CHECK(!JSReceiver::HasLocalProperty(obj, second)); | 700 CHECK(!JSReceiver::HasLocalProperty(obj, second)); |
| 701 | 701 |
| 702 // add first and then second | 702 // add first and then second |
| 703 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); | 703 JSReceiver::SetProperty(obj, first, one, NONE, SLOPPY).Check(); |
| 704 JSReceiver::SetProperty(obj, second, two, NONE, SLOPPY).Check(); | 704 JSReceiver::SetProperty(obj, second, two, NONE, SLOPPY).Check(); |
| 705 CHECK(JSReceiver::HasLocalProperty(obj, first)); | 705 CHECK(JSReceiver::HasLocalProperty(obj, first)); |
| 706 CHECK(JSReceiver::HasLocalProperty(obj, second)); | 706 CHECK(JSReceiver::HasLocalProperty(obj, second)); |
| 707 | 707 |
| 708 // delete second and then first | 708 // delete second and then first |
| 709 JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION); | 709 JSReceiver::DeleteProperty(obj, second, JSReceiver::NORMAL_DELETION).Check(); |
| 710 CHECK(JSReceiver::HasLocalProperty(obj, first)); | 710 CHECK(JSReceiver::HasLocalProperty(obj, first)); |
| 711 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION); | 711 JSReceiver::DeleteProperty(obj, first, JSReceiver::NORMAL_DELETION).Check(); |
| 712 CHECK(!JSReceiver::HasLocalProperty(obj, first)); | 712 CHECK(!JSReceiver::HasLocalProperty(obj, first)); |
| 713 CHECK(!JSReceiver::HasLocalProperty(obj, second)); | 713 CHECK(!JSReceiver::HasLocalProperty(obj, second)); |
| 714 | 714 |
| 715 // check string and internalized string match | 715 // check string and internalized string match |
| 716 const char* string1 = "fisk"; | 716 const char* string1 = "fisk"; |
| 717 Handle<String> s1 = factory->NewStringFromAscii(CStrVector(string1)); | 717 Handle<String> s1 = factory->NewStringFromAscii(CStrVector(string1)); |
| 718 JSReceiver::SetProperty(obj, s1, one, NONE, SLOPPY).Check(); | 718 JSReceiver::SetProperty(obj, s1, one, NONE, SLOPPY).Check(); |
| 719 Handle<String> s1_string = factory->InternalizeUtf8String(string1); | 719 Handle<String> s1_string = factory->InternalizeUtf8String(string1); |
| 720 CHECK(JSReceiver::HasLocalProperty(obj, s1_string)); | 720 CHECK(JSReceiver::HasLocalProperty(obj, s1_string)); |
| 721 | 721 |
| (...skipping 3215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3937 v8::Context::Scope cscope(context); | 3937 v8::Context::Scope cscope(context); |
| 3938 | 3938 |
| 3939 v8::Local<v8::Value> result = CompileRun( | 3939 v8::Local<v8::Value> result = CompileRun( |
| 3940 "var locals = '';" | 3940 "var locals = '';" |
| 3941 "for (var i = 0; i < 512; i++) locals += 'var v' + i + '= 42;';" | 3941 "for (var i = 0; i < 512; i++) locals += 'var v' + i + '= 42;';" |
| 3942 "eval('function f() {' + locals + 'return function() { return v0; }; }');" | 3942 "eval('function f() {' + locals + 'return function() { return v0; }; }');" |
| 3943 "interrupt();" // This triggers a fake stack overflow in f. | 3943 "interrupt();" // This triggers a fake stack overflow in f. |
| 3944 "f()()"); | 3944 "f()()"); |
| 3945 CHECK_EQ(42.0, result->ToNumber()->Value()); | 3945 CHECK_EQ(42.0, result->ToNumber()->Value()); |
| 3946 } | 3946 } |
| OLD | NEW |