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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 22 matching lines...) Expand all Loading... |
33 // Copyright 2011 the V8 project authors. All rights reserved. | 33 // Copyright 2011 the V8 project authors. All rights reserved. |
34 | 34 |
35 // A light-weight IA32 Assembler. | 35 // A light-weight IA32 Assembler. |
36 | 36 |
37 #ifndef V8_IA32_ASSEMBLER_IA32_H_ | 37 #ifndef V8_IA32_ASSEMBLER_IA32_H_ |
38 #define V8_IA32_ASSEMBLER_IA32_H_ | 38 #define V8_IA32_ASSEMBLER_IA32_H_ |
39 | 39 |
40 #include <deque> | 40 #include <deque> |
41 | 41 |
42 #include "src/assembler.h" | 42 #include "src/assembler.h" |
| 43 #include "src/compiler.h" |
43 #include "src/isolate.h" | 44 #include "src/isolate.h" |
44 #include "src/serialize.h" | 45 #include "src/serialize.h" |
45 | 46 |
46 namespace v8 { | 47 namespace v8 { |
47 namespace internal { | 48 namespace internal { |
48 | 49 |
49 // CPU Registers. | 50 // CPU Registers. |
50 // | 51 // |
51 // 1) We would prefer to use an enum, but enum values are assignment- | 52 // 1) We would prefer to use an enum, but enum values are assignment- |
52 // compatible with int, which has caused code-generation bugs. | 53 // compatible with int, which has caused code-generation bugs. |
(...skipping 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1259 | 1260 |
1260 // Mark address of a debug break slot. | 1261 // Mark address of a debug break slot. |
1261 void RecordDebugBreakSlot(); | 1262 void RecordDebugBreakSlot(); |
1262 | 1263 |
1263 // Record a comment relocation entry that can be used by a disassembler. | 1264 // Record a comment relocation entry that can be used by a disassembler. |
1264 // Use --code-comments to enable. | 1265 // Use --code-comments to enable. |
1265 void RecordComment(const char* msg); | 1266 void RecordComment(const char* msg); |
1266 | 1267 |
1267 // Record a deoptimization reason that can be used by a log or cpu profiler. | 1268 // Record a deoptimization reason that can be used by a log or cpu profiler. |
1268 // Use --trace-deopt to enable. | 1269 // Use --trace-deopt to enable. |
1269 void RecordDeoptReason(const int reason, const int raw_position); | 1270 void RecordDeoptReason(const int reason, const SourcePosition position); |
1270 | 1271 |
1271 // Writes a single byte or word of data in the code stream. Used for | 1272 // Writes a single byte or word of data in the code stream. Used for |
1272 // inline tables, e.g., jump-tables. | 1273 // inline tables, e.g., jump-tables. |
1273 void db(uint8_t data); | 1274 void db(uint8_t data); |
1274 void dd(uint32_t data); | 1275 void dd(uint32_t data); |
1275 void dd(Label* label); | 1276 void dd(Label* label); |
1276 | 1277 |
1277 // Check if there is less than kGap bytes available in the buffer. | 1278 // Check if there is less than kGap bytes available in the buffer. |
1278 // If this is the case, we need to grow the buffer before emitting | 1279 // If this is the case, we need to grow the buffer before emitting |
1279 // an instruction or relocation information. | 1280 // an instruction or relocation information. |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1412 private: | 1413 private: |
1413 Assembler* assembler_; | 1414 Assembler* assembler_; |
1414 #ifdef DEBUG | 1415 #ifdef DEBUG |
1415 int space_before_; | 1416 int space_before_; |
1416 #endif | 1417 #endif |
1417 }; | 1418 }; |
1418 | 1419 |
1419 } } // namespace v8::internal | 1420 } } // namespace v8::internal |
1420 | 1421 |
1421 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1422 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |