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 4104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4115 EnqueueChangeRecord(object, "updated", name, old_value); | 4115 EnqueueChangeRecord(object, "updated", name, old_value); |
4116 } | 4116 } |
4117 } | 4117 } |
4118 } | 4118 } |
4119 } | 4119 } |
4120 | 4120 |
4121 return result; | 4121 return result; |
4122 } | 4122 } |
4123 | 4123 |
4124 | 4124 |
4125 MaybeObject* JSObject::SetLocalPropertyIgnoreAttributesTrampoline( | |
4126 Name* key, | |
4127 Object* value, | |
4128 PropertyAttributes attributes, | |
4129 ValueType value_type, | |
4130 StoreMode mode, | |
4131 ExtensibilityCheck extensibility_check) { | |
4132 // TODO(mstarzinger): The trampoline is a giant hack, don't use it anywhere | |
4133 // else or handlification people will start hating you for all eternity. | |
4134 HandleScope scope(GetIsolate()); | |
4135 IdempotentPointerToHandleCodeTrampoline trampoline(GetIsolate()); | |
4136 return trampoline.CallWithReturnValue( | |
4137 &JSObject::SetLocalPropertyIgnoreAttributes, | |
4138 Handle<JSObject>(this), | |
4139 Handle<Name>(key), | |
4140 Handle<Object>(value, GetIsolate()), | |
4141 attributes, | |
4142 value_type, | |
4143 mode, | |
4144 extensibility_check); | |
4145 } | |
4146 | |
4147 | |
4148 // Set a real local property, even if it is READ_ONLY. If the property is not | 4125 // Set a real local property, even if it is READ_ONLY. If the property is not |
4149 // present, add it with attributes NONE. This code is an exact clone of | 4126 // present, add it with attributes NONE. This code is an exact clone of |
4150 // SetProperty, with the check for IsReadOnly and the check for a | 4127 // SetProperty, with the check for IsReadOnly and the check for a |
4151 // callback setter removed. The two lines looking up the LookupResult | 4128 // callback setter removed. The two lines looking up the LookupResult |
4152 // result are also added. If one of the functions is changed, the other | 4129 // result are also added. If one of the functions is changed, the other |
4153 // should be. | 4130 // should be. |
4154 // Note that this method cannot be used to set the prototype of a function | 4131 // Note that this method cannot be used to set the prototype of a function |
4155 // because ConvertDescriptorToField() which is called in "case CALLBACKS:" | 4132 // because ConvertDescriptorToField() which is called in "case CALLBACKS:" |
4156 // doesn't handle function prototypes correctly. | 4133 // doesn't handle function prototypes correctly. |
4157 Handle<Object> JSObject::SetLocalPropertyIgnoreAttributes( | 4134 Handle<Object> JSObject::SetLocalPropertyIgnoreAttributes( |
(...skipping 12328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16486 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16463 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16487 static const char* error_messages_[] = { | 16464 static const char* error_messages_[] = { |
16488 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16465 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16489 }; | 16466 }; |
16490 #undef ERROR_MESSAGES_TEXTS | 16467 #undef ERROR_MESSAGES_TEXTS |
16491 return error_messages_[reason]; | 16468 return error_messages_[reason]; |
16492 } | 16469 } |
16493 | 16470 |
16494 | 16471 |
16495 } } // namespace v8::internal | 16472 } } // namespace v8::internal |
OLD | NEW |