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 #include "vm/code_descriptors.h" | 5 #include "vm/code_descriptors.h" |
6 | 6 |
7 #include "vm/log.h" | 7 #include "vm/log.h" |
8 | 8 |
9 namespace dart { | 9 namespace dart { |
10 | 10 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 return true; | 66 return true; |
67 } | 67 } |
68 | 68 |
69 | 69 |
70 RawArray* StackMapTableBuilder::FinalizeStackMaps(const Code& code) { | 70 RawArray* StackMapTableBuilder::FinalizeStackMaps(const Code& code) { |
71 ASSERT(Verify()); | 71 ASSERT(Verify()); |
72 intptr_t num_entries = Length(); | 72 intptr_t num_entries = Length(); |
73 if (num_entries == 0) { | 73 if (num_entries == 0) { |
74 return Object::empty_array().raw(); | 74 return Object::empty_array().raw(); |
75 } | 75 } |
76 return Array::MakeArray(list_); | 76 return Array::MakeFixedLength(list_); |
77 } | 77 } |
78 | 78 |
79 | 79 |
80 RawStackMap* StackMapTableBuilder::MapAt(intptr_t index) const { | 80 RawStackMap* StackMapTableBuilder::MapAt(intptr_t index) const { |
81 StackMap& map = StackMap::Handle(); | 81 StackMap& map = StackMap::Handle(); |
82 map ^= list_.At(index); | 82 map ^= list_.At(index); |
83 return map.raw(); | 83 return map.raw(); |
84 } | 84 } |
85 | 85 |
86 | 86 |
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
399 } | 399 } |
400 inlined_functions_.Add(function, Heap::kOld); | 400 inlined_functions_.Add(function, Heap::kOld); |
401 return inlined_functions_.Length() - 1; | 401 return inlined_functions_.Length() - 1; |
402 } | 402 } |
403 | 403 |
404 | 404 |
405 RawArray* CodeSourceMapBuilder::InliningIdToFunction() { | 405 RawArray* CodeSourceMapBuilder::InliningIdToFunction() { |
406 if (inlined_functions_.Length() == 0) { | 406 if (inlined_functions_.Length() == 0) { |
407 return Object::empty_array().raw(); | 407 return Object::empty_array().raw(); |
408 } | 408 } |
409 return Array::MakeArray(inlined_functions_); | 409 return Array::MakeFixedLength(inlined_functions_); |
410 } | 410 } |
411 | 411 |
412 | 412 |
413 RawCodeSourceMap* CodeSourceMapBuilder::Finalize() { | 413 RawCodeSourceMap* CodeSourceMapBuilder::Finalize() { |
414 if (!stack_traces_only_) { | 414 if (!stack_traces_only_) { |
415 FlushBuffer(); | 415 FlushBuffer(); |
416 } | 416 } |
417 intptr_t length = stream_.bytes_written(); | 417 intptr_t length = stream_.bytes_written(); |
418 const CodeSourceMap& map = CodeSourceMap::Handle(CodeSourceMap::New(length)); | 418 const CodeSourceMap& map = CodeSourceMap::Handle(CodeSourceMap::New(length)); |
419 NoSafepointScope no_safepoint; | 419 NoSafepointScope no_safepoint; |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 break; | 648 break; |
649 } | 649 } |
650 default: | 650 default: |
651 UNREACHABLE(); | 651 UNREACHABLE(); |
652 } | 652 } |
653 } | 653 } |
654 THR_Print("}\n"); | 654 THR_Print("}\n"); |
655 } | 655 } |
656 | 656 |
657 } // namespace dart | 657 } // namespace dart |
OLD | NEW |