@@ -371,13 +371,11 @@ void ContextifyContext::CreatePerIsolateProperties(
371371 IsolateData* isolate_data, Local<ObjectTemplate> target) {
372372 Isolate* isolate = isolate_data->isolate ();
373373 SetMethod (isolate, target, " makeContext" , MakeContext);
374- SetMethod (isolate, target, " compileFunction" , CompileFunction);
375374}
376375
377376void ContextifyContext::RegisterExternalReferences (
378377 ExternalReferenceRegistry* registry) {
379378 registry->Register (MakeContext);
380- registry->Register (CompileFunction);
381379 registry->Register (PropertyQueryCallback);
382380 registry->Register (PropertyGetterCallback);
383381 registry->Register (PropertySetterCallback);
@@ -1161,22 +1159,6 @@ Maybe<void> StoreCodeCacheResult(
11611159 return JustVoid ();
11621160}
11631161
1164- // TODO(RaisinTen): Reuse in ContextifyContext::CompileFunction().
1165- MaybeLocal<Function> CompileFunction (Local<Context> context,
1166- Local<String> filename,
1167- Local<String> content,
1168- LocalVector<String>* parameters) {
1169- ScriptOrigin script_origin (filename, 0 , 0 , true );
1170- ScriptCompiler::Source script_source (content, script_origin);
1171-
1172- return ScriptCompiler::CompileFunction (context,
1173- &script_source,
1174- parameters->size (),
1175- parameters->data (),
1176- 0 ,
1177- nullptr );
1178- }
1179-
11801162bool ContextifyScript::InstanceOf (Environment* env,
11811163 const Local<Value>& value) {
11821164 return !value.IsEmpty () &&
@@ -1382,7 +1364,19 @@ ContextifyScript::ContextifyScript(Environment* env, Local<Object> object)
13821364
13831365ContextifyScript::~ContextifyScript () {}
13841366
1385- void ContextifyContext::CompileFunction (
1367+ void ContextifyFunction::RegisterExternalReferences (
1368+ ExternalReferenceRegistry* registry) {
1369+ registry->Register (CompileFunction);
1370+ }
1371+
1372+ void ContextifyFunction::CreatePerIsolateProperties (
1373+ IsolateData* isolate_data, Local<ObjectTemplate> target) {
1374+ Isolate* isolate = isolate_data->isolate ();
1375+
1376+ SetMethod (isolate, target, " compileFunction" , CompileFunction);
1377+ }
1378+
1379+ void ContextifyFunction::CompileFunction (
13861380 const FunctionCallbackInfo<Value>& args) {
13871381 Environment* env = Environment::GetCurrent (args);
13881382 Isolate* isolate = env->isolate ();
@@ -1532,7 +1526,7 @@ static LocalVector<String> GetCJSParameters(IsolateData* data) {
15321526 return result;
15331527}
15341528
1535- MaybeLocal<Object> ContextifyContext ::CompileFunctionAndCacheResult (
1529+ MaybeLocal<Object> ContextifyFunction ::CompileFunctionAndCacheResult (
15361530 Environment* env,
15371531 Local<Context> parsing_context,
15381532 ScriptCompiler::Source* source,
@@ -1963,6 +1957,7 @@ void CreatePerIsolateProperties(IsolateData* isolate_data,
19631957
19641958 ContextifyContext::CreatePerIsolateProperties (isolate_data, target);
19651959 ContextifyScript::CreatePerIsolateProperties (isolate_data, target);
1960+ ContextifyFunction::CreatePerIsolateProperties (isolate_data, target);
19661961
19671962 SetMethod (isolate, target, " startSigintWatchdog" , StartSigintWatchdog);
19681963 SetMethod (isolate, target, " stopSigintWatchdog" , StopSigintWatchdog);
@@ -2015,6 +2010,7 @@ static void CreatePerContextProperties(Local<Object> target,
20152010void RegisterExternalReferences (ExternalReferenceRegistry* registry) {
20162011 ContextifyContext::RegisterExternalReferences (registry);
20172012 ContextifyScript::RegisterExternalReferences (registry);
2013+ ContextifyFunction::RegisterExternalReferences (registry);
20182014
20192015 registry->Register (CompileFunctionForCJSLoader);
20202016 registry->Register (StartSigintWatchdog);
0 commit comments