OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
8 #include "src/api.h" | 8 #include "src/api.h" |
9 #include "src/arguments.h" | 9 #include "src/arguments.h" |
10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
(...skipping 2670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2681 HandleScope scope(isolate); | 2681 HandleScope scope(isolate); |
2682 DCHECK(args.length() == 3); | 2682 DCHECK(args.length() == 3); |
2683 StoreIC ic(IC::NO_EXTRA_FRAME, isolate); | 2683 StoreIC ic(IC::NO_EXTRA_FRAME, isolate); |
2684 Handle<JSObject> receiver = args.at<JSObject>(0); | 2684 Handle<JSObject> receiver = args.at<JSObject>(0); |
2685 Handle<Name> name = args.at<Name>(1); | 2685 Handle<Name> name = args.at<Name>(1); |
2686 Handle<Object> value = args.at<Object>(2); | 2686 Handle<Object> value = args.at<Object>(2); |
2687 #ifdef DEBUG | 2687 #ifdef DEBUG |
2688 PrototypeIterator iter(isolate, receiver, | 2688 PrototypeIterator iter(isolate, receiver, |
2689 PrototypeIterator::START_AT_RECEIVER); | 2689 PrototypeIterator::START_AT_RECEIVER); |
2690 bool found = false; | 2690 bool found = false; |
2691 while (!iter.IsAtEnd(PrototypeIterator::END_AT_NON_HIDDEN)) { | 2691 for (; !iter.IsAtEnd(PrototypeIterator::END_AT_NON_HIDDEN); iter.Advance()) { |
2692 Handle<Object> current = PrototypeIterator::GetCurrent(iter); | 2692 Handle<Object> current = PrototypeIterator::GetCurrent(iter); |
2693 if (current->IsJSObject() && | 2693 if (current->IsJSObject() && |
2694 Handle<JSObject>::cast(current)->HasNamedInterceptor()) { | 2694 Handle<JSObject>::cast(current)->HasNamedInterceptor()) { |
2695 found = true; | 2695 found = true; |
2696 break; | 2696 break; |
2697 } | 2697 } |
2698 } | 2698 } |
2699 DCHECK(found); | 2699 DCHECK(found); |
2700 #endif | 2700 #endif |
2701 Handle<Object> result; | 2701 Handle<Object> result; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2736 static const Address IC_utilities[] = { | 2736 static const Address IC_utilities[] = { |
2737 #define ADDR(name) FUNCTION_ADDR(name), | 2737 #define ADDR(name) FUNCTION_ADDR(name), |
2738 IC_UTIL_LIST(ADDR) NULL | 2738 IC_UTIL_LIST(ADDR) NULL |
2739 #undef ADDR | 2739 #undef ADDR |
2740 }; | 2740 }; |
2741 | 2741 |
2742 | 2742 |
2743 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } | 2743 Address IC::AddressFromUtilityId(IC::UtilityId id) { return IC_utilities[id]; } |
2744 } | 2744 } |
2745 } // namespace v8::internal | 2745 } // namespace v8::internal |
OLD | NEW |