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 <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/accessors.h" | 9 #include "src/accessors.h" |
10 #include "src/allocation-site-scopes.h" | 10 #include "src/allocation-site-scopes.h" |
(...skipping 3978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3989 Object::GetProperty(desc, set_n), | 3989 Object::GetProperty(desc, set_n), |
3990 Maybe<PropertyAttributes>()); | 3990 Maybe<PropertyAttributes>()); |
3991 writable = isolate->factory()->ToBoolean(!setter->IsUndefined()); | 3991 writable = isolate->factory()->ToBoolean(!setter->IsUndefined()); |
3992 } | 3992 } |
3993 | 3993 |
3994 if (configurable->IsFalse()) { | 3994 if (configurable->IsFalse()) { |
3995 Handle<Object> handler(proxy->handler(), isolate); | 3995 Handle<Object> handler(proxy->handler(), isolate); |
3996 Handle<String> trap = isolate->factory()->InternalizeOneByteString( | 3996 Handle<String> trap = isolate->factory()->InternalizeOneByteString( |
3997 STATIC_CHAR_VECTOR("getPropertyDescriptor")); | 3997 STATIC_CHAR_VECTOR("getPropertyDescriptor")); |
3998 Handle<Object> args[] = { handler, trap, name }; | 3998 Handle<Object> args[] = { handler, trap, name }; |
3999 Handle<Object> error; | 3999 Handle<Object> error = isolate->factory()->NewTypeError( |
4000 MaybeHandle<Object> maybe_error = isolate->factory()->NewTypeError( | |
4001 "proxy_prop_not_configurable", HandleVector(args, arraysize(args))); | 4000 "proxy_prop_not_configurable", HandleVector(args, arraysize(args))); |
4002 if (maybe_error.ToHandle(&error)) isolate->Throw(*error); | 4001 isolate->Throw(*error); |
4003 return maybe(NONE); | 4002 return maybe(NONE); |
4004 } | 4003 } |
4005 | 4004 |
4006 int attributes = NONE; | 4005 int attributes = NONE; |
4007 if (!enumerable->BooleanValue()) attributes |= DONT_ENUM; | 4006 if (!enumerable->BooleanValue()) attributes |= DONT_ENUM; |
4008 if (!configurable->BooleanValue()) attributes |= DONT_DELETE; | 4007 if (!configurable->BooleanValue()) attributes |= DONT_DELETE; |
4009 if (!writable->BooleanValue()) attributes |= READ_ONLY; | 4008 if (!writable->BooleanValue()) attributes |= READ_ONLY; |
4010 return maybe(static_cast<PropertyAttributes>(attributes)); | 4009 return maybe(static_cast<PropertyAttributes>(attributes)); |
4011 } | 4010 } |
4012 | 4011 |
(...skipping 13331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
17344 CompilationInfo* info) { | 17343 CompilationInfo* info) { |
17345 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo( | 17344 Handle<DependentCode> codes = DependentCode::InsertCompilationInfo( |
17346 handle(cell->dependent_code(), info->isolate()), | 17345 handle(cell->dependent_code(), info->isolate()), |
17347 DependentCode::kPropertyCellChangedGroup, info->object_wrapper()); | 17346 DependentCode::kPropertyCellChangedGroup, info->object_wrapper()); |
17348 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); | 17347 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); |
17349 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( | 17348 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( |
17350 cell, info->zone()); | 17349 cell, info->zone()); |
17351 } | 17350 } |
17352 | 17351 |
17353 } } // namespace v8::internal | 17352 } } // namespace v8::internal |
OLD | NEW |