Index: src/runtime/runtime-internal.cc |
diff --git a/src/runtime/runtime-internal.cc b/src/runtime/runtime-internal.cc |
index 370b190107fa6be6e99a8635e88d15b331d88a1b..bd61c46e36af40afb323d0ea0e24eb66cdd1b654 100644 |
--- a/src/runtime/runtime-internal.cc |
+++ b/src/runtime/runtime-internal.cc |
@@ -166,14 +166,20 @@ RUNTIME_FUNCTION(Runtime_RenderCallSite) { |
Zone zone; |
if (location.function()->shared()->is_function()) { |
CompilationInfo info(location.function(), &zone); |
- if (!Parser::Parse(&info)) return isolate->heap()->empty_string(); |
+ if (!Parser::Parse(&info)) { |
+ isolate->clear_pending_exception(); |
+ return isolate->heap()->empty_string(); |
+ } |
CallPrinter printer(isolate, &zone); |
const char* string = printer.Print(info.function(), location.start_pos()); |
return *isolate->factory()->NewStringFromAsciiChecked(string); |
} |
CompilationInfo info(location.script(), &zone); |
- if (!Parser::Parse(&info)) return isolate->heap()->empty_string(); |
+ if (!Parser::Parse(&info)) { |
+ isolate->clear_pending_exception(); |
+ return isolate->heap()->empty_string(); |
+ } |
CallPrinter printer(isolate, &zone); |
const char* string = printer.Print(info.function(), location.start_pos()); |
return *isolate->factory()->NewStringFromAsciiChecked(string); |