fixes for nodejs performance
This commit is contained in:
parent
563d7446d1
commit
1ba0082896
|
@ -116,8 +116,6 @@ public class NodejsRequireTargetSelector implements MethodTargetSelector {
|
||||||
IClass script = builder.getClassHierarchy()
|
IClass script = builder.getClassHierarchy()
|
||||||
.lookupClass(TypeReference.findOrCreate(jsLoader.getReference(), className));
|
.lookupClass(TypeReference.findOrCreate(jsLoader.getReference(), className));
|
||||||
|
|
||||||
System.err.println(builder.getClassHierarchy());
|
|
||||||
|
|
||||||
IMethod method = script.getMethod(AstMethodReference.fnSelector);
|
IMethod method = script.getMethod(AstMethodReference.fnSelector);
|
||||||
previouslyRequired.put(sourceModule.getClassName(), method);
|
previouslyRequired.put(sourceModule.getClassName(), method);
|
||||||
|
|
||||||
|
|
|
@ -13,14 +13,15 @@ package com.ibm.wala.cast.js.nodejs;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.apache.commons.io.FilenameUtils;
|
import org.apache.commons.io.FilenameUtils;
|
||||||
|
|
||||||
import com.ibm.wala.cast.ipa.callgraph.CAstCallGraphUtil;
|
import com.ibm.wala.cast.ipa.callgraph.CAstCallGraphUtil;
|
||||||
import com.ibm.wala.classLoader.SourceFileModule;
|
import com.ibm.wala.classLoader.SourceFileModule;
|
||||||
|
import com.ibm.wala.util.collections.HashMapFactory;
|
||||||
import com.ibm.wala.util.collections.HashSetFactory;
|
import com.ibm.wala.util.collections.HashSetFactory;
|
||||||
import com.ibm.wala.util.io.TemporaryFile;
|
import com.ibm.wala.util.io.TemporaryFile;
|
||||||
|
|
||||||
|
@ -52,8 +53,14 @@ public class NodejsRequiredCoreModule extends NodejsRequiredSourceModule {
|
||||||
return NodejsRequiredCoreModule.class.getClassLoader().getResourceAsStream("core-modules/" + name + ".js");
|
return NodejsRequiredCoreModule.class.getClassLoader().getResourceAsStream("core-modules/" + name + ".js");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final Map<String,File> names = HashMapFactory.make();
|
||||||
|
|
||||||
public static NodejsRequiredCoreModule make(String name) throws IOException {
|
public static NodejsRequiredCoreModule make(String name) throws IOException {
|
||||||
File file = Files.createTempFile(name, ".js").toFile();
|
if (! names.containsKey(name)) {
|
||||||
|
names.put(name, new File(System.getProperty("java.io.tmpdir") + "/" + name + ".js"));
|
||||||
|
}
|
||||||
|
File file = names.get(name);
|
||||||
file.deleteOnExit();
|
file.deleteOnExit();
|
||||||
TemporaryFile.streamToFile(file, getModule(name));
|
TemporaryFile.streamToFile(file, getModule(name));
|
||||||
SourceFileModule sourceFileModule = CAstCallGraphUtil.makeSourceModule(file.toURI().toURL(), file.getName());
|
SourceFileModule sourceFileModule = CAstCallGraphUtil.makeSourceModule(file.toURI().toURL(), file.getName());
|
||||||
|
|
Loading…
Reference in New Issue