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 12 matching lines...) Expand all Loading... |
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 |
28 #ifndef V8_OBJECTS_VISITING_H_ | 28 #ifndef V8_OBJECTS_VISITING_H_ |
29 #define V8_OBJECTS_VISITING_H_ | 29 #define V8_OBJECTS_VISITING_H_ |
30 | 30 |
31 #include "allocation.h" | 31 #include "allocation.h" |
32 | 32 |
| 33 #if V8_TARGET_ARCH_IA32 |
| 34 #include "ia32/assembler-ia32.h" |
| 35 #include "ia32/assembler-ia32-inl.h" |
| 36 #elif V8_TARGET_ARCH_X64 |
| 37 #include "x64/assembler-x64.h" |
| 38 #include "x64/assembler-x64-inl.h" |
| 39 #elif V8_TARGET_ARCH_ARM |
| 40 #include "arm/assembler-arm.h" |
| 41 #include "arm/assembler-arm-inl.h" |
| 42 #elif V8_TARGET_ARCH_MIPS |
| 43 #include "mips/assembler-mips.h" |
| 44 #include "mips/assembler-mips-inl.h" |
| 45 #else |
| 46 #error Unsupported target architecture. |
| 47 #endif |
| 48 |
33 // This file provides base classes and auxiliary methods for defining | 49 // This file provides base classes and auxiliary methods for defining |
34 // static object visitors used during GC. | 50 // static object visitors used during GC. |
35 // Visiting HeapObject body with a normal ObjectVisitor requires performing | 51 // Visiting HeapObject body with a normal ObjectVisitor requires performing |
36 // two switches on object's instance type to determine object size and layout | 52 // two switches on object's instance type to determine object size and layout |
37 // and one or more virtual method calls on visitor itself. | 53 // and one or more virtual method calls on visitor itself. |
38 // Static visitor is different: it provides a dispatch table which contains | 54 // Static visitor is different: it provides a dispatch table which contains |
39 // pointers to specialized visit functions. Each map has the visitor_id | 55 // pointers to specialized visit functions. Each map has the visitor_id |
40 // field which contains an index of specialized visitor to use. | 56 // field which contains an index of specialized visitor to use. |
41 | 57 |
42 namespace v8 { | 58 namespace v8 { |
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 | 446 |
431 for (; !it.done(); it.next()) { | 447 for (; !it.done(); it.next()) { |
432 it.rinfo()->template Visit<StaticVisitor>(heap); | 448 it.rinfo()->template Visit<StaticVisitor>(heap); |
433 } | 449 } |
434 } | 450 } |
435 | 451 |
436 | 452 |
437 } } // namespace v8::internal | 453 } } // namespace v8::internal |
438 | 454 |
439 #endif // V8_OBJECTS_VISITING_H_ | 455 #endif // V8_OBJECTS_VISITING_H_ |
OLD | NEW |