OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 7159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7170 | 7170 |
7171 // Foreign describes objects pointing from JavaScript to C structures. | 7171 // Foreign describes objects pointing from JavaScript to C structures. |
7172 // Since they cannot contain references to JS HeapObjects they can be | 7172 // Since they cannot contain references to JS HeapObjects they can be |
7173 // placed in old_data_space. | 7173 // placed in old_data_space. |
7174 class Foreign: public HeapObject { | 7174 class Foreign: public HeapObject { |
7175 public: | 7175 public: |
7176 // [address]: field containing the address. | 7176 // [address]: field containing the address. |
7177 inline Address foreign_address(); | 7177 inline Address foreign_address(); |
7178 inline void set_foreign_address(Address value); | 7178 inline void set_foreign_address(Address value); |
7179 | 7179 |
7180 Address address() { OS::DebugBreak(); return NULL; } | |
7181 | |
7182 // Casting. | 7180 // Casting. |
7183 static inline Foreign* cast(Object* obj); | 7181 static inline Foreign* cast(Object* obj); |
7184 | 7182 |
7185 // Dispatched behavior. | 7183 // Dispatched behavior. |
7186 inline void ForeignIterateBody(ObjectVisitor* v); | 7184 inline void ForeignIterateBody(ObjectVisitor* v); |
7187 | 7185 |
7188 template<typename StaticVisitor> | 7186 template<typename StaticVisitor> |
7189 inline void ForeignIterateBody(); | 7187 inline void ForeignIterateBody(); |
7190 | 7188 |
7191 #ifdef OBJECT_PRINT | 7189 #ifdef OBJECT_PRINT |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7808 } else { | 7806 } else { |
7809 value &= ~(1 << bit_position); | 7807 value &= ~(1 << bit_position); |
7810 } | 7808 } |
7811 return value; | 7809 return value; |
7812 } | 7810 } |
7813 }; | 7811 }; |
7814 | 7812 |
7815 } } // namespace v8::internal | 7813 } } // namespace v8::internal |
7816 | 7814 |
7817 #endif // V8_OBJECTS_H_ | 7815 #endif // V8_OBJECTS_H_ |
OLD | NEW |