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/pages.h" | 5 #include "vm/pages.h" |
6 | 6 |
7 #include "platform/assert.h" | 7 #include "platform/assert.h" |
8 #include "vm/compiler_stats.h" | 8 #include "vm/compiler_stats.h" |
9 #include "vm/gc_marker.h" | 9 #include "vm/gc_marker.h" |
10 #include "vm/gc_sweeper.h" | 10 #include "vm/gc_sweeper.h" |
(...skipping 1027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1038 ASSERT(Utils::IsAligned(pointer, OS::PreferredCodeAlignment())); | 1038 ASSERT(Utils::IsAligned(pointer, OS::PreferredCodeAlignment())); |
1039 | 1039 |
1040 VirtualMemory* memory = VirtualMemory::ForInstructionsSnapshot(pointer, size); | 1040 VirtualMemory* memory = VirtualMemory::ForInstructionsSnapshot(pointer, size); |
1041 ASSERT(memory != NULL); | 1041 ASSERT(memory != NULL); |
1042 HeapPage* page = reinterpret_cast<HeapPage*>(malloc(sizeof(HeapPage))); | 1042 HeapPage* page = reinterpret_cast<HeapPage*>(malloc(sizeof(HeapPage))); |
1043 page->memory_ = memory; | 1043 page->memory_ = memory; |
1044 page->next_ = NULL; | 1044 page->next_ = NULL; |
1045 page->object_end_ = memory->end(); | 1045 page->object_end_ = memory->end(); |
1046 page->executable_ = true; | 1046 page->executable_ = true; |
1047 | 1047 |
1048 #if defined(DEBUG) | |
1049 OS::Print("Precompiled instructions page at [0x%" Px ", 0x%" Px ")\n", | |
1050 page->object_start(), page->object_end()); | |
1051 #endif | |
1052 | |
1053 MutexLocker ml(pages_lock_); | 1048 MutexLocker ml(pages_lock_); |
1054 if (exec_pages_ == NULL) { | 1049 if (exec_pages_ == NULL) { |
1055 exec_pages_ = page; | 1050 exec_pages_ = page; |
1056 } else { | 1051 } else { |
1057 exec_pages_tail_->set_next(page); | 1052 exec_pages_tail_->set_next(page); |
1058 } | 1053 } |
1059 exec_pages_tail_ = page; | 1054 exec_pages_tail_ = page; |
1060 } | 1055 } |
1061 | 1056 |
1062 | 1057 |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 return 0; | 1180 return 0; |
1186 } else { | 1181 } else { |
1187 ASSERT(total_time >= gc_time); | 1182 ASSERT(total_time >= gc_time); |
1188 int result = static_cast<int>((static_cast<double>(gc_time) / | 1183 int result = static_cast<int>((static_cast<double>(gc_time) / |
1189 static_cast<double>(total_time)) * 100); | 1184 static_cast<double>(total_time)) * 100); |
1190 return result; | 1185 return result; |
1191 } | 1186 } |
1192 } | 1187 } |
1193 | 1188 |
1194 } // namespace dart | 1189 } // namespace dart |
OLD | NEW |