Chromium Code Reviews| 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 namespace dart { | 7 namespace dart { |
| 8 | 8 |
| 9 void DescriptorList::AddDescriptor(RawPcDescriptors::Kind kind, | 9 void DescriptorList::AddDescriptor(RawPcDescriptors::Kind kind, |
| 10 intptr_t pc_offset, | 10 intptr_t pc_offset, |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 77 return Array::MakeArray(list_); | 77 return Array::MakeArray(list_); |
| 78 } | 78 } |
| 79 | 79 |
| 80 | 80 |
| 81 RawStackmap* StackmapTableBuilder::MapAt(intptr_t index) const { | 81 RawStackmap* StackmapTableBuilder::MapAt(intptr_t index) const { |
| 82 Stackmap& map = Stackmap::Handle(); | 82 Stackmap& map = Stackmap::Handle(); |
| 83 map ^= list_.At(index); | 83 map ^= list_.At(index); |
| 84 return map.raw(); | 84 return map.raw(); |
| 85 } | 85 } |
| 86 | 86 |
| 87 | |
| 88 RawExceptionHandlers* ExceptionHandlerList::FinalizeExceptionHandlers( | |
| 89 uword entry_point) const { | |
| 90 intptr_t num_handlers = Length(); | |
| 91 if (num_handlers == 0) { | |
| 92 return Object::empty_exception_handlers().raw(); | |
| 93 } | |
| 94 const ExceptionHandlers& handlers = | |
| 95 ExceptionHandlers::Handle(ExceptionHandlers::New(num_handlers)); | |
| 96 for (intptr_t i = 0; i < num_handlers; i++) { | |
| 97 // Assert that every element in the array has been initialized. | |
| 98 if (list_[i].handler_types == NULL) { | |
| 99 // Unreachable handler, entry not computed. | |
| 100 // Initialize it to some meaningful value. | |
| 101 bool has_catch_all = false; | |
|
hausner
2015/03/12 18:25:08
const bool, or just use the literal false below. I
srdjan
2015/03/12 18:28:44
Done.
| |
| 102 ASSERT((list_[i].outer_try_index == -1) && | |
| 103 (list_[i].pc_offset == -1)); // It is uninitialized. | |
| 104 handlers.SetHandlerInfo(i, | |
| 105 list_[i].outer_try_index, | |
| 106 list_[i].pc_offset, | |
| 107 list_[i].needs_stacktrace, | |
| 108 has_catch_all); | |
| 109 handlers.SetHandledTypes(i, Array::null_array()); | |
| 110 } else { | |
| 111 bool has_catch_all = ContainsDynamic(*list_[i].handler_types); | |
|
hausner
2015/03/12 18:25:08
For consistency's sake, also const bool.
srdjan
2015/03/12 18:28:44
Done.
| |
| 112 handlers.SetHandlerInfo(i, | |
| 113 list_[i].outer_try_index, | |
| 114 list_[i].pc_offset, | |
| 115 list_[i].needs_stacktrace, | |
| 116 has_catch_all); | |
| 117 handlers.SetHandledTypes(i, *list_[i].handler_types); | |
| 118 } | |
| 119 } | |
| 120 return handlers.raw(); | |
| 121 } | |
| 122 | |
| 123 | |
| 87 } // namespace dart | 124 } // namespace dart |
| OLD | NEW |