@@ -365,13 +365,11 @@ void ContextifyContext::CreatePerIsolateProperties(
365365 IsolateData* isolate_data, Local<ObjectTemplate> target) {
366366 Isolate* isolate = isolate_data->isolate ();
367367 SetMethod (isolate, target, " makeContext" , MakeContext);
368- SetMethod (isolate, target, " compileFunction" , CompileFunction);
369368}
370369
371370void ContextifyContext::RegisterExternalReferences (
372371 ExternalReferenceRegistry* registry) {
373372 registry->Register (MakeContext);
374- registry->Register (CompileFunction);
375373 registry->Register (PropertyQueryCallback);
376374 registry->Register (PropertyGetterCallback);
377375 registry->Register (PropertySetterCallback);
@@ -1163,22 +1161,6 @@ Maybe<void> StoreCodeCacheResult(
11631161 return JustVoid ();
11641162}
11651163
1166- // TODO(RaisinTen): Reuse in ContextifyContext::CompileFunction().
1167- MaybeLocal<Function> CompileFunction (Local<Context> context,
1168- Local<String> filename,
1169- Local<String> content,
1170- LocalVector<String>* parameters) {
1171- ScriptOrigin script_origin (filename, 0 , 0 , true );
1172- ScriptCompiler::Source script_source (content, script_origin);
1173-
1174- return ScriptCompiler::CompileFunction (context,
1175- &script_source,
1176- parameters->size (),
1177- parameters->data (),
1178- 0 ,
1179- nullptr );
1180- }
1181-
11821164bool ContextifyScript::InstanceOf (Environment* env,
11831165 const Local<Value>& value) {
11841166 return !value.IsEmpty () &&
@@ -1392,7 +1374,19 @@ ContextifyScript::ContextifyScript(Environment* env, Local<Object> object) {
13921374
13931375ContextifyScript::~ContextifyScript () {}
13941376
1395- void ContextifyContext::CompileFunction (
1377+ void ContextifyFunction::RegisterExternalReferences (
1378+ ExternalReferenceRegistry* registry) {
1379+ registry->Register (CompileFunction);
1380+ }
1381+
1382+ void ContextifyFunction::CreatePerIsolateProperties (
1383+ IsolateData* isolate_data, Local<ObjectTemplate> target) {
1384+ Isolate* isolate = isolate_data->isolate ();
1385+
1386+ SetMethod (isolate, target, " compileFunction" , CompileFunction);
1387+ }
1388+
1389+ void ContextifyFunction::CompileFunction (
13961390 const FunctionCallbackInfo<Value>& args) {
13971391 Environment* env = Environment::GetCurrent (args);
13981392 Isolate* isolate = env->isolate ();
@@ -1542,7 +1536,7 @@ static LocalVector<String> GetCJSParameters(IsolateData* data) {
15421536 return result;
15431537}
15441538
1545- MaybeLocal<Object> ContextifyContext ::CompileFunctionAndCacheResult (
1539+ MaybeLocal<Object> ContextifyFunction ::CompileFunctionAndCacheResult (
15461540 Environment* env,
15471541 Local<Context> parsing_context,
15481542 ScriptCompiler::Source* source,
@@ -1973,6 +1967,7 @@ void CreatePerIsolateProperties(IsolateData* isolate_data,
19731967
19741968 ContextifyContext::CreatePerIsolateProperties (isolate_data, target);
19751969 ContextifyScript::CreatePerIsolateProperties (isolate_data, target);
1970+ ContextifyFunction::CreatePerIsolateProperties (isolate_data, target);
19761971
19771972 SetMethod (isolate, target, " startSigintWatchdog" , StartSigintWatchdog);
19781973 SetMethod (isolate, target, " stopSigintWatchdog" , StopSigintWatchdog);
@@ -2025,6 +2020,7 @@ static void CreatePerContextProperties(Local<Object> target,
20252020void RegisterExternalReferences (ExternalReferenceRegistry* registry) {
20262021 ContextifyContext::RegisterExternalReferences (registry);
20272022 ContextifyScript::RegisterExternalReferences (registry);
2023+ ContextifyFunction::RegisterExternalReferences (registry);
20282024
20292025 registry->Register (CompileFunctionForCJSLoader);
20302026 registry->Register (StartSigintWatchdog);
0 commit comments