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

Side by Side Diff: src/api.cc

Issue 2526703002: [wasm] [asmjs] Route asm.js warnings to the dev console. (Closed)
Patch Set: fix Created 4 years 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 | « src/api.h ('k') | src/asmjs/asm-js.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/api.h" 5 #include "src/api.h"
6 6
7 #include <string.h> // For memcpy, strlen. 7 #include <string.h> // For memcpy, strlen.
8 #ifdef V8_USE_ADDRESS_SANITIZER 8 #ifdef V8_USE_ADDRESS_SANITIZER
9 #include <sanitizer/asan_interface.h> 9 #include <sanitizer/asan_interface.h>
10 #endif // V8_USE_ADDRESS_SANITIZER 10 #endif // V8_USE_ADDRESS_SANITIZER
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 is_heap_oom 392 is_heap_oom
393 ? "Allocation failed - JavaScript heap out of memory" 393 ? "Allocation failed - JavaScript heap out of memory"
394 : "Allocation failed - process out of memory"); 394 : "Allocation failed - process out of memory");
395 } 395 }
396 } else { 396 } else {
397 oom_callback(location, is_heap_oom); 397 oom_callback(location, is_heap_oom);
398 } 398 }
399 isolate->SignalFatalError(); 399 isolate->SignalFatalError();
400 } 400 }
401 401
402 void Utils::ReportAsmJsWarning(i::Handle<i::JSMessageObject> message) {
403 if (i::FLAG_disable_asm_warnings) {
Benedikt Meurer 2016/11/23 08:41:31 Is this flag really useful? If you don't want the
bradn 2016/11/23 08:46:18 machenbach, how is the correctness fuzzer set up?
Michael Achenbach 2016/11/23 09:01:22 It runs d8. But maybe already https://codereview.c
bradn 2016/11/23 09:10:55 Ok. Dropped until we know we need it.
404 return;
405 }
406 i::Isolate* isolate = i::Isolate::Current();
407 AsmJsWarningCallback asmjs_warning_callback =
408 isolate->asmjs_warning_behavior();
409 if (asmjs_warning_callback == nullptr) {
410 v8::internal::PrintF(
411 "%s\n", i::MessageHandler::GetLocalizedMessage(isolate, message).get());
412 } else {
413 asmjs_warning_callback(MessageToLocal(message));
414 }
415 }
416
402 static inline bool IsExecutionTerminatingCheck(i::Isolate* isolate) { 417 static inline bool IsExecutionTerminatingCheck(i::Isolate* isolate) {
403 if (isolate->has_scheduled_exception()) { 418 if (isolate->has_scheduled_exception()) {
404 return isolate->scheduled_exception() == 419 return isolate->scheduled_exception() ==
405 isolate->heap()->termination_exception(); 420 isolate->heap()->termination_exception();
406 } 421 }
407 return false; 422 return false;
408 } 423 }
409 424
410 425
411 void V8::SetNativesDataBlob(StartupData* natives_blob) { 426 void V8::SetNativesDataBlob(StartupData* natives_blob) {
(...skipping 8005 matching lines...) Expand 10 before | Expand all | Expand 10 after
8417 void Isolate::SetFatalErrorHandler(FatalErrorCallback that) { 8432 void Isolate::SetFatalErrorHandler(FatalErrorCallback that) {
8418 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); 8433 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
8419 isolate->set_exception_behavior(that); 8434 isolate->set_exception_behavior(that);
8420 } 8435 }
8421 8436
8422 void Isolate::SetOOMErrorHandler(OOMErrorCallback that) { 8437 void Isolate::SetOOMErrorHandler(OOMErrorCallback that) {
8423 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); 8438 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
8424 isolate->set_oom_behavior(that); 8439 isolate->set_oom_behavior(that);
8425 } 8440 }
8426 8441
8442 void Isolate::SetAsmJsWarningHandler(AsmJsWarningCallback that) {
8443 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
8444 isolate->set_asmjs_warning_behavior(that);
8445 }
8446
8427 void Isolate::SetAllowCodeGenerationFromStringsCallback( 8447 void Isolate::SetAllowCodeGenerationFromStringsCallback(
8428 AllowCodeGenerationFromStringsCallback callback) { 8448 AllowCodeGenerationFromStringsCallback callback) {
8429 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); 8449 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
8430 isolate->set_allow_code_gen_callback(callback); 8450 isolate->set_allow_code_gen_callback(callback);
8431 } 8451 }
8432 8452
8433 8453
8434 bool Isolate::IsDead() { 8454 bool Isolate::IsDead() {
8435 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this); 8455 i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
8436 return isolate->IsDead(); 8456 return isolate->IsDead();
(...skipping 1417 matching lines...) Expand 10 before | Expand all | Expand 10 after
9854 Address callback_address = 9874 Address callback_address =
9855 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); 9875 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback));
9856 VMState<EXTERNAL> state(isolate); 9876 VMState<EXTERNAL> state(isolate);
9857 ExternalCallbackScope call_scope(isolate, callback_address); 9877 ExternalCallbackScope call_scope(isolate, callback_address);
9858 callback(info); 9878 callback(info);
9859 } 9879 }
9860 9880
9861 9881
9862 } // namespace internal 9882 } // namespace internal
9863 } // namespace v8 9883 } // namespace v8
OLDNEW
« no previous file with comments | « src/api.h ('k') | src/asmjs/asm-js.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698