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 83 matching lines...) Loading... |
94 static void QuietNaN(HeapObject* nan) { } | 94 static void QuietNaN(HeapObject* nan) { } |
95 | 95 |
96 int pc_offset() const { return static_cast<int>(pc_ - buffer_); } | 96 int pc_offset() const { return static_cast<int>(pc_ - buffer_); } |
97 | 97 |
98 // This function is called when code generation is aborted, so that | 98 // This function is called when code generation is aborted, so that |
99 // the assembler could clean up internal data structures. | 99 // the assembler could clean up internal data structures. |
100 virtual void AbortedCodeGeneration() { } | 100 virtual void AbortedCodeGeneration() { } |
101 | 101 |
102 static const int kMinimalBufferSize = 4*KB; | 102 static const int kMinimalBufferSize = 4*KB; |
103 | 103 |
| 104 static void FlushICache(Isolate* isolate, void* start, size_t size); |
| 105 |
| 106 // TODO(all): Help get rid of this one. |
| 107 static void FlushICacheWithoutIsolate(void* start, size_t size); |
| 108 |
104 protected: | 109 protected: |
105 // The buffer into which code and relocation info are generated. It could | 110 // The buffer into which code and relocation info are generated. It could |
106 // either be owned by the assembler or be provided externally. | 111 // either be owned by the assembler or be provided externally. |
107 byte* buffer_; | 112 byte* buffer_; |
108 int buffer_size_; | 113 int buffer_size_; |
109 bool own_buffer_; | 114 bool own_buffer_; |
110 | 115 |
111 void set_constant_pool_available(bool available) { | 116 void set_constant_pool_available(bool available) { |
112 if (FLAG_enable_embedded_constant_pool) { | 117 if (FLAG_enable_embedded_constant_pool) { |
113 constant_pool_available_ = available; | 118 constant_pool_available_ = available; |
(...skipping 1153 matching lines...) Loading... |
1267 }; | 1272 }; |
1268 | 1273 |
1269 Label emitted_label_; // Records pc_offset of emitted pool | 1274 Label emitted_label_; // Records pc_offset of emitted pool |
1270 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; | 1275 PerTypeEntryInfo info_[ConstantPoolEntry::NUMBER_OF_TYPES]; |
1271 }; | 1276 }; |
1272 | 1277 |
1273 | 1278 |
1274 } } // namespace v8::internal | 1279 } } // namespace v8::internal |
1275 | 1280 |
1276 #endif // V8_ASSEMBLER_H_ | 1281 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |