Skip to content

Commit 94fb3ce

Browse files
committed
Change array literal related methods to be static.
1 parent 7e7b774 commit 94fb3ce

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

rhino/src/main/java/org/mozilla/javascript/optimizer/BodyCodegen.java

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.mozilla.javascript.optimizer;
22

33
import static org.mozilla.classfile.ClassFileWriter.ACC_PRIVATE;
4+
import static org.mozilla.classfile.ClassFileWriter.ACC_PUBLIC;
45
import static org.mozilla.classfile.ClassFileWriter.ACC_STATIC;
56

67
import java.util.ArrayDeque;
@@ -35,20 +36,20 @@ void generateBodyCode() {
3536
// generator has a unique prefix followed by _gen
3637
String type =
3738
"("
38-
+ codegen.mainClassSignature
39+
+ "Lorg/mozilla/javascript/NativeFunction;"
3940
+ "Lorg/mozilla/javascript/Context;"
4041
+ "Lorg/mozilla/javascript/Scriptable;"
4142
+ "Ljava/lang/Object;"
4243
+ "Ljava/lang/Object;I)Ljava/lang/Object;";
4344
cfw.startMethod(
4445
codegen.getBodyMethodName(scriptOrFn) + "_gen",
4546
type,
46-
(short) (ACC_STATIC | ACC_PRIVATE));
47+
(short) (ACC_STATIC | ACC_PUBLIC));
4748
} else {
4849
cfw.startMethod(
4950
codegen.getBodyMethodName(scriptOrFn),
5051
codegen.getBodyMethodSignature(scriptOrFn),
51-
(short) (ACC_STATIC | ACC_PRIVATE));
52+
(short) (ACC_STATIC | ACC_PUBLIC));
5253
}
5354

5455
generatePrologue();
@@ -2135,12 +2136,13 @@ private void generateArrayLiteralFactory(Node node, int count) {
21352136
localsMax = firstFreeLocal;
21362137
cfw.startMethod(
21372138
methodName,
2138-
"(Lorg/mozilla/javascript/Context;"
2139+
"(Lorg/mozilla/javascript/NativeFunction;"
2140+
+ "Lorg/mozilla/javascript/Context;"
21392141
+ "Lorg/mozilla/javascript/Scriptable;"
21402142
+ "Lorg/mozilla/javascript/Scriptable;"
21412143
+ "[Ljava/lang/Object;"
21422144
+ ")Lorg/mozilla/javascript/Scriptable;",
2143-
ACC_PRIVATE);
2145+
(short) (ACC_STATIC | ACC_PRIVATE));
21442146
visitArrayLiteral(node, node.getFirstChild(), true);
21452147
cfw.add(ByteCode.ARETURN);
21462148
cfw.stopMethod((short) (localsMax + 1));
@@ -2153,12 +2155,13 @@ private void generateObjectLiteralFactory(Node node, int count) {
21532155
localsMax = firstFreeLocal;
21542156
cfw.startMethod(
21552157
methodName,
2156-
"(Lorg/mozilla/javascript/Context;"
2158+
"(Lorg/mozilla/javascript/NativeFunction;"
2159+
+ "Lorg/mozilla/javascript/Context;"
21572160
+ "Lorg/mozilla/javascript/Scriptable;"
21582161
+ "Lorg/mozilla/javascript/Scriptable;"
21592162
+ "[Ljava/lang/Object;"
21602163
+ ")Lorg/mozilla/javascript/Scriptable;",
2161-
ACC_PRIVATE);
2164+
(short) (ACC_STATIC | ACC_PRIVATE));
21622165
visitObjectLiteral(node, node.getFirstChild(), true);
21632166
cfw.add(ByteCode.ARETURN);
21642167
cfw.stopMethod((short) (localsMax + 1));
@@ -2185,10 +2188,11 @@ private void visitArrayLiteral(Node node, Node child, boolean topLevel) {
21852188
cfw.addALoad(thisObjLocal);
21862189
cfw.addALoad(argsLocal);
21872190
cfw.addInvoke(
2188-
ByteCode.INVOKEVIRTUAL,
2191+
ByteCode.INVOKESTATIC,
21892192
codegen.mainClassName,
21902193
methodName,
2191-
"(Lorg/mozilla/javascript/Context;"
2194+
"(Lorg/mozilla/javascript/NativeFunction;"
2195+
+ "Lorg/mozilla/javascript/Context;"
21922196
+ "Lorg/mozilla/javascript/Scriptable;"
21932197
+ "Lorg/mozilla/javascript/Scriptable;"
21942198
+ "[Ljava/lang/Object;"
@@ -2421,10 +2425,11 @@ private void visitObjectLiteral(Node node, Node child, boolean topLevel) {
24212425
cfw.addALoad(thisObjLocal);
24222426
cfw.addALoad(argsLocal);
24232427
cfw.addInvoke(
2424-
ByteCode.INVOKEVIRTUAL,
2428+
ByteCode.INVOKESTATIC,
24252429
codegen.mainClassName,
24262430
methodName,
2427-
"(Lorg/mozilla/javascript/Context;"
2431+
"(Lorg/mozilla/javascript/NativeFunction;"
2432+
+ "Lorg/mozilla/javascript/Context;"
24282433
+ "Lorg/mozilla/javascript/Scriptable;"
24292434
+ "Lorg/mozilla/javascript/Scriptable;"
24302435
+ "[Ljava/lang/Object;"

rhino/src/main/java/org/mozilla/javascript/optimizer/Codegen.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ private void generateResumeGenerator(ClassFileWriter cfw) {
412412
if (isGenerator(n)) {
413413
String type =
414414
"("
415-
+ mainClassSignature
415+
+ "Lorg/mozilla/javascript/NativeFunction;"
416416
+ "Lorg/mozilla/javascript/Context;"
417417
+ "Lorg/mozilla/javascript/Scriptable;"
418418
+ "Ljava/lang/Object;"
@@ -1289,7 +1289,7 @@ String cleanName(final ScriptNode n) {
12891289
String getBodyMethodSignature(ScriptNode n) {
12901290
StringBuilder sb = new StringBuilder();
12911291
sb.append('(');
1292-
sb.append(mainClassSignature);
1292+
sb.append("Lorg/mozilla/javascript/NativeFunction;");
12931293
sb.append(
12941294
"Lorg/mozilla/javascript/Context;"
12951295
+ "Lorg/mozilla/javascript/Scriptable;"

0 commit comments

Comments
 (0)