| OLD | NEW |
| 1 // Copyright 2007-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2007-2008 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 6063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6074 const char* c_source = | 6074 const char* c_source = |
| 6075 "function do_very_little(bar) {" | 6075 "function do_very_little(bar) {" |
| 6076 " this.foo = bar;" | 6076 " this.foo = bar;" |
| 6077 "}" | 6077 "}" |
| 6078 "for (var i = 0; i < 100000; i++) {" | 6078 "for (var i = 0; i < 100000; i++) {" |
| 6079 " do_very_little.apply(this, ['bar']);" | 6079 " do_very_little.apply(this, ['bar']);" |
| 6080 "}"; | 6080 "}"; |
| 6081 Local<String> source = String::New(c_source); | 6081 Local<String> source = String::New(c_source); |
| 6082 Local<Script> script = Script::Compile(source); | 6082 Local<Script> script = Script::Compile(source); |
| 6083 Local<Value> result = script->Run(); | 6083 Local<Value> result = script->Run(); |
| 6084 // Check that no exception was thrown. |
| 6085 CHECK(!result.IsEmpty()); |
| 6084 } | 6086 } |
| 6085 int gc_after = gc_count_; | 6087 int gc_after = gc_count_; |
| 6086 gc_during_apply_ += gc_after - gc_before; | 6088 gc_during_apply_ += gc_after - gc_before; |
| 6087 rounds++; | 6089 rounds++; |
| 6088 } | 6090 } |
| 6089 apply_success_ = true; | 6091 apply_success_ = true; |
| 6090 } | 6092 } |
| 6091 | 6093 |
| 6092 i::Semaphore* block_; | 6094 i::Semaphore* block_; |
| 6093 int gc_count_; | 6095 int gc_count_; |
| (...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6452 // the property | 6454 // the property |
| 6453 pass_on_get = false; | 6455 pass_on_get = false; |
| 6454 CHECK_EQ(3, global->Get(some_property)->Int32Value()); | 6456 CHECK_EQ(3, global->Get(some_property)->Int32Value()); |
| 6455 CHECK_EQ(1, force_set_set_count); | 6457 CHECK_EQ(1, force_set_set_count); |
| 6456 CHECK_EQ(5, force_set_get_count); | 6458 CHECK_EQ(5, force_set_get_count); |
| 6457 // The interceptor should also work for other properties | 6459 // The interceptor should also work for other properties |
| 6458 CHECK_EQ(3, global->Get(v8::String::New("b"))->Int32Value()); | 6460 CHECK_EQ(3, global->Get(v8::String::New("b"))->Int32Value()); |
| 6459 CHECK_EQ(1, force_set_set_count); | 6461 CHECK_EQ(1, force_set_set_count); |
| 6460 CHECK_EQ(6, force_set_get_count); | 6462 CHECK_EQ(6, force_set_get_count); |
| 6461 } | 6463 } |
| OLD | NEW |