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 2012 the V8 project authors. All rights reserved. | 33 // Copyright 2012 the V8 project authors. All rights reserved. |
34 | 34 |
35 // A lightweight X64 Assembler. | 35 // A lightweight X64 Assembler. |
36 | 36 |
37 #ifndef V8_X64_ASSEMBLER_X64_H_ | 37 #ifndef V8_X64_ASSEMBLER_X64_H_ |
38 #define V8_X64_ASSEMBLER_X64_H_ | 38 #define V8_X64_ASSEMBLER_X64_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/serialize.h" | 44 #include "src/serialize.h" |
44 | 45 |
45 namespace v8 { | 46 namespace v8 { |
46 namespace internal { | 47 namespace internal { |
47 | 48 |
48 // Utility functions | 49 // Utility functions |
49 | 50 |
50 // CPU Registers. | 51 // CPU Registers. |
51 // | 52 // |
52 // 1) We would prefer to use an enum, but enum values are assignment- | 53 // 1) We would prefer to use an enum, but enum values are assignment- |
(...skipping 1281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1334 | 1335 |
1335 // Mark address of a debug break slot. | 1336 // Mark address of a debug break slot. |
1336 void RecordDebugBreakSlot(); | 1337 void RecordDebugBreakSlot(); |
1337 | 1338 |
1338 // Record a comment relocation entry that can be used by a disassembler. | 1339 // Record a comment relocation entry that can be used by a disassembler. |
1339 // Use --code-comments to enable. | 1340 // Use --code-comments to enable. |
1340 void RecordComment(const char* msg); | 1341 void RecordComment(const char* msg); |
1341 | 1342 |
1342 // Record a deoptimization reason that can be used by a log or cpu profiler. | 1343 // Record a deoptimization reason that can be used by a log or cpu profiler. |
1343 // Use --trace-deopt to enable. | 1344 // Use --trace-deopt to enable. |
1344 void RecordDeoptReason(const int reason, const int raw_position); | 1345 void RecordDeoptReason(const int reason, const SourcePosition position); |
1345 | 1346 |
1346 // Allocate a constant pool of the correct size for the generated code. | 1347 // Allocate a constant pool of the correct size for the generated code. |
1347 Handle<ConstantPoolArray> NewConstantPool(Isolate* isolate); | 1348 Handle<ConstantPoolArray> NewConstantPool(Isolate* isolate); |
1348 | 1349 |
1349 // Generate the constant pool for the generated code. | 1350 // Generate the constant pool for the generated code. |
1350 void PopulateConstantPool(ConstantPoolArray* constant_pool); | 1351 void PopulateConstantPool(ConstantPoolArray* constant_pool); |
1351 | 1352 |
1352 // Writes a single word of data in the code stream. | 1353 // Writes a single word of data in the code stream. |
1353 // Used for inline tables, e.g., jump-tables. | 1354 // Used for inline tables, e.g., jump-tables. |
1354 void db(uint8_t data); | 1355 void db(uint8_t data); |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1853 private: | 1854 private: |
1854 Assembler* assembler_; | 1855 Assembler* assembler_; |
1855 #ifdef DEBUG | 1856 #ifdef DEBUG |
1856 int space_before_; | 1857 int space_before_; |
1857 #endif | 1858 #endif |
1858 }; | 1859 }; |
1859 | 1860 |
1860 } } // namespace v8::internal | 1861 } } // namespace v8::internal |
1861 | 1862 |
1862 #endif // V8_X64_ASSEMBLER_X64_H_ | 1863 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |