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

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

Issue 14786012: Second step towards loading the core library scripts directly from the sources (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/os_android.cc ('k') | runtime/vm/symbols.h » ('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/globals.h" 5 #include "vm/globals.h"
6 #if defined(TARGET_OS_LINUX) 6 #if defined(TARGET_OS_LINUX)
7 7
8 #include "vm/os.h" 8 #include "vm/os.h"
9 9
10 #include <errno.h> // NOLINT 10 #include <errno.h> // NOLINT
(...skipping 28 matching lines...) Expand all
39 "Writes pprof events symbols to the provided file"); 39 "Writes pprof events symbols to the provided file");
40 40
41 class LowLevelProfileCodeObserver : public CodeObserver { 41 class LowLevelProfileCodeObserver : public CodeObserver {
42 public: 42 public:
43 LowLevelProfileCodeObserver() { 43 LowLevelProfileCodeObserver() {
44 Dart_FileOpenCallback file_open = Isolate::file_open_callback(); 44 Dart_FileOpenCallback file_open = Isolate::file_open_callback();
45 if (file_open == NULL) { 45 if (file_open == NULL) {
46 return; 46 return;
47 } 47 }
48 const char* filename = "v8.log.ll"; 48 const char* filename = "v8.log.ll";
49 log_file_ = (*file_open)(filename); 49 log_file_ = (*file_open)(filename, true);
50 #if defined(TARGET_ARCH_IA32) 50 #if defined(TARGET_ARCH_IA32)
51 const char arch[] = "ia32"; 51 const char arch[] = "ia32";
52 #elif defined(TARGET_ARCH_X64) 52 #elif defined(TARGET_ARCH_X64)
53 const char arch[] = "x64"; 53 const char arch[] = "x64";
54 #elif defined(TARGET_ARCH_ARM) 54 #elif defined(TARGET_ARCH_ARM)
55 const char arch[] = "arm"; 55 const char arch[] = "arm";
56 #elif defined(TARGET_ARCH_MIPS) 56 #elif defined(TARGET_ARCH_MIPS)
57 const char arch[] = "mips"; 57 const char arch[] = "mips";
58 #else 58 #else
59 const char arch[] = "unknown"; 59 const char arch[] = "unknown";
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 PerfCodeObserver() { 127 PerfCodeObserver() {
128 Dart_FileOpenCallback file_open = Isolate::file_open_callback(); 128 Dart_FileOpenCallback file_open = Isolate::file_open_callback();
129 if (file_open == NULL) { 129 if (file_open == NULL) {
130 return; 130 return;
131 } 131 }
132 const char* format = "/tmp/perf-%ld.map"; 132 const char* format = "/tmp/perf-%ld.map";
133 intptr_t pid = getpid(); 133 intptr_t pid = getpid();
134 intptr_t len = OS::SNPrint(NULL, 0, format, pid); 134 intptr_t len = OS::SNPrint(NULL, 0, format, pid);
135 char* filename = new char[len + 1]; 135 char* filename = new char[len + 1];
136 OS::SNPrint(filename, len + 1, format, pid); 136 OS::SNPrint(filename, len + 1, format, pid);
137 out_file_ = (*file_open)(filename); 137 out_file_ = (*file_open)(filename, true);
138 } 138 }
139 139
140 ~PerfCodeObserver() { 140 ~PerfCodeObserver() {
141 Dart_FileCloseCallback file_close = Isolate::file_close_callback(); 141 Dart_FileCloseCallback file_close = Isolate::file_close_callback();
142 if (file_close == NULL) { 142 if (file_close == NULL) {
143 return; 143 return;
144 } 144 }
145 ASSERT(out_file_ != NULL); 145 ASSERT(out_file_ != NULL);
146 (*file_close)(out_file_); 146 (*file_close)(out_file_);
147 } 147 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 return; 188 return;
189 } 189 }
190 Dart_FileWriteCallback file_write = Isolate::file_write_callback(); 190 Dart_FileWriteCallback file_write = Isolate::file_write_callback();
191 if (file_write == NULL) { 191 if (file_write == NULL) {
192 return; 192 return;
193 } 193 }
194 if (FLAG_generate_pprof_symbols == NULL) { 194 if (FLAG_generate_pprof_symbols == NULL) {
195 return; 195 return;
196 } 196 }
197 const char* filename = FLAG_generate_pprof_symbols; 197 const char* filename = FLAG_generate_pprof_symbols;
198 void* out_file = (*file_open)(filename); 198 void* out_file = (*file_open)(filename, true);
199 ASSERT(out_file != NULL); 199 ASSERT(out_file != NULL);
200 DebugInfo::ByteBuffer* debug_region = new DebugInfo::ByteBuffer(); 200 DebugInfo::ByteBuffer* debug_region = new DebugInfo::ByteBuffer();
201 ASSERT(debug_region != NULL); 201 ASSERT(debug_region != NULL);
202 pprof_symbol_generator_->WriteToMemory(debug_region); 202 pprof_symbol_generator_->WriteToMemory(debug_region);
203 int buffer_size = debug_region->size(); 203 int buffer_size = debug_region->size();
204 void* buffer = debug_region->data(); 204 void* buffer = debug_region->data();
205 if (buffer_size > 0) { 205 if (buffer_size > 0) {
206 ASSERT(buffer != NULL); 206 ASSERT(buffer != NULL);
207 (*file_write)(buffer, buffer_size, out_file); 207 (*file_write)(buffer, buffer_size, out_file);
208 } 208 }
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 } 515 }
516 516
517 517
518 void OS::Exit(int code) { 518 void OS::Exit(int code) {
519 exit(code); 519 exit(code);
520 } 520 }
521 521
522 } // namespace dart 522 } // namespace dart
523 523
524 #endif // defined(TARGET_OS_LINUX) 524 #endif // defined(TARGET_OS_LINUX)
OLDNEW
« no previous file with comments | « runtime/vm/os_android.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698