OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 Isolate* isolate = object->IsHeapObject() | 738 Isolate* isolate = object->IsHeapObject() |
739 ? Handle<HeapObject>::cast(object)->GetIsolate() | 739 ? Handle<HeapObject>::cast(object)->GetIsolate() |
740 : Isolate::Current(); | 740 : Isolate::Current(); |
741 CALL_HEAP_FUNCTION( | 741 CALL_HEAP_FUNCTION( |
742 isolate, | 742 isolate, |
743 object->GetProperty(*receiver, result, *key, attributes), | 743 object->GetProperty(*receiver, result, *key, attributes), |
744 Object); | 744 Object); |
745 } | 745 } |
746 | 746 |
747 | 747 |
| 748 MaybeObject* Object::GetPropertyOrFail(Handle<Object> object, |
| 749 Handle<Object> receiver, |
| 750 LookupResult* result, |
| 751 Handle<Name> key, |
| 752 PropertyAttributes* attributes) { |
| 753 Isolate* isolate = object->IsHeapObject() |
| 754 ? Handle<HeapObject>::cast(object)->GetIsolate() |
| 755 : Isolate::Current(); |
| 756 CALL_HEAP_FUNCTION_PASS_EXCEPTION( |
| 757 isolate, |
| 758 object->GetProperty(*receiver, result, *key, attributes)); |
| 759 } |
| 760 |
| 761 |
748 MaybeObject* Object::GetProperty(Object* receiver, | 762 MaybeObject* Object::GetProperty(Object* receiver, |
749 LookupResult* result, | 763 LookupResult* result, |
750 Name* name, | 764 Name* name, |
751 PropertyAttributes* attributes) { | 765 PropertyAttributes* attributes) { |
752 // Make sure that the top context does not change when doing | 766 // Make sure that the top context does not change when doing |
753 // callbacks or interceptor calls. | 767 // callbacks or interceptor calls. |
754 AssertNoContextChange ncc; | 768 AssertNoContextChange ncc; |
755 Isolate* isolate = name->GetIsolate(); | 769 Isolate* isolate = name->GetIsolate(); |
756 Heap* heap = isolate->heap(); | 770 Heap* heap = isolate->heap(); |
757 | 771 |
(...skipping 1374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2132 Handle<Name> key, | 2146 Handle<Name> key, |
2133 Handle<Object> value, | 2147 Handle<Object> value, |
2134 PropertyAttributes attributes, | 2148 PropertyAttributes attributes, |
2135 StrictModeFlag strict_mode) { | 2149 StrictModeFlag strict_mode) { |
2136 CALL_HEAP_FUNCTION(object->GetIsolate(), | 2150 CALL_HEAP_FUNCTION(object->GetIsolate(), |
2137 object->SetProperty(*key, *value, attributes, strict_mode), | 2151 object->SetProperty(*key, *value, attributes, strict_mode), |
2138 Object); | 2152 Object); |
2139 } | 2153 } |
2140 | 2154 |
2141 | 2155 |
| 2156 MaybeObject* JSReceiver::SetPropertyOrFail( |
| 2157 Handle<JSReceiver> object, |
| 2158 Handle<Name> key, |
| 2159 Handle<Object> value, |
| 2160 PropertyAttributes attributes, |
| 2161 StrictModeFlag strict_mode, |
| 2162 JSReceiver::StoreFromKeyed store_mode) { |
| 2163 CALL_HEAP_FUNCTION_PASS_EXCEPTION( |
| 2164 object->GetIsolate(), |
| 2165 object->SetProperty(*key, *value, attributes, strict_mode, store_mode)); |
| 2166 } |
| 2167 |
| 2168 |
2142 MaybeObject* JSReceiver::SetProperty(Name* name, | 2169 MaybeObject* JSReceiver::SetProperty(Name* name, |
2143 Object* value, | 2170 Object* value, |
2144 PropertyAttributes attributes, | 2171 PropertyAttributes attributes, |
2145 StrictModeFlag strict_mode, | 2172 StrictModeFlag strict_mode, |
2146 JSReceiver::StoreFromKeyed store_mode) { | 2173 JSReceiver::StoreFromKeyed store_mode) { |
2147 LookupResult result(GetIsolate()); | 2174 LookupResult result(GetIsolate()); |
2148 LocalLookup(name, &result, true); | 2175 LocalLookup(name, &result, true); |
2149 if (!result.IsFound()) { | 2176 if (!result.IsFound()) { |
2150 map()->LookupTransition(JSObject::cast(this), name, &result); | 2177 map()->LookupTransition(JSObject::cast(this), name, &result); |
2151 } | 2178 } |
(...skipping 12326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
14478 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); | 14505 set_year(Smi::FromInt(year), SKIP_WRITE_BARRIER); |
14479 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); | 14506 set_month(Smi::FromInt(month), SKIP_WRITE_BARRIER); |
14480 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); | 14507 set_day(Smi::FromInt(day), SKIP_WRITE_BARRIER); |
14481 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); | 14508 set_weekday(Smi::FromInt(weekday), SKIP_WRITE_BARRIER); |
14482 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); | 14509 set_hour(Smi::FromInt(hour), SKIP_WRITE_BARRIER); |
14483 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); | 14510 set_min(Smi::FromInt(min), SKIP_WRITE_BARRIER); |
14484 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); | 14511 set_sec(Smi::FromInt(sec), SKIP_WRITE_BARRIER); |
14485 } | 14512 } |
14486 | 14513 |
14487 } } // namespace v8::internal | 14514 } } // namespace v8::internal |
OLD | NEW |