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/unit_test.h" | 5 #include "vm/unit_test.h" |
| 6 | 6 |
| 7 #include <stdio.h> | 7 #include <stdio.h> |
| 8 | 8 |
| 9 #include "bin/builtin.h" | 9 #include "bin/builtin.h" |
| 10 #include "bin/dartutils.h" | 10 #include "bin/dartutils.h" |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 284 ASSERT(script_reload_key != kUnsetThreadLocalKey); | 284 ASSERT(script_reload_key != kUnsetThreadLocalKey); |
| 285 ASSERT(OSThread::GetThreadLocal(script_reload_key) == 0); | 285 ASSERT(OSThread::GetThreadLocal(script_reload_key) == 0); |
| 286 // Store the new script in TLS. | 286 // Store the new script in TLS. |
| 287 OSThread::SetThreadLocal(script_reload_key, reinterpret_cast<uword>(script)); | 287 OSThread::SetThreadLocal(script_reload_key, reinterpret_cast<uword>(script)); |
| 288 } | 288 } |
| 289 | 289 |
| 290 | 290 |
| 291 Dart_Handle TestCase::TriggerReload() { | 291 Dart_Handle TestCase::TriggerReload() { |
| 292 Isolate* isolate = Isolate::Current(); | 292 Isolate* isolate = Isolate::Current(); |
| 293 JSONStream js; | 293 JSONStream js; |
| 294 | 294 bool success = false; |
| 295 { | 295 { |
| 296 TransitionNativeToVM transition(Thread::Current()); | 296 TransitionNativeToVM transition(Thread::Current()); |
| 297 isolate->ReloadSources(&js, | 297 success = isolate->ReloadSources(&js, |
| 298 false, // force_reload | 298 false, // force_reload |
| 299 true); // dont_delete_reload_context | 299 true); // dont_delete_reload_context |
| 300 fprintf(stderr, "RELOAD REPORT:\n%s\n", js.ToCString()); | 300 fprintf(stderr, "RELOAD REPORT:\n%s\n", js.ToCString()); |
|
rmacnak
2016/08/03 19:55:25
OS::PrintErr
Cutch
2016/08/03 21:17:19
Acknowledged.
| |
| 301 } | 301 } |
| 302 | 302 |
| 303 return Dart_FinalizeLoading(false); | 303 if (success) { |
| 304 return Dart_FinalizeLoading(false); | |
| 305 } else { | |
| 306 return Dart_Null(); | |
|
rmacnak
2016/08/03 19:55:25
Shouldn't this return some kind of error?
Cutch
2016/08/03 21:17:19
In the unit tests we keep the reload context alive
| |
| 307 } | |
| 304 } | 308 } |
| 305 | 309 |
| 306 | 310 |
| 307 Dart_Handle TestCase::GetReloadErrorOrRootLibrary() { | 311 Dart_Handle TestCase::GetReloadErrorOrRootLibrary() { |
| 308 Isolate* isolate = Isolate::Current(); | 312 Isolate* isolate = Isolate::Current(); |
| 309 | 313 |
| 310 if (isolate->reload_context() != NULL && | 314 if (isolate->reload_context() != NULL && |
| 311 isolate->reload_context()->reload_aborted()) { | 315 isolate->reload_context()->reload_aborted()) { |
| 312 // Return a handle to the error. | 316 // Return a handle to the error. |
| 313 return Api::NewHandle(Thread::Current(), | 317 return Api::NewHandle(Thread::Current(), |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 487 } | 491 } |
| 488 // Copy the remainder of in to out. | 492 // Copy the remainder of in to out. |
| 489 while (*in != '\0') { | 493 while (*in != '\0') { |
| 490 *out++ = *in++; | 494 *out++ = *in++; |
| 491 } | 495 } |
| 492 *out = '\0'; | 496 *out = '\0'; |
| 493 } | 497 } |
| 494 | 498 |
| 495 | 499 |
| 496 } // namespace dart | 500 } // namespace dart |
| OLD | NEW |