OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 3079 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3090 if (convert_back_to_fast) { | 3090 if (convert_back_to_fast) { |
3091 { MaybeObject* maybe_ok = TransformToFastProperties(0); | 3091 { MaybeObject* maybe_ok = TransformToFastProperties(0); |
3092 if (!maybe_ok->ToObject(&ok)) return maybe_ok; | 3092 if (!maybe_ok->ToObject(&ok)) return maybe_ok; |
3093 } | 3093 } |
3094 } | 3094 } |
3095 return result; | 3095 return result; |
3096 } | 3096 } |
3097 | 3097 |
3098 MaybeObject* JSObject::DefineAccessor(String* name, | 3098 MaybeObject* JSObject::DefineAccessor(String* name, |
3099 bool is_getter, | 3099 bool is_getter, |
3100 JSFunction* fun, | 3100 Object* fun, |
3101 PropertyAttributes attributes) { | 3101 PropertyAttributes attributes) { |
| 3102 ASSERT(fun->IsJSFunction() || fun->IsUndefined()); |
3102 // Check access rights if needed. | 3103 // Check access rights if needed. |
3103 if (IsAccessCheckNeeded() && | 3104 if (IsAccessCheckNeeded() && |
3104 !Top::MayNamedAccess(this, name, v8::ACCESS_SET)) { | 3105 !Top::MayNamedAccess(this, name, v8::ACCESS_SET)) { |
3105 Top::ReportFailedAccessCheck(this, v8::ACCESS_SET); | 3106 Top::ReportFailedAccessCheck(this, v8::ACCESS_SET); |
3106 return Heap::undefined_value(); | 3107 return Heap::undefined_value(); |
3107 } | 3108 } |
3108 | 3109 |
3109 if (IsJSGlobalProxy()) { | 3110 if (IsJSGlobalProxy()) { |
3110 Object* proto = GetPrototype(); | 3111 Object* proto = GetPrototype(); |
3111 if (proto->IsNull()) return this; | 3112 if (proto->IsNull()) return this; |
(...skipping 6633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9745 if (break_point_objects()->IsUndefined()) return 0; | 9746 if (break_point_objects()->IsUndefined()) return 0; |
9746 // Single beak point. | 9747 // Single beak point. |
9747 if (!break_point_objects()->IsFixedArray()) return 1; | 9748 if (!break_point_objects()->IsFixedArray()) return 1; |
9748 // Multiple break points. | 9749 // Multiple break points. |
9749 return FixedArray::cast(break_point_objects())->length(); | 9750 return FixedArray::cast(break_point_objects())->length(); |
9750 } | 9751 } |
9751 #endif | 9752 #endif |
9752 | 9753 |
9753 | 9754 |
9754 } } // namespace v8::internal | 9755 } } // namespace v8::internal |
OLD | NEW |