Skip to content

Commit 45e19b5

Browse files
authored
Merge pull request #76 from Haiyang-Sun/update-env-parse
Updates to latest Graal.js with changed Env.parse() behavior
2 parents 08628be + 9aceb52 commit 45e19b5

File tree

7 files changed

+37
-72
lines changed

7 files changed

+37
-72
lines changed

.travis.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,16 @@ before_install:
2424
exit
2525
}
2626
fi
27-
- wget https://github.com/graalvm/openjdk8-jvmci-builder/releases/download/jvmci-20.1-b02/openjdk-8u252+09-jvmci-20.1-b02-linux-amd64.tar.gz
28-
- mkdir openjdk1.8.0-jvmci
29-
- tar --strip 1 -C openjdk1.8.0-jvmci -xvf openjdk-*.tar.gz
3027
- git clone https://github.com/graalvm/mx.git
3128

3229
before_script:
33-
- export JAVA_HOME=$TRAVIS_BUILD_DIR/openjdk1.8.0-jvmci
3430
- export PATH=$TRAVIS_BUILD_DIR/mx:$JAVA_HOME/bin:$PATH
3531

3632
script:
3733
- mx sforceimports
3834
- mx sversions
35+
- mx fetch-jdk --java-distribution openjdk8 --config ../graal/common.json --to $TRAVIS_BUILD_DIR --alias openjdk1.8.0-jvmci
36+
- export JAVA_HOME=$TRAVIS_BUILD_DIR/openjdk1.8.0-jvmci
3937
- mx checkstyle --primary
4038
- mx checkcopyrights-nodeprof
4139
- mx build

mx.nodeprof/suite.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"suites" : [
77
{
88
"name" : "graal-nodejs",
9-
"version" : "299f61f58255b89add37b92882f1da7ffdf76fc4",
9+
"version" : "79fd5049c416439eddc199dc473d459f328feddf",
1010
"subdir" : True,
1111
"urls" : [
1212
{"url" : "https://github.com/graalvm/graaljs.git", "kind" : "git"},

src/ch.usi.inf.nodeprof/js/analysis/customized-filters/js-special.js

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,29 +20,29 @@
2020
var internals = new Set();
2121
var builtins = new Set();
2222
var mute = false;
23-
var entered = false;
2423

2524
function NodeInternal() {
2625
const analysis = 'node-module';
2726
this.functionEnter = function (iid, f, dis, args) {
2827
if (f.name == '' || f.name == 'readPackage' || mute)
2928
return;
3029
console.log("%s: functionEnter: %s / %s / %d", analysis, f.name, J$.iidToLocation(iid).replace(/:.*[0-9]/,''), arguments.length);
31-
entered = true;
3230
};
3331
this.endExecution = function () {
34-
if (!entered)
35-
return;
3632
mute = true;
3733
console.log(internals);
3834
};
3935
}
40-
sandbox.addAnalysis(new NodeInternal(), function filter(source) {
41-
if (source.internal && source.name.includes('module')) {
42-
internals.add(source.name);
43-
return true;
44-
}
45-
});
36+
37+
// run NodeInternal analysis only with one test
38+
if (process.argv[process.argv.length - 1].endsWith('donotinstrument.js')) {
39+
sandbox.addAnalysis(new NodeInternal(), function filter(source) {
40+
if (source.internal && source.name.includes('module')) {
41+
internals.add(source.name);
42+
return true;
43+
}
44+
});
45+
}
4646

4747
function BI() {
4848
const analysis = 'builtin';
@@ -52,8 +52,6 @@
5252
}
5353
}
5454
this.endExecution = function () {
55-
if (!entered)
56-
return;
5755
mute = true;
5856
console.log([...builtins].filter(x => x.includes('create')));
5957
};
Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,40 @@
1+
node-module: functionEnter: get / (*internal/modules/esm/module_map.js) / 4
2+
node-module: functionEnter: set / (*internal/modules/esm/module_map.js) / 4
13
node-module: functionEnter: require / (*internal/modules/cjs/helpers.js) / 4
24
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
3-
node-module: functionEnter: resolveExports / (*internal/modules/cjs/loader.js) / 4
5+
node-module: functionEnter: executeUserEntryPoint / (*internal/modules/run_main.js) / 4
6+
node-module: functionEnter: resolveMainPath / (*internal/modules/run_main.js) / 4
47
node-module: functionEnter: stat / (*internal/modules/cjs/loader.js) / 4
58
node-module: functionEnter: toRealPath / (*internal/modules/cjs/loader.js) / 4
9+
node-module: functionEnter: toRealPath / (*internal/modules/cjs/loader.js) / 4
10+
node-module: functionEnter: shouldUseESMLoader / (*internal/modules/run_main.js) / 4
11+
node-module: functionEnter: readPackageScope / (*internal/modules/cjs/loader.js) / 4
612
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
713
node-module: functionEnter: Module / (*internal/modules/cjs/loader.js) / 4
814
node-module: functionEnter: updateChildren / (*internal/modules/cjs/loader.js) / 4
915
node-module: functionEnter: findLongestRegisteredExtension / (*internal/modules/cjs/loader.js) / 4
1016
node-module: functionEnter: readPackageScope / (*internal/modules/cjs/loader.js) / 4
11-
node-module: functionEnter: stripBOM / (*internal/modules/cjs/helpers.js) / 4
12-
node-module: functionEnter: stripShebang / (*internal/modules/cjs/helpers.js) / 4
17+
node-module: functionEnter: wrapSafe / (*internal/modules/cjs/loader.js) / 4
1318
node-module: functionEnter: makeRequireFunction / (*internal/modules/cjs/helpers.js) / 4
19+
node-module: functionEnter: get / (*internal/modules/esm/module_map.js) / 4
20+
node-module: functionEnter: set / (*internal/modules/esm/module_map.js) / 4
21+
node-module: functionEnter: get / (*internal/modules/esm/module_map.js) / 4
22+
node-module: functionEnter: set / (*internal/modules/esm/module_map.js) / 4
1423
Set {
1524
'internal/main/run_main_module.js',
1625
'internal/modules/cjs/loader.js',
1726
'internal/modules/cjs/helpers.js',
27+
'internal/modules/esm/loader.js',
28+
'internal/modules/esm/module_map.js',
29+
'internal/modules/esm/module_job.js',
30+
'internal/modules/esm/resolve.js',
31+
'internal/modules/esm/get_format.js',
32+
'internal/modules/esm/get_source.js',
33+
'internal/modules/esm/transform_source.js',
34+
'internal/modules/esm/create_dynamic_module.js',
35+
'internal/modules/esm/translators.js',
36+
'internal/vm/module.js',
37+
'internal/modules/run_main.js',
1838
'module.js'
1939
}
2040
[ 'Object.create' ]
Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,6 @@
1-
node-module: functionEnter: require / (*internal/modules/cjs/helpers.js) / 4
2-
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
3-
node-module: functionEnter: resolveExports / (*internal/modules/cjs/loader.js) / 4
4-
node-module: functionEnter: stat / (*internal/modules/cjs/loader.js) / 4
5-
node-module: functionEnter: toRealPath / (*internal/modules/cjs/loader.js) / 4
6-
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
7-
node-module: functionEnter: Module / (*internal/modules/cjs/loader.js) / 4
8-
node-module: functionEnter: updateChildren / (*internal/modules/cjs/loader.js) / 4
9-
node-module: functionEnter: findLongestRegisteredExtension / (*internal/modules/cjs/loader.js) / 4
10-
node-module: functionEnter: readPackageScope / (*internal/modules/cjs/loader.js) / 4
11-
node-module: functionEnter: stripBOM / (*internal/modules/cjs/helpers.js) / 4
12-
node-module: functionEnter: stripShebang / (*internal/modules/cjs/helpers.js) / 4
13-
node-module: functionEnter: makeRequireFunction / (*internal/modules/cjs/helpers.js) / 4
14-
node-module: functionEnter: require / (*internal/modules/cjs/helpers.js) / 4
15-
node-module: functionEnter: stat / (*internal/modules/cjs/loader.js) / 4
16-
node-module: functionEnter: resolveExports / (*internal/modules/cjs/loader.js) / 4
17-
node-module: functionEnter: stat / (*internal/modules/cjs/loader.js) / 4
18-
node-module: functionEnter: toRealPath / (*internal/modules/cjs/loader.js) / 4
19-
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
20-
node-module: functionEnter: Module / (*internal/modules/cjs/loader.js) / 4
21-
node-module: functionEnter: updateChildren / (*internal/modules/cjs/loader.js) / 4
22-
node-module: functionEnter: findLongestRegisteredExtension / (*internal/modules/cjs/loader.js) / 4
23-
node-module: functionEnter: readPackageScope / (*internal/modules/cjs/loader.js) / 4
24-
node-module: functionEnter: stripBOM / (*internal/modules/cjs/helpers.js) / 4
25-
node-module: functionEnter: stripShebang / (*internal/modules/cjs/helpers.js) / 4
26-
node-module: functionEnter: makeRequireFunction / (*internal/modules/cjs/helpers.js) / 4
271
analysis 1: functionEnter: foo / (src/ch.usi.inf.nodeprof.test/js/minitests/enterExit.js:16:2:18:2) / 4
282
analysis 2: functionEnter: foo / (src/ch.usi.inf.nodeprof.test/js/minitests/enterExit.js:16:2:18:2) / 4
293
analysis 1: getField: create / (src/ch.usi.inf.nodeprof.test/js/minitests/enterExit.js:17:11:17:24) / 7
304
getField (src/ch.usi.inf.nodeprof.test/js/minitests/enterExit.js:17:11:17:24) in exclusion.js
315
release name: node
32-
Set {
33-
'internal/main/run_main_module.js',
34-
'internal/modules/cjs/loader.js',
35-
'internal/modules/cjs/helpers.js',
36-
'module.js'
37-
}
386
[ 'Object.create' ]
Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,2 @@
1-
node-module: functionEnter: require / (*internal/modules/cjs/helpers.js) / 4
2-
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
3-
node-module: functionEnter: resolveExports / (*internal/modules/cjs/loader.js) / 4
4-
node-module: functionEnter: stat / (*internal/modules/cjs/loader.js) / 4
5-
node-module: functionEnter: toRealPath / (*internal/modules/cjs/loader.js) / 4
6-
node-module: functionEnter: loadNativeModule / (*internal/modules/cjs/helpers.js) / 4
7-
node-module: functionEnter: Module / (*internal/modules/cjs/loader.js) / 4
8-
node-module: functionEnter: updateChildren / (*internal/modules/cjs/loader.js) / 4
9-
node-module: functionEnter: findLongestRegisteredExtension / (*internal/modules/cjs/loader.js) / 4
10-
node-module: functionEnter: readPackageScope / (*internal/modules/cjs/loader.js) / 4
11-
node-module: functionEnter: stripBOM / (*internal/modules/cjs/helpers.js) / 4
12-
node-module: functionEnter: stripShebang / (*internal/modules/cjs/helpers.js) / 4
13-
node-module: functionEnter: makeRequireFunction / (*internal/modules/cjs/helpers.js) / 4
141
getField (src/ch.usi.inf.nodeprof.test/js/minitests/testFilter.js:19:7:19:10) in inclusion.js
15-
Set {
16-
'internal/main/run_main_module.js',
17-
'internal/modules/cjs/loader.js',
18-
'internal/modules/cjs/helpers.js',
19-
'module.js'
20-
}
212
[ 'Object.create' ]

src/ch.usi.inf.nodeprof/src/ch/usi/inf/nodeprof/jalangi/NodeProfJalangi.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public NodeProfJalangi(Instrumenter instrumenter, Env env) {
6262
public Object onLoad() throws Exception {
6363
// Get the global object via an indirect eval that works in strict mode.
6464
// Define __jalangiAdapter on it, then implicitly "return" it to set the JS context.
65-
Source src = Source.newBuilder(JavaScriptLanguage.ID, "(1,eval)('this').__jalangiAdapter = adapterVar; return (1,eval)('this')", "nodeprof").build();
65+
Source src = Source.newBuilder(JavaScriptLanguage.ID, "(1,eval)('this').__jalangiAdapter = adapterVar; (1,eval)('this')", "nodeprof").build();
6666
CallTarget bootstrap = this.getEnv().parse(src, "adapterVar");
6767
Object globalObject = bootstrap.call(new JalangiAdapter(this));
6868
assert JSTypes.isDynamicObject(globalObject) : "bootstrap call did not return object";

0 commit comments

Comments
 (0)