OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_VM_CODE_DESCRIPTORS_H_ | 5 #ifndef RUNTIME_VM_CODE_DESCRIPTORS_H_ |
6 #define RUNTIME_VM_CODE_DESCRIPTORS_H_ | 6 #define RUNTIME_VM_CODE_DESCRIPTORS_H_ |
7 | 7 |
8 #include "vm/ast.h" | 8 #include "vm/ast.h" |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/globals.h" | 10 #include "vm/globals.h" |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 int32_t pc_offset, | 175 int32_t pc_offset, |
176 TokenPosition pos); | 176 TokenPosition pos); |
177 | 177 |
178 RawArray* InliningIdToFunction(); | 178 RawArray* InliningIdToFunction(); |
179 RawCodeSourceMap* Finalize(); | 179 RawCodeSourceMap* Finalize(); |
180 | 180 |
181 private: | 181 private: |
182 void BufferChangePosition(TokenPosition pos) { | 182 void BufferChangePosition(TokenPosition pos) { |
183 buffered_token_pos_stack_.Last() = pos; | 183 buffered_token_pos_stack_.Last() = pos; |
184 } | 184 } |
185 void WriteChangePosition(TokenPosition pos) { | 185 void WriteChangePosition(TokenPosition pos); |
186 stream_.Write<uint8_t>(kChangePosition); | |
187 stream_.Write<int32_t>(static_cast<int32_t>(pos.value())); | |
188 written_token_pos_stack_.Last() = pos; | |
189 } | |
190 void BufferAdvancePC(int32_t distance) { buffered_pc_offset_ += distance; } | 186 void BufferAdvancePC(int32_t distance) { buffered_pc_offset_ += distance; } |
191 void WriteAdvancePC(int32_t distance) { | 187 void WriteAdvancePC(int32_t distance) { |
192 stream_.Write<uint8_t>(kAdvancePC); | 188 stream_.Write<uint8_t>(kAdvancePC); |
193 stream_.Write<int32_t>(distance); | 189 stream_.Write<int32_t>(distance); |
194 written_pc_offset_ += distance; | 190 written_pc_offset_ += distance; |
195 } | 191 } |
196 void BufferPush(intptr_t inline_id) { | 192 void BufferPush(intptr_t inline_id) { |
197 buffered_inline_id_stack_.Add(inline_id); | 193 buffered_inline_id_stack_.Add(inline_id); |
198 buffered_token_pos_stack_.Add(kInitialPosition); | 194 buffered_token_pos_stack_.Add(kInitialPosition); |
199 } | 195 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 const CodeSourceMap& map_; | 260 const CodeSourceMap& map_; |
265 const Array& functions_; | 261 const Array& functions_; |
266 const Function& root_; | 262 const Function& root_; |
267 | 263 |
268 DISALLOW_COPY_AND_ASSIGN(CodeSourceMapReader); | 264 DISALLOW_COPY_AND_ASSIGN(CodeSourceMapReader); |
269 }; | 265 }; |
270 | 266 |
271 } // namespace dart | 267 } // namespace dart |
272 | 268 |
273 #endif // RUNTIME_VM_CODE_DESCRIPTORS_H_ | 269 #endif // RUNTIME_VM_CODE_DESCRIPTORS_H_ |
OLD | NEW |