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 <iomanip> | 5 #include <iomanip> |
6 #include <sstream> | 6 #include <sstream> |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 3985 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3996 writable = isolate->factory()->ToBoolean(!setter->IsUndefined()); | 3996 writable = isolate->factory()->ToBoolean(!setter->IsUndefined()); |
3997 } | 3997 } |
3998 | 3998 |
3999 if (configurable->IsFalse()) { | 3999 if (configurable->IsFalse()) { |
4000 Handle<Object> handler(proxy->handler(), isolate); | 4000 Handle<Object> handler(proxy->handler(), isolate); |
4001 Handle<String> trap = isolate->factory()->InternalizeOneByteString( | 4001 Handle<String> trap = isolate->factory()->InternalizeOneByteString( |
4002 STATIC_CHAR_VECTOR("getPropertyDescriptor")); | 4002 STATIC_CHAR_VECTOR("getPropertyDescriptor")); |
4003 Handle<Object> error = isolate->factory()->NewTypeError( | 4003 Handle<Object> error = isolate->factory()->NewTypeError( |
4004 MessageTemplate::kProxyPropNotConfigurable, handler, name, trap); | 4004 MessageTemplate::kProxyPropNotConfigurable, handler, name, trap); |
4005 isolate->Throw(*error); | 4005 isolate->Throw(*error); |
4006 return Just(NONE); | 4006 return Nothing<PropertyAttributes>(); |
4007 } | 4007 } |
4008 | 4008 |
4009 int attributes = NONE; | 4009 int attributes = NONE; |
4010 if (!enumerable->BooleanValue()) attributes |= DONT_ENUM; | 4010 if (!enumerable->BooleanValue()) attributes |= DONT_ENUM; |
4011 if (!configurable->BooleanValue()) attributes |= DONT_DELETE; | 4011 if (!configurable->BooleanValue()) attributes |= DONT_DELETE; |
4012 if (!writable->BooleanValue()) attributes |= READ_ONLY; | 4012 if (!writable->BooleanValue()) attributes |= READ_ONLY; |
4013 return Just(static_cast<PropertyAttributes>(attributes)); | 4013 return Just(static_cast<PropertyAttributes>(attributes)); |
4014 } | 4014 } |
4015 | 4015 |
4016 | 4016 |
(...skipping 12114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16131 Handle<Object> new_value) { | 16131 Handle<Object> new_value) { |
16132 if (cell->value() != *new_value) { | 16132 if (cell->value() != *new_value) { |
16133 cell->set_value(*new_value); | 16133 cell->set_value(*new_value); |
16134 Isolate* isolate = cell->GetIsolate(); | 16134 Isolate* isolate = cell->GetIsolate(); |
16135 cell->dependent_code()->DeoptimizeDependentCodeGroup( | 16135 cell->dependent_code()->DeoptimizeDependentCodeGroup( |
16136 isolate, DependentCode::kPropertyCellChangedGroup); | 16136 isolate, DependentCode::kPropertyCellChangedGroup); |
16137 } | 16137 } |
16138 } | 16138 } |
16139 } // namespace internal | 16139 } // namespace internal |
16140 } // namespace v8 | 16140 } // namespace v8 |
OLD | NEW |