Revert "FS-11048: [build] support v8 6.6 fixes from Andrey Volk"

This reverts commit 27389f2937.
This commit is contained in:
Mike Jerris 2018-05-03 17:19:22 -04:00 committed by Muteesa Fred
parent 54c2bbeda8
commit b8b4517843
4 changed files with 20 additions and 13 deletions

View File

@ -127,7 +127,7 @@
/* Macro for basic script state check (to know if the script is being terminated), should be called before calling any callback actual code */ /* Macro for basic script state check (to know if the script is being terminated), should be called before calling any callback actual code */
#define JS_CHECK_SCRIPT_STATE() \ #define JS_CHECK_SCRIPT_STATE() \
if (info.GetIsolate()->IsExecutionTerminating()) return;\ if (v8::V8::IsExecutionTerminating(info.GetIsolate())) return;\
if (JSMain::GetScriptInstanceFromIsolate(info.GetIsolate()) && JSMain::GetScriptInstanceFromIsolate(info.GetIsolate())->GetForcedTermination()) return if (JSMain::GetScriptInstanceFromIsolate(info.GetIsolate()) && JSMain::GetScriptInstanceFromIsolate(info.GetIsolate())->GetForcedTermination()) return
/* Macro for easy unlocking an isolate on a long running c call */ /* Macro for easy unlocking an isolate on a long running c call */

View File

@ -645,7 +645,7 @@ static int v8_parse_and_execute(switch_core_session_t *session, const char *inpu
isolate->SetData(0, js); isolate->SetData(0, js);
// New global template // New global template
Handle<ObjectTemplate> global = ObjectTemplate::New(isolate); Handle<ObjectTemplate> global = ObjectTemplate::New();
if (global.IsEmpty()) { if (global.IsEmpty()) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to create JS global object template\n"); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to create JS global object template\n");
@ -793,7 +793,7 @@ static int v8_parse_and_execute(switch_core_session_t *session, const char *inpu
free(path); free(path);
} }
TryCatch try_catch(isolate); TryCatch try_catch;
// Compile the source code. // Compile the source code.
#if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=5 #if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=5

View File

@ -153,9 +153,17 @@ void JSBase::CreateInstance(const v8::FunctionCallbackInfo<Value>& args)
autoDestroy = args[1]->BooleanValue(); autoDestroy = args[1]->BooleanValue();
} else { } else {
// Create a new C++ instance // Create a new C++ instance
#if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=6 #if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=5
Handle<External> ex = Handle<External>::Cast(args.Data()); Isolate *isolate = args.GetIsolate();
#else v8::Local<v8::Context> context = isolate->GetCurrentContext();
v8::Local<v8::String> key = String::NewFromUtf8(isolate, "constructor_method");
v8::Local<v8::Private> privateKey = v8::Private::ForApi(isolate, key);
Handle<External> ex;
v8::MaybeLocal<v8::Value> hiddenValue = args.Callee()->GetPrivate(context, privateKey);
if (!hiddenValue.IsEmpty()) {
ex = Handle<External>::Cast(hiddenValue.ToLocalChecked());
}
#else
Handle<External> ex = Handle<External>::Cast(args.Callee()->GetHiddenValue(String::NewFromUtf8(args.GetIsolate(), "constructor_method"))); Handle<External> ex = Handle<External>::Cast(args.Callee()->GetHiddenValue(String::NewFromUtf8(args.GetIsolate(), "constructor_method")));
#endif #endif
@ -224,14 +232,13 @@ void JSBase::Register(Isolate *isolate, const js_class_definition_t *desc)
void JSBase::RegisterInstance(Isolate *isolate, string name, bool autoDestroy) void JSBase::RegisterInstance(Isolate *isolate, string name, bool autoDestroy)
{ {
// Get the context's global scope (that's where we'll put the constructor) // Get the context's global scope (that's where we'll put the constructor)
Local<Context> context = isolate->GetCurrentContext(); Handle<Object> global = isolate->GetCurrentContext()->Global();
Handle<Object> global = context->Global();
Local<Function> func = Local<Function>::Cast(global->Get(v8::String::NewFromUtf8(isolate, this->GetJSClassName().c_str()))); Local<Function> func = Local<Function>::Cast(global->Get(v8::String::NewFromUtf8(isolate, this->GetJSClassName().c_str())));
// Add the C++ instance as an argument, so it won't try to create another one. // Add the C++ instance as an argument, so it won't try to create another one.
Handle<Value> args[] = { External::New(isolate, this), Boolean::New(isolate, autoDestroy) }; Handle<Value> args[] = { External::New(isolate, this), Boolean::New(isolate, autoDestroy) };
Handle<Object> newObj = func->NewInstance(context, 2, args).ToLocalChecked(); Handle<Object> newObj = func->NewInstance(2, args);
// Add the instance to JavaScript. // Add the instance to JavaScript.
if (name.size() > 0) { if (name.size() > 0) {

View File

@ -209,7 +209,7 @@ const string JSMain::GetExceptionInfo(Isolate* isolate, TryCatch* try_catch)
ss << " "; ss << " ";
} }
int32_t end = message->GetEndColumn(isolate->GetCurrentContext()).FromMaybe(0); int end = message->GetEndColumn();
for (int i = start; i < end; i++) { for (int i = start; i < end; i++) {
ss << "^"; ss << "^";
@ -292,7 +292,7 @@ const string JSMain::ExecuteString(const string& scriptData, const string& fileN
isolate->SetData(0, this); isolate->SetData(0, this);
Handle<ObjectTemplate> global = ObjectTemplate::New(isolate); Handle<ObjectTemplate> global = ObjectTemplate::New();
global->Set(String::NewFromUtf8(isolate, "include"), FunctionTemplate::New(isolate, Include)); global->Set(String::NewFromUtf8(isolate, "include"), FunctionTemplate::New(isolate, Include));
global->Set(String::NewFromUtf8(isolate, "require"), FunctionTemplate::New(isolate, Include)); global->Set(String::NewFromUtf8(isolate, "require"), FunctionTemplate::New(isolate, Include));
global->Set(String::NewFromUtf8(isolate, "log"), FunctionTemplate::New(isolate, Log)); global->Set(String::NewFromUtf8(isolate, "log"), FunctionTemplate::New(isolate, Log));
@ -323,7 +323,7 @@ const string JSMain::ExecuteString(const string& scriptData, const string& fileN
inst->obj->RegisterInstance(isolate, inst->name, inst->auto_destroy); inst->obj->RegisterInstance(isolate, inst->name, inst->auto_destroy);
} }
TryCatch try_catch(isolate); TryCatch try_catch;
// Compile the source code. // Compile the source code.
#if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=5 #if defined(V8_MAJOR_VERSION) && V8_MAJOR_VERSION >=5
@ -583,7 +583,7 @@ void JSMain::ExitScript(Isolate *isolate, const char *msg)
js->forcedTerminationScriptFile = GetStackInfo(isolate, &js->forcedTerminationLineNumber); js->forcedTerminationScriptFile = GetStackInfo(isolate, &js->forcedTerminationLineNumber);
} }
isolate->TerminateExecution(); V8::TerminateExecution(isolate);
} }
char *JSMain::GetStackInfo(Isolate *isolate, int *lineNumber) char *JSMain::GetStackInfo(Isolate *isolate, int *lineNumber)