OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 6177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6188 | 6188 |
6189 bool CanTransition() { | 6189 bool CanTransition() { |
6190 // Only JSObject and subtypes have map transitions and back pointers. | 6190 // Only JSObject and subtypes have map transitions and back pointers. |
6191 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE); | 6191 STATIC_ASSERT(LAST_TYPE == LAST_JS_OBJECT_TYPE); |
6192 return instance_type() >= FIRST_JS_OBJECT_TYPE; | 6192 return instance_type() >= FIRST_JS_OBJECT_TYPE; |
6193 } | 6193 } |
6194 | 6194 |
6195 bool IsJSObjectMap() { | 6195 bool IsJSObjectMap() { |
6196 return instance_type() >= FIRST_JS_OBJECT_TYPE; | 6196 return instance_type() >= FIRST_JS_OBJECT_TYPE; |
6197 } | 6197 } |
| 6198 bool IsJSGlobalProxyMap() { |
| 6199 return instance_type() == JS_GLOBAL_PROXY_TYPE; |
| 6200 } |
| 6201 bool IsJSGlobalObjectMap() { |
| 6202 return instance_type() == JS_GLOBAL_OBJECT_TYPE; |
| 6203 } |
| 6204 bool IsGlobalObjectMap() { |
| 6205 const InstanceType type = instance_type(); |
| 6206 return type == JS_GLOBAL_OBJECT_TYPE || type == JS_BUILTINS_OBJECT_TYPE; |
| 6207 } |
6198 | 6208 |
6199 // Fires when the layout of an object with a leaf map changes. | 6209 // Fires when the layout of an object with a leaf map changes. |
6200 // This includes adding transitions to the leaf map or changing | 6210 // This includes adding transitions to the leaf map or changing |
6201 // the descriptor array. | 6211 // the descriptor array. |
6202 inline void NotifyLeafMapLayoutChange(); | 6212 inline void NotifyLeafMapLayoutChange(); |
6203 | 6213 |
6204 inline bool CanOmitMapChecks(); | 6214 inline bool CanOmitMapChecks(); |
6205 | 6215 |
6206 void AddDependentCompilationInfo(DependentCode::DependencyGroup group, | 6216 void AddDependentCompilationInfo(DependentCode::DependencyGroup group, |
6207 CompilationInfo* info); | 6217 CompilationInfo* info); |
(...skipping 4357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10565 } else { | 10575 } else { |
10566 value &= ~(1 << bit_position); | 10576 value &= ~(1 << bit_position); |
10567 } | 10577 } |
10568 return value; | 10578 return value; |
10569 } | 10579 } |
10570 }; | 10580 }; |
10571 | 10581 |
10572 } } // namespace v8::internal | 10582 } } // namespace v8::internal |
10573 | 10583 |
10574 #endif // V8_OBJECTS_H_ | 10584 #endif // V8_OBJECTS_H_ |
OLD | NEW |