Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: runtime/vm/pages.cc

Issue 1362743003: Add simple VM test for precompiled code. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ia32 marked as fail instead of skip Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/megamorphic_cache_table.cc ('k') | tests/standalone/precompilation_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « runtime/vm/megamorphic_cache_table.cc ('k') | tests/standalone/precompilation_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698