From a1a1a729b0e8f2cfaaca392e5ce929d2e49812ec Mon Sep 17 00:00:00 2001 From: Kunal Pathak Date: Thu, 6 Aug 2015 12:32:01 -0700 Subject: [PATCH 1/4] chakrashim: Remove SetOutOfMemoryErrorIfExist Removed SetOutOfMemoryErrorIfExist from chakrashim now that chakra supports returning OutOfMemory exception object. --- deps/chakrashim/src/jsrtutils.cc | 12 ------------ deps/chakrashim/src/jsrtutils.h | 5 ----- deps/chakrashim/src/v8function.cc | 20 +++++--------------- deps/chakrashim/src/v8script.cc | 10 ++-------- 4 files changed, 7 insertions(+), 40 deletions(-) diff --git a/deps/chakrashim/src/jsrtutils.cc b/deps/chakrashim/src/jsrtutils.cc index 3d9bc704e72..57242d3513d 100644 --- a/deps/chakrashim/src/jsrtutils.cc +++ b/deps/chakrashim/src/jsrtutils.cc @@ -897,16 +897,4 @@ void Fatal(const char * format, ...) { abort(); } - -void SetOutOfMemoryErrorIfExist(_In_ JsErrorCode errorCode) { - if (errorCode == JsErrorOutOfMemory) { - const wchar_t txt[] = L"process out of memory"; - JsValueRef msg, err; - if (JsPointerToString(txt, _countof(txt) - 1, &msg) == JsNoError && - JsCreateError(msg, &err) == JsNoError) { - JsSetException(err); - } - } -} - } // namespace jsrt diff --git a/deps/chakrashim/src/jsrtutils.h b/deps/chakrashim/src/jsrtutils.h index dc6702d7aa6..3ffa5fb04bc 100644 --- a/deps/chakrashim/src/jsrtutils.h +++ b/deps/chakrashim/src/jsrtutils.h @@ -319,11 +319,6 @@ class JsArguments { } }; -// Check if the errorCode was JsErrorOutOfMemory and if yes, -// create and set the exception on the context -void SetOutOfMemoryErrorIfExist(_In_ JsErrorCode errorCode); - - template Function::Call( JsValueRef result; { TryCatch tryCatch; - JsErrorCode error = - JsCallFunction((JsValueRef)this, args.get(), argc + 1, &result); - - jsrt::SetOutOfMemoryErrorIfExist(error); - - if (error == JsNoError) { - return Local::New(static_cast(result)); - } - if (error != JsErrorInvalidArgument) { + if (JsCallFunction((JsValueRef)this, args.get(), + argc + 1, &result) != JsNoError) { tryCatch.CheckReportExternalException(); return Local(); } + return Local::New(static_cast(result)); } // Invalid argument may mean some of the object are from another context @@ -110,12 +104,8 @@ Local Function::Call( { TryCatch tryCatch; - JsErrorCode error = JsCallFunction((JsValueRef)this, - args.get(), argc + 1, &result); - - jsrt::SetOutOfMemoryErrorIfExist(error); - - if (error != JsNoError) { + if (JsCallFunction((JsValueRef)this, + args.get(), argc + 1, &result) != JsNoError) { tryCatch.CheckReportExternalException(); return Local(); } diff --git a/deps/chakrashim/src/v8script.cc b/deps/chakrashim/src/v8script.cc index fb2f08e4943..55ca3874330 100644 --- a/deps/chakrashim/src/v8script.cc +++ b/deps/chakrashim/src/v8script.cc @@ -91,9 +91,6 @@ Local