| 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 |