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

Side by Side Diff: runtime/bin/fuchsia_test.cc

Issue 2171453002: Fuchsia: Make fuchsia_test use snapshots (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/sdk/@master
Patch Set: Created 4 years, 5 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/bin/BUILD.gn ('k') | runtime/vm/os_fuchsia.cc » ('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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 <dart_api.h> 5 #include <dart_api.h>
6 #include <stdio.h> 6 #include <stdio.h>
7 #include <stdlib.h> 7 #include <stdlib.h>
8 #include <string.h> 8 #include <string.h>
9 9
10 #include "bin/log.h" 10 #include "bin/log.h"
11 #include "platform/assert.h" 11 #include "platform/assert.h"
12 12
13 const char* kBuiltinScript = 13 const char* kBuiltinScript =
14 "_printString(String line) native \"Builtin_PrintString\";\n" 14 "_printString(String line) native \"Builtin_PrintString\";\n"
15 "_getPrintClosure() => _printString;\n"; 15 "_getPrintClosure() => _printString;\n";
16 16
17 const char* kHelloWorldScript = "main() { print(\"Hello, Fuchsia!\"); }"; 17 const char* kHelloWorldScript = "main() { print(\"Hello, Fuchsia!\"); }";
18 18
19 namespace dart { 19 namespace dart {
20 namespace bin { 20 namespace bin {
21 21
22 // vm_isolate_snapshot_buffer points to a snapshot for the vm isolate if we
23 // link in a snapshot otherwise it is initialized to NULL.
24 extern const uint8_t* vm_isolate_snapshot_buffer;
25
26 // isolate_snapshot_buffer points to a snapshot for an isolate if we link in a
27 // snapshot otherwise it is initialized to NULL.
28 extern const uint8_t* isolate_snapshot_buffer;
29
22 static void Builtin_PrintString(Dart_NativeArguments args) { 30 static void Builtin_PrintString(Dart_NativeArguments args) {
23 intptr_t length = 0; 31 intptr_t length = 0;
24 uint8_t* chars = NULL; 32 uint8_t* chars = NULL;
25 Dart_Handle str = Dart_GetNativeArgument(args, 0); 33 Dart_Handle str = Dart_GetNativeArgument(args, 0);
26 Dart_Handle result = Dart_StringToUTF8(str, &chars, &length); 34 Dart_Handle result = Dart_StringToUTF8(str, &chars, &length);
27 if (Dart_IsError(result)) { 35 if (Dart_IsError(result)) {
28 Dart_PropagateError(result); 36 Dart_PropagateError(result);
29 } 37 }
30 // Uses fwrite to support printing NUL bytes. 38 // Uses fwrite to support printing NUL bytes.
31 intptr_t res = fwrite(chars, 1, length, stdout); 39 intptr_t res = fwrite(chars, 1, length, stdout);
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 DART_CHECK_VALID(status); 140 DART_CHECK_VALID(status);
133 } 141 }
134 142
135 int Main() { 143 int Main() {
136 Log::Print("Calling Dart_SetVMFlags\n"); 144 Log::Print("Calling Dart_SetVMFlags\n");
137 if (!Dart_SetVMFlags(0, NULL)) { 145 if (!Dart_SetVMFlags(0, NULL)) {
138 FATAL("Failed to set flags\n"); 146 FATAL("Failed to set flags\n");
139 } 147 }
140 Log::Print("Calling Dart_Initialize\n"); 148 Log::Print("Calling Dart_Initialize\n");
141 char* error = Dart_Initialize( 149 char* error = Dart_Initialize(
142 NULL, NULL, NULL, 150 vm_isolate_snapshot_buffer, NULL, NULL,
143 NULL, NULL, NULL, NULL, 151 NULL, NULL, NULL, NULL,
144 NULL, 152 NULL,
145 NULL, 153 NULL,
146 NULL, 154 NULL,
147 NULL, 155 NULL,
148 NULL, 156 NULL,
149 NULL, 157 NULL,
150 NULL); 158 NULL);
151 if (error != NULL) { 159 if (error != NULL) {
152 FATAL1("VM initialization failed: %s\n", error); 160 FATAL1("VM initialization failed: %s\n", error);
153 } 161 }
154 162
155 Log::Print("Creating Isolate\n"); 163 Log::Print("Creating Isolate\n");
156 Dart_Isolate isolate = Dart_CreateIsolate( 164 Dart_Isolate isolate = Dart_CreateIsolate(
157 "script_uri", 165 "script_uri",
158 "main", 166 "main",
159 NULL, 167 isolate_snapshot_buffer,
160 NULL, 168 NULL,
161 NULL, 169 NULL,
162 &error); 170 &error);
163 if (isolate == NULL) { 171 if (isolate == NULL) {
164 FATAL1("Dart_CreateIsolate failed: %s\n", error); 172 FATAL1("Dart_CreateIsolate failed: %s\n", error);
165 } 173 }
166 174
167 Log::Print("Entering Scope\n"); 175 Log::Print("Entering Scope\n");
168 Dart_EnterScope(); 176 Dart_EnterScope();
169 177
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 Log::Print("Success!\n"); 210 Log::Print("Success!\n");
203 return 0; 211 return 0;
204 } 212 }
205 213
206 } // namespace bin 214 } // namespace bin
207 } // namespace dart 215 } // namespace dart
208 216
209 int main(void) { 217 int main(void) {
210 return dart::bin::Main(); 218 return dart::bin::Main();
211 } 219 }
OLDNEW
« no previous file with comments | « runtime/bin/BUILD.gn ('k') | runtime/vm/os_fuchsia.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698