OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/objects.h" | 5 #include "src/objects.h" |
6 | 6 |
7 #include <iomanip> | 7 #include <iomanip> |
8 #include <sstream> | 8 #include <sstream> |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
834 if (check.JsHasOverflowed()) { | 834 if (check.JsHasOverflowed()) { |
835 isolate->StackOverflow(); | 835 isolate->StackOverflow(); |
836 return MaybeHandle<Object>(); | 836 return MaybeHandle<Object>(); |
837 } | 837 } |
838 | 838 |
839 Debug* debug = isolate->debug(); | 839 Debug* debug = isolate->debug(); |
840 // Handle stepping into a getter if step into is active. | 840 // Handle stepping into a getter if step into is active. |
841 // TODO(rossberg): should this apply to getters that are function proxies? | 841 // TODO(rossberg): should this apply to getters that are function proxies? |
842 if (debug->is_active()) debug->HandleStepIn(getter, false); | 842 if (debug->is_active()) debug->HandleStepIn(getter, false); |
843 | 843 |
844 return Execution::Call(isolate, getter, receiver, 0, NULL, true); | 844 return Execution::Call(isolate, getter, receiver, 0, NULL); |
845 } | 845 } |
846 | 846 |
847 | 847 |
848 MaybeHandle<Object> Object::SetPropertyWithDefinedSetter( | 848 MaybeHandle<Object> Object::SetPropertyWithDefinedSetter( |
849 Handle<Object> receiver, | 849 Handle<Object> receiver, |
850 Handle<JSReceiver> setter, | 850 Handle<JSReceiver> setter, |
851 Handle<Object> value) { | 851 Handle<Object> value) { |
852 Isolate* isolate = setter->GetIsolate(); | 852 Isolate* isolate = setter->GetIsolate(); |
853 | 853 |
854 Debug* debug = isolate->debug(); | 854 Debug* debug = isolate->debug(); |
855 // Handle stepping into a setter if step into is active. | 855 // Handle stepping into a setter if step into is active. |
856 // TODO(rossberg): should this apply to getters that are function proxies? | 856 // TODO(rossberg): should this apply to getters that are function proxies? |
857 if (debug->is_active()) debug->HandleStepIn(setter, false); | 857 if (debug->is_active()) debug->HandleStepIn(setter, false); |
858 | 858 |
859 Handle<Object> argv[] = { value }; | 859 Handle<Object> argv[] = { value }; |
860 RETURN_ON_EXCEPTION(isolate, Execution::Call(isolate, setter, receiver, | 860 RETURN_ON_EXCEPTION(isolate, Execution::Call(isolate, setter, receiver, |
861 arraysize(argv), argv, true), | 861 arraysize(argv), argv), |
862 Object); | 862 Object); |
863 return value; | 863 return value; |
864 } | 864 } |
865 | 865 |
866 | 866 |
867 // static | 867 // static |
868 bool JSObject::AllCanRead(LookupIterator* it) { | 868 bool JSObject::AllCanRead(LookupIterator* it) { |
869 // Skip current iteration, it's in state ACCESS_CHECK or INTERCEPTOR, both of | 869 // Skip current iteration, it's in state ACCESS_CHECK or INTERCEPTOR, both of |
870 // which have already been checked. | 870 // which have already been checked. |
871 DCHECK(it->state() == LookupIterator::ACCESS_CHECK || | 871 DCHECK(it->state() == LookupIterator::ACCESS_CHECK || |
(...skipping 15601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16473 if (cell->value() != *new_value) { | 16473 if (cell->value() != *new_value) { |
16474 cell->set_value(*new_value); | 16474 cell->set_value(*new_value); |
16475 Isolate* isolate = cell->GetIsolate(); | 16475 Isolate* isolate = cell->GetIsolate(); |
16476 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 16476 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
16477 isolate, DependentCode::kPropertyCellChangedGroup); | 16477 isolate, DependentCode::kPropertyCellChangedGroup); |
16478 } | 16478 } |
16479 } | 16479 } |
16480 | 16480 |
16481 } // namespace internal | 16481 } // namespace internal |
16482 } // namespace v8 | 16482 } // namespace v8 |
OLD | NEW |