Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COURGETTE_ASSEMBLY_PROGRAM_H_ | 5 #ifndef COURGETTE_ASSEMBLY_PROGRAM_H_ |
| 6 #define COURGETTE_ASSEMBLY_PROGRAM_H_ | 6 #define COURGETTE_ASSEMBLY_PROGRAM_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 80 // Generates an ELF style relocation table for ARM. | 80 // Generates an ELF style relocation table for ARM. |
| 81 CheckBool EmitElfARMRelocationInstruction() WARN_UNUSED_RESULT; | 81 CheckBool EmitElfARMRelocationInstruction() WARN_UNUSED_RESULT; |
| 82 | 82 |
| 83 // Following instruction will be assembled at address 'rva'. | 83 // Following instruction will be assembled at address 'rva'. |
| 84 CheckBool EmitOriginInstruction(RVA rva) WARN_UNUSED_RESULT; | 84 CheckBool EmitOriginInstruction(RVA rva) WARN_UNUSED_RESULT; |
| 85 | 85 |
| 86 // Generates a single byte of data or machine instruction. | 86 // Generates a single byte of data or machine instruction. |
| 87 CheckBool EmitByteInstruction(uint8 byte) WARN_UNUSED_RESULT; | 87 CheckBool EmitByteInstruction(uint8 byte) WARN_UNUSED_RESULT; |
| 88 | 88 |
| 89 // Generates multiple bytes of data or machine instructions. | 89 // Generates multiple bytes of data or machine instructions. |
| 90 CheckBool EmitBytesInstruction(const uint8* value, uint32 len) | 90 CheckBool EmitBytesInstruction(const uint8* value, size_t len) |
|
Peter Kasting
2014/09/30 00:08:01
Only called by DisassemblerElf32::ParseSimpleRegio
| |
| 91 WARN_UNUSED_RESULT; | 91 WARN_UNUSED_RESULT; |
| 92 | 92 |
| 93 // Generates 4-byte relative reference to address of 'label'. | 93 // Generates 4-byte relative reference to address of 'label'. |
| 94 CheckBool EmitRel32(Label* label) WARN_UNUSED_RESULT; | 94 CheckBool EmitRel32(Label* label) WARN_UNUSED_RESULT; |
| 95 | 95 |
| 96 // Generates 4-byte relative reference to address of 'label' for | 96 // Generates 4-byte relative reference to address of 'label' for |
| 97 // ARM. | 97 // ARM. |
| 98 CheckBool EmitRel32ARM(uint16 op, Label* label, const uint8* arm_op, | 98 CheckBool EmitRel32ARM(uint16 op, Label* label, const uint8* arm_op, |
| 99 uint16 op_size) WARN_UNUSED_RESULT; | 99 uint16 op_size) WARN_UNUSED_RESULT; |
| 100 | 100 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 159 // We have separate label spaces for addresses referenced by rel32 labels and | 159 // We have separate label spaces for addresses referenced by rel32 labels and |
| 160 // abs32 labels. This is somewhat arbitrary. | 160 // abs32 labels. This is somewhat arbitrary. |
| 161 RVAToLabel rel32_labels_; | 161 RVAToLabel rel32_labels_; |
| 162 RVAToLabel abs32_labels_; | 162 RVAToLabel abs32_labels_; |
| 163 | 163 |
| 164 DISALLOW_COPY_AND_ASSIGN(AssemblyProgram); | 164 DISALLOW_COPY_AND_ASSIGN(AssemblyProgram); |
| 165 }; | 165 }; |
| 166 | 166 |
| 167 } // namespace courgette | 167 } // namespace courgette |
| 168 #endif // COURGETTE_ASSEMBLY_PROGRAM_H_ | 168 #endif // COURGETTE_ASSEMBLY_PROGRAM_H_ |
| OLD | NEW |