Skip to content

Instantly share code, notes, and snippets.

@chriswhocodes
Created June 9, 2015 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chriswhocodes/e3a85c3613b084e45356 to your computer and use it in GitHub Desktop.
Save chriswhocodes/e3a85c3613b084e45356 to your computer and use it in GitHub Desktop.
Output of run.js under Nashorn 8u60b18
8u60b18
Result of
$JAVA_HOME/bin/jjs -co --dump-debug-dir=. run.js
chris@debian:~/jitwatch/sandbox/sources/jdk/nashorn/internal/scripts$ ls -l
total 8
-rw-r--r-- 1 chris chris 871 Jun 9 21:57 JO5P0.class
-rw-r--r-- 1 chris chris 3216 Jun 9 21:57 Script$run.class
chris@debian:~/jitwatch/sandbox/sources/jdk/nashorn/internal/scripts$ $JAVA_HOME/bin/javap -v *
Classfile /home/chris/jitwatch/sandbox/sources/jdk/nashorn/internal/scripts/JO5P0.class
Last modified 09-Jun-2015; size 871 bytes
MD5 checksum 72221ca2389a84af5cd8e910ac34f4cc
public class jdk.nashorn.internal.scripts.JO5P0 extends jdk.nashorn.internal.runtime.FunctionScope
minor version: 0
major version: 51
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Utf8 jdk/nashorn/internal/scripts/JO5P0
#2 = Class #1 // jdk/nashorn/internal/scripts/JO5P0
#3 = Utf8 jdk/nashorn/internal/runtime/FunctionScope
#4 = Class #3 // jdk/nashorn/internal/runtime/FunctionScope
#5 = Utf8 L0
#6 = Utf8 Ljava/lang/Object;
#7 = Utf8 L1
#8 = Utf8 L2
#9 = Utf8 L3
#10 = Utf8 L4
#11 = Utf8 <init>
#12 = Utf8 (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#13 = NameAndType #11:#12 // "<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#14 = Methodref #4.#13 // jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#15 = Utf8 jdk/nashorn/internal/runtime/ScriptRuntime
#16 = Class #15 // jdk/nashorn/internal/runtime/ScriptRuntime
#17 = Utf8 UNDEFINED
#18 = Utf8 Ljdk/nashorn/internal/runtime/Undefined;
#19 = NameAndType #17:#18 // UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
#20 = Fieldref #16.#19 // jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
#21 = NameAndType #5:#6 // L0:Ljava/lang/Object;
#22 = Fieldref #2.#21 // jdk/nashorn/internal/scripts/JO5P0.L0:Ljava/lang/Object;
#23 = NameAndType #7:#6 // L1:Ljava/lang/Object;
#24 = Fieldref #2.#23 // jdk/nashorn/internal/scripts/JO5P0.L1:Ljava/lang/Object;
#25 = NameAndType #8:#6 // L2:Ljava/lang/Object;
#26 = Fieldref #2.#25 // jdk/nashorn/internal/scripts/JO5P0.L2:Ljava/lang/Object;
#27 = NameAndType #9:#6 // L3:Ljava/lang/Object;
#28 = Fieldref #2.#27 // jdk/nashorn/internal/scripts/JO5P0.L3:Ljava/lang/Object;
#29 = NameAndType #10:#6 // L4:Ljava/lang/Object;
#30 = Fieldref #2.#29 // jdk/nashorn/internal/scripts/JO5P0.L4:Ljava/lang/Object;
#31 = Utf8 (Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
#32 = NameAndType #11:#31 // "<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
#33 = Methodref #4.#32 // jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
#34 = Utf8 (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#35 = NameAndType #11:#34 // "<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#36 = Methodref #4.#35 // jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#37 = Utf8 Code
{
public java.lang.Object L0;
descriptor: Ljava/lang/Object;
flags: ACC_PUBLIC
public java.lang.Object L1;
descriptor: Ljava/lang/Object;
flags: ACC_PUBLIC
public java.lang.Object L2;
descriptor: Ljava/lang/Object;
flags: ACC_PUBLIC
public java.lang.Object L3;
descriptor: Ljava/lang/Object;
flags: ACC_PUBLIC
public java.lang.Object L4;
descriptor: Ljava/lang/Object;
flags: ACC_PUBLIC
public jdk.nashorn.internal.scripts.JO5P0(jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.ScriptObject);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
flags: ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
0: aload_0
1: aload_1
2: aload_2
3: invokespecial #14 // Method jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
6: aload_0
7: getstatic #20 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
10: dup2
11: putfield #22 // Field L0:Ljava/lang/Object;
14: dup2
15: putfield #24 // Field L1:Ljava/lang/Object;
18: dup2
19: putfield #26 // Field L2:Ljava/lang/Object;
22: dup2
23: putfield #28 // Field L3:Ljava/lang/Object;
26: putfield #30 // Field L4:Ljava/lang/Object;
29: return
public jdk.nashorn.internal.scripts.JO5P0(jdk.nashorn.internal.runtime.PropertyMap, long[], java.lang.Object[]);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
flags: ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
0: aload_0
1: aload_1
2: aload_2
3: aload_3
4: invokespecial #33 // Method jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;[J[Ljava/lang/Object;)V
7: aload_0
8: getstatic #20 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
11: dup2
12: putfield #22 // Field L0:Ljava/lang/Object;
15: dup2
16: putfield #24 // Field L1:Ljava/lang/Object;
19: dup2
20: putfield #26 // Field L2:Ljava/lang/Object;
23: dup2
24: putfield #28 // Field L3:Ljava/lang/Object;
27: putfield #30 // Field L4:Ljava/lang/Object;
30: return
public jdk.nashorn.internal.scripts.JO5P0(jdk.nashorn.internal.runtime.PropertyMap, jdk.nashorn.internal.runtime.ScriptObject, jdk.nashorn.internal.runtime.ScriptObject);
descriptor: (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)V
flags: ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
0: aload_0
1: aload_1
2: aload_2
3: aload_3
4: invokespecial #36 // Method jdk/nashorn/internal/runtime/FunctionScope."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;Ljdk/nashorn/internal/runtime/ScriptObject;)V
7: aload_0
8: getstatic #20 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
11: dup2
12: putfield #22 // Field L0:Ljava/lang/Object;
15: dup2
16: putfield #24 // Field L1:Ljava/lang/Object;
19: dup2
20: putfield #26 // Field L2:Ljava/lang/Object;
23: dup2
24: putfield #28 // Field L3:Ljava/lang/Object;
27: putfield #30 // Field L4:Ljava/lang/Object;
30: return
}
Classfile /home/chris/jitwatch/sandbox/sources/jdk/nashorn/internal/scripts/Script$run.class
Last modified 09-Jun-2015; size 3216 bytes
MD5 checksum 16488400b859cde8da239065d00ad72b
Compiled from "run.js"
public class jdk.nashorn.internal.scripts.Script$run extends jdk.nashorn.internal.scripts.JS
minor version: 0
major version: 51
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Utf8 jdk/nashorn/internal/scripts/Script$run
#2 = Class #1 // jdk/nashorn/internal/scripts/Script$run
#3 = Utf8 jdk/nashorn/internal/scripts/JS
#4 = Class #3 // jdk/nashorn/internal/scripts/JS
#5 = Utf8 run.js
#6 = Utf8 source
#7 = Utf8 Ljdk/nashorn/internal/runtime/Source;
#8 = Utf8 constants
#9 = Utf8 [Ljava/lang/Object;
#10 = Utf8 strictMode
#11 = Utf8 Z
#12 = Integer 0
#13 = Utf8 :program
#14 = Utf8 (Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object;
#15 = Utf8 jdk/nashorn/internal/runtime/ScriptFunction
#16 = Class #15 // jdk/nashorn/internal/runtime/ScriptFunction
#17 = Utf8 getScope
#18 = Utf8 ()Ljdk/nashorn/internal/runtime/ScriptObject;
#19 = NameAndType #17:#18 // getScope:()Ljdk/nashorn/internal/runtime/ScriptObject;
#20 = Methodref #16.#19 // jdk/nashorn/internal/runtime/ScriptFunction.getScope:()Ljdk/nashorn/internal/runtime/ScriptObject;
#21 = Utf8 jdk/nashorn/internal/scripts/JO5P0
#22 = Class #21 // jdk/nashorn/internal/scripts/JO5P0
#23 = Utf8 :getMap
#24 = Utf8 (I)Ljdk/nashorn/internal/runtime/PropertyMap;
#25 = NameAndType #23:#24 // ":getMap":(I)Ljdk/nashorn/internal/runtime/PropertyMap;
#26 = Methodref #2.#25 // jdk/nashorn/internal/scripts/Script$run.":getMap":(I)Ljdk/nashorn/internal/runtime/PropertyMap;
#27 = Utf8 <init>
#28 = Utf8 (Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#29 = NameAndType #27:#28 // "<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#30 = Methodref #22.#29 // jdk/nashorn/internal/scripts/JO5P0."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
#31 = Utf8 jdk/nashorn/internal/runtime/ScriptRuntime
#32 = Class #31 // jdk/nashorn/internal/runtime/ScriptRuntime
#33 = Utf8 mergeScope
#34 = Utf8 (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
#35 = NameAndType #33:#34 // mergeScope:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
#36 = Methodref #32.#35 // jdk/nashorn/internal/runtime/ScriptRuntime.mergeScope:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
#37 = NameAndType #8:#9 // constants:[Ljava/lang/Object;
#38 = Fieldref #2.#37 // jdk/nashorn/internal/scripts/Script$run.constants:[Ljava/lang/Object;
#39 = Utf8 jdk/nashorn/internal/objects/ScriptFunctionImpl
#40 = Class #39 // jdk/nashorn/internal/objects/ScriptFunctionImpl
#41 = Utf8 create
#42 = Utf8 ([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
#43 = NameAndType #41:#42 // create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
#44 = Methodref #40.#43 // jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
#45 = Utf8 jdk/nashorn/internal/runtime/linker/Bootstrap
#46 = Class #45 // jdk/nashorn/internal/runtime/linker/Bootstrap
#47 = Utf8 bootstrap
#48 = Utf8 (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
#49 = NameAndType #47:#48 // bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
#50 = Methodref #46.#49 // jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
#51 = MethodHandle #6:#50 // invokestatic jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
#52 = Integer 5
#53 = Utf8 dyn:setProp|setElem:addOne
#54 = Utf8 (Ljava/lang/Object;Ljava/lang/Object;)V
#55 = NameAndType #53:#54 // "dyn:setProp|setElem:addOne":(Ljava/lang/Object;Ljava/lang/Object;)V
#56 = InvokeDynamic #0:#55 // #0:"dyn:setProp|setElem:addOne":(Ljava/lang/Object;Ljava/lang/Object;)V
#57 = Utf8 dyn:setProp|setElem:addTwo
#58 = NameAndType #57:#54 // "dyn:setProp|setElem:addTwo":(Ljava/lang/Object;Ljava/lang/Object;)V
#59 = InvokeDynamic #0:#58 // #0:"dyn:setProp|setElem:addTwo":(Ljava/lang/Object;Ljava/lang/Object;)V
#60 = Utf8 ([Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
#61 = NameAndType #41:#60 // create:([Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
#62 = Methodref #40.#61 // jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
#63 = Utf8 dyn:setProp|setElem:add
#64 = NameAndType #63:#54 // "dyn:setProp|setElem:add":(Ljava/lang/Object;Ljava/lang/Object;)V
#65 = InvokeDynamic #0:#64 // #0:"dyn:setProp|setElem:add":(Ljava/lang/Object;Ljava/lang/Object;)V
#66 = Utf8 dyn:getProp|getElem|getMethod:add
#67 = Utf8 (Ljava/lang/Object;)Ljava/lang/Object;
#68 = NameAndType #66:#67 // "dyn:getProp|getElem|getMethod:add":(Ljava/lang/Object;)Ljava/lang/Object;
#69 = InvokeDynamic #0:#68 // #0:"dyn:getProp|getElem|getMethod:add":(Ljava/lang/Object;)Ljava/lang/Object;
#70 = Utf8 dyn:setProp|setElem:sum
#71 = Utf8 (Ljava/lang/Object;I)V
#72 = NameAndType #70:#71 // "dyn:setProp|setElem:sum":(Ljava/lang/Object;I)V
#73 = InvokeDynamic #0:#72 // #0:"dyn:setProp|setElem:sum":(Ljava/lang/Object;I)V
#74 = Utf8 dyn:setProp|setElem:i
#75 = NameAndType #74:#71 // "dyn:setProp|setElem:i":(Ljava/lang/Object;I)V
#76 = InvokeDynamic #0:#75 // #0:"dyn:setProp|setElem:i":(Ljava/lang/Object;I)V
#77 = Utf8 dyn:getProp|getElem|getMethod:i
#78 = Utf8 (Ljava/lang/Object;)D
#79 = NameAndType #77:#78 // "dyn:getProp|getElem|getMethod:i":(Ljava/lang/Object;)D
#80 = InvokeDynamic #0:#79 // #0:"dyn:getProp|getElem|getMethod:i":(Ljava/lang/Object;)D
#81 = Double 1000000.0d
#83 = Utf8 dyn:getMethod|getProp|getElem:addOne
#84 = NameAndType #83:#67 // "dyn:getMethod|getProp|getElem:addOne":(Ljava/lang/Object;)Ljava/lang/Object;
#85 = InvokeDynamic #0:#84 // #0:"dyn:getMethod|getProp|getElem:addOne":(Ljava/lang/Object;)Ljava/lang/Object;
#86 = Utf8 UNDEFINED
#87 = Utf8 Ljdk/nashorn/internal/runtime/Undefined;
#88 = NameAndType #86:#87 // UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
#89 = Fieldref #32.#88 // jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
#90 = Utf8 dyn:getProp|getElem|getMethod:sum
#91 = NameAndType #90:#67 // "dyn:getProp|getElem|getMethod:sum":(Ljava/lang/Object;)Ljava/lang/Object;
#92 = InvokeDynamic #0:#91 // #0:"dyn:getProp|getElem|getMethod:sum":(Ljava/lang/Object;)Ljava/lang/Object;
#93 = Utf8 dyn:call
#94 = Utf8 (Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
#95 = NameAndType #93:#94 // "dyn:call":(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
#96 = InvokeDynamic #0:#95 // #0:"dyn:call":(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
#97 = NameAndType #70:#54 // "dyn:setProp|setElem:sum":(Ljava/lang/Object;Ljava/lang/Object;)V
#98 = InvokeDynamic #0:#97 // #0:"dyn:setProp|setElem:sum":(Ljava/lang/Object;Ljava/lang/Object;)V
#99 = Utf8 dyn:getMethod|getProp|getElem:addTwo
#100 = NameAndType #99:#67 // "dyn:getMethod|getProp|getElem:addTwo":(Ljava/lang/Object;)Ljava/lang/Object;
#101 = InvokeDynamic #0:#100 // #0:"dyn:getMethod|getProp|getElem:addTwo":(Ljava/lang/Object;)Ljava/lang/Object;
#102 = Utf8 (Ljava/lang/Object;D)V
#103 = NameAndType #74:#102 // "dyn:setProp|setElem:i":(Ljava/lang/Object;D)V
#104 = InvokeDynamic #0:#103 // #0:"dyn:setProp|setElem:i":(Ljava/lang/Object;D)V
#105 = Utf8 dyn:getMethod|getProp|getElem:print
#106 = NameAndType #105:#67 // "dyn:getMethod|getProp|getElem:print":(Ljava/lang/Object;)Ljava/lang/Object;
#107 = InvokeDynamic #0:#106 // #0:"dyn:getMethod|getProp|getElem:print":(Ljava/lang/Object;)Ljava/lang/Object;
#108 = Utf8 :callee
#109 = Utf8 Ljdk/nashorn/internal/runtime/ScriptFunction;
#110 = Utf8 :this
#111 = Utf8 Ljava/lang/Object;
#112 = Utf8 :scope
#113 = Utf8 Ljdk/nashorn/internal/runtime/ScriptObject;
#114 = Utf8 :return
#115 = Utf8 jdk/nashorn/internal/runtime/ScriptObject
#116 = Class #115 // jdk/nashorn/internal/runtime/ScriptObject
#117 = Utf8 java/lang/Object
#118 = Class #117 // java/lang/Object
#119 = Utf8 :createProgramFunction
#120 = Utf8 (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
#121 = Utf8 ()V
#122 = NameAndType #27:#121 // "<init>":()V
#123 = Methodref #4.#122 // jdk/nashorn/internal/scripts/JS."<init>":()V
#124 = Utf8 jdk/nashorn/internal/runtime/PropertyMap
#125 = Class #124 // jdk/nashorn/internal/runtime/PropertyMap
#126 = Utf8 :setMap
#127 = Utf8 (ILjdk/nashorn/internal/runtime/PropertyMap;)V
#128 = Utf8 ConstantValue
#129 = Utf8 Code
#130 = Utf8 LocalVariableTable
#131 = Utf8 LineNumberTable
#132 = Utf8 StackMapTable
#133 = Utf8 BootstrapMethods
#134 = Utf8 SourceFile
{
public static final boolean strictMode;
descriptor: Z
flags: ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: int 0
public static java.lang.Object :program(jdk.nashorn.internal.runtime.ScriptFunction, java.lang.Object);
descriptor: (Ljdk/nashorn/internal/runtime/ScriptFunction;Ljava/lang/Object;)Ljava/lang/Object;
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
0: aload_0
1: invokevirtual #20 // Method jdk/nashorn/internal/runtime/ScriptFunction.getScope:()Ljdk/nashorn/internal/runtime/ScriptObject;
4: astore_2
5: new #22 // class jdk/nashorn/internal/scripts/JO5P0
8: dup
9: iconst_0
10: invokestatic #26 // Method ":getMap":(I)Ljdk/nashorn/internal/runtime/PropertyMap;
13: aload_2
14: invokespecial #30 // Method jdk/nashorn/internal/scripts/JO5P0."<init>":(Ljdk/nashorn/internal/runtime/PropertyMap;Ljdk/nashorn/internal/runtime/ScriptObject;)V
17: invokestatic #36 // Method jdk/nashorn/internal/runtime/ScriptRuntime.mergeScope:(Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptObject;
20: astore_2
21: aload_2
22: getstatic #38 // Field constants:[Ljava/lang/Object;
25: iconst_1
26: aload_2
27: invokestatic #44 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
30: invokedynamic #56, 0 // InvokeDynamic #0:"dyn:setProp|setElem:addOne":(Ljava/lang/Object;Ljava/lang/Object;)V
35: aload_2
36: getstatic #38 // Field constants:[Ljava/lang/Object;
39: iconst_2
40: aload_2
41: invokestatic #44 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
44: invokedynamic #59, 0 // InvokeDynamic #0:"dyn:setProp|setElem:addTwo":(Ljava/lang/Object;Ljava/lang/Object;)V
49: aload_2
50: getstatic #38 // Field constants:[Ljava/lang/Object;
53: iconst_3
54: invokestatic #62 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;I)Ljdk/nashorn/internal/runtime/ScriptFunction;
57: invokedynamic #65, 0 // InvokeDynamic #0:"dyn:setProp|setElem:add":(Ljava/lang/Object;Ljava/lang/Object;)V
62: aload_2
63: invokedynamic #69, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:add":(Ljava/lang/Object;)Ljava/lang/Object;
68: astore_3
69: aload_2
70: iconst_0
71: invokedynamic #73, 0 // InvokeDynamic #0:"dyn:setProp|setElem:sum":(Ljava/lang/Object;I)V
76: aload_2
77: iconst_0
78: invokedynamic #76, 0 // InvokeDynamic #0:"dyn:setProp|setElem:i":(Ljava/lang/Object;I)V
83: aload_2
84: invokedynamic #80, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:i":(Ljava/lang/Object;)D
89: ldc2_w #81 // double 1000000.0d
92: dcmpg
93: ifge 169
96: aload_2
97: aload_2
98: invokedynamic #85, 0 // InvokeDynamic #0:"dyn:getMethod|getProp|getElem:addOne":(Ljava/lang/Object;)Ljava/lang/Object;
103: getstatic #89 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
106: aload_2
107: invokedynamic #92, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:sum":(Ljava/lang/Object;)Ljava/lang/Object;
112: invokedynamic #96, 0 // InvokeDynamic #0:"dyn:call":(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
117: dup_x1
118: invokedynamic #98, 0 // InvokeDynamic #0:"dyn:setProp|setElem:sum":(Ljava/lang/Object;Ljava/lang/Object;)V
123: astore_3
124: aload_2
125: aload_2
126: invokedynamic #101, 0 // InvokeDynamic #0:"dyn:getMethod|getProp|getElem:addTwo":(Ljava/lang/Object;)Ljava/lang/Object;
131: getstatic #89 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
134: aload_2
135: invokedynamic #92, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:sum":(Ljava/lang/Object;)Ljava/lang/Object;
140: invokedynamic #96, 0 // InvokeDynamic #0:"dyn:call":(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
145: dup_x1
146: invokedynamic #98, 0 // InvokeDynamic #0:"dyn:setProp|setElem:sum":(Ljava/lang/Object;Ljava/lang/Object;)V
151: astore_3
152: aload_2
153: aload_2
154: invokedynamic #80, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:i":(Ljava/lang/Object;)D
159: dconst_1
160: dadd
161: invokedynamic #104, 0 // InvokeDynamic #0:"dyn:setProp|setElem:i":(Ljava/lang/Object;D)V
166: goto 83
169: aload_2
170: invokedynamic #107, 0 // InvokeDynamic #0:"dyn:getMethod|getProp|getElem:print":(Ljava/lang/Object;)Ljava/lang/Object;
175: getstatic #89 // Field jdk/nashorn/internal/runtime/ScriptRuntime.UNDEFINED:Ljdk/nashorn/internal/runtime/Undefined;
178: aload_2
179: invokedynamic #92, 0 // InvokeDynamic #0:"dyn:getProp|getElem|getMethod:sum":(Ljava/lang/Object;)Ljava/lang/Object;
184: invokedynamic #96, 0 // InvokeDynamic #0:"dyn:call":(Ljava/lang/Object;Ljdk/nashorn/internal/runtime/Undefined;Ljava/lang/Object;)Ljava/lang/Object;
189: astore_3
190: aload_3
191: areturn
LocalVariableTable:
Start Length Slot Name Signature
0 192 0 :callee Ljdk/nashorn/internal/runtime/ScriptFunction;
0 192 1 :this Ljava/lang/Object;
4 188 2 :scope Ljdk/nashorn/internal/runtime/ScriptObject;
68 124 3 :return Ljava/lang/Object;
LineNumberTable:
line 11: 21
line 16: 35
line 21: 49
line 1: 69
line 3: 76
line 5: 96
line 6: 124
line 3: 152
line 9: 169
StackMapTable: number_of_entries = 2
frame_type = 253 /* append */
offset_delta = 83
locals = [ class jdk/nashorn/internal/runtime/ScriptObject, class java/lang/Object ]
frame_type = 251 /* same_frame_extended */
offset_delta = 85
public static jdk.nashorn.internal.runtime.ScriptFunction :createProgramFunction(jdk.nashorn.internal.runtime.ScriptObject);
descriptor: (Ljdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
0: getstatic #38 // Field constants:[Ljava/lang/Object;
3: iconst_4
4: aload_0
5: invokestatic #44 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl.create:([Ljava/lang/Object;ILjdk/nashorn/internal/runtime/ScriptObject;)Ljdk/nashorn/internal/runtime/ScriptFunction;
8: areturn
public static jdk.nashorn.internal.runtime.PropertyMap :getMap(int);
descriptor: (I)Ljdk/nashorn/internal/runtime/PropertyMap;
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
0: getstatic #38 // Field constants:[Ljava/lang/Object;
3: iload_0
4: aaload
5: checkcast #125 // class jdk/nashorn/internal/runtime/PropertyMap
8: areturn
public static void :setMap(int, jdk.nashorn.internal.runtime.PropertyMap);
descriptor: (ILjdk/nashorn/internal/runtime/PropertyMap;)V
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: getstatic #38 // Field constants:[Ljava/lang/Object;
3: iload_0
4: aload_1
5: aastore
6: return
}
BootstrapMethods:
0: #51 invokestatic jdk/nashorn/internal/runtime/linker/Bootstrap.bootstrap:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;I)Ljava/lang/invoke/CallSite;
Method arguments:
#52 5
SourceFile: "run.js"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment