OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 26 matching lines...) Expand all Loading... |
37 // A light-weight PPC Assembler | 37 // A light-weight PPC Assembler |
38 // Generates user mode instructions for the PPC architecture up | 38 // Generates user mode instructions for the PPC architecture up |
39 | 39 |
40 #ifndef V8_PPC_ASSEMBLER_PPC_H_ | 40 #ifndef V8_PPC_ASSEMBLER_PPC_H_ |
41 #define V8_PPC_ASSEMBLER_PPC_H_ | 41 #define V8_PPC_ASSEMBLER_PPC_H_ |
42 | 42 |
43 #include <stdio.h> | 43 #include <stdio.h> |
44 #include <vector> | 44 #include <vector> |
45 | 45 |
46 #include "src/assembler.h" | 46 #include "src/assembler.h" |
| 47 #include "src/compiler.h" |
47 #include "src/ppc/constants-ppc.h" | 48 #include "src/ppc/constants-ppc.h" |
48 #include "src/serialize.h" | 49 #include "src/serialize.h" |
49 | 50 |
50 #define ABI_USES_FUNCTION_DESCRIPTORS \ | 51 #define ABI_USES_FUNCTION_DESCRIPTORS \ |
51 (V8_HOST_ARCH_PPC && (V8_OS_AIX || \ | 52 (V8_HOST_ARCH_PPC && (V8_OS_AIX || \ |
52 (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))) | 53 (V8_TARGET_ARCH_PPC64 && V8_TARGET_BIG_ENDIAN))) |
53 | 54 |
54 #define ABI_PASSES_HANDLES_IN_REGS \ | 55 #define ABI_PASSES_HANDLES_IN_REGS \ |
55 (!V8_HOST_ARCH_PPC || V8_OS_AIX || V8_TARGET_ARCH_PPC64) | 56 (!V8_HOST_ARCH_PPC || V8_OS_AIX || V8_TARGET_ARCH_PPC64) |
56 | 57 |
(...skipping 1238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1295 } | 1296 } |
1296 | 1297 |
1297 void ClearRecordedAstId() { recorded_ast_id_ = TypeFeedbackId::None(); } | 1298 void ClearRecordedAstId() { recorded_ast_id_ = TypeFeedbackId::None(); } |
1298 | 1299 |
1299 // Record a comment relocation entry that can be used by a disassembler. | 1300 // Record a comment relocation entry that can be used by a disassembler. |
1300 // Use --code-comments to enable. | 1301 // Use --code-comments to enable. |
1301 void RecordComment(const char* msg); | 1302 void RecordComment(const char* msg); |
1302 | 1303 |
1303 // Record a deoptimization reason that can be used by a log or cpu profiler. | 1304 // Record a deoptimization reason that can be used by a log or cpu profiler. |
1304 // Use --trace-deopt to enable. | 1305 // Use --trace-deopt to enable. |
1305 void RecordDeoptReason(const int reason, const int raw_position); | 1306 void RecordDeoptReason(const int reason, const SourcePosition position); |
1306 | 1307 |
1307 // Writes a single byte or word of data in the code stream. Used | 1308 // Writes a single byte or word of data in the code stream. Used |
1308 // for inline tables, e.g., jump-tables. | 1309 // for inline tables, e.g., jump-tables. |
1309 void db(uint8_t data); | 1310 void db(uint8_t data); |
1310 void dd(uint32_t data); | 1311 void dd(uint32_t data); |
1311 void emit_ptr(intptr_t data); | 1312 void emit_ptr(intptr_t data); |
1312 | 1313 |
1313 PositionsRecorder* positions_recorder() { return &positions_recorder_; } | 1314 PositionsRecorder* positions_recorder() { return &positions_recorder_; } |
1314 | 1315 |
1315 // Read/patch instructions | 1316 // Read/patch instructions |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1560 | 1561 |
1561 | 1562 |
1562 class EnsureSpace BASE_EMBEDDED { | 1563 class EnsureSpace BASE_EMBEDDED { |
1563 public: | 1564 public: |
1564 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } | 1565 explicit EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } |
1565 }; | 1566 }; |
1566 } | 1567 } |
1567 } // namespace v8::internal | 1568 } // namespace v8::internal |
1568 | 1569 |
1569 #endif // V8_PPC_ASSEMBLER_PPC_H_ | 1570 #endif // V8_PPC_ASSEMBLER_PPC_H_ |
OLD | NEW |