Skip to content

Instantly share code, notes, and snippets.

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 headius/33160a110d0365029bd1ec45c48b32f3 to your computer and use it in GitHub Desktop.
Save headius/33160a110d0365029bd1ec45c48b32f3 to your computer and use it in GitHub Desktop.
// access flags 0x9
public static RUBY$method$broadcast$7(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/parser/StaticScope;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;Lorg/jruby/RubyModule;Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject;
TRYCATCHBLOCK L0 L1 L1 java/lang/Throwable
TRYCATCHBLOCK L1 L2 L2 java/lang/Throwable
L3
NOP
ALOAD 0
ALOAD 4
ALOAD 5
ALOAD 2
ALOAD 3
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.preMethodFrameOnly (Lorg/jruby/RubyModule;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)V
ALOAD 0
GETSTATIC org/jruby/runtime/Visibility.PUBLIC : Lorg/jruby/runtime/Visibility;
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.setCurrentVisibility (Lorg/jruby/runtime/Visibility;)V
ALOAD 0
ALOAD 1
INVOKESTATIC org/jruby/runtime/DynamicScope.newDynamicScope (Lorg/jruby/parser/StaticScope;)Lorg/jruby/runtime/DynamicScope;
DUP
ASTORE 6
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.pushScope (Lorg/jruby/runtime/DynamicScope;)V
L0
NOP
L4
LINENUMBER 146 L4
ALOAD 2
INVOKEDYNAMIC ivarGet:@monitor(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; [
// handle kind 0x6 : INVOKESTATIC
org/jruby/runtime/invokedynamic/VariableSite.ivar(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
// arguments: none
]
ASTORE 7
ALOAD 0
ALOAD 2
ALOAD 7
ALOAD 0
INVOKESTATIC $_dot_dot_/$_dot_dot_/jruby/lib/ruby/stdlib/monitor.symbol5 (Lorg/jruby/runtime/ThreadContext;)Lorg/jruby/RubySymbol;
INVOKEDYNAMIC invoke:__send__(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; [
// handle kind 0x6 : INVOKESTATIC
org/jruby/ir/targets/NormalInvokeSite.bootstrap(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;I)Ljava/lang/invoke/CallSite;
// arguments:
0,
"../../jruby/lib/ruby/stdlib/monitor.rb",
146
]
ASTORE 8
L5
LINENUMBER 147 L5
ALOAD 2
INVOKEDYNAMIC ivarGet:@cond(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; [
// handle kind 0x6 : INVOKESTATIC
org/jruby/runtime/invokedynamic/VariableSite.ivar(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
// arguments: none
]
ASTORE 9
ALOAD 0
ALOAD 2
ALOAD 9
INVOKEDYNAMIC invoke:broadcast(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; [
// handle kind 0x6 : INVOKESTATIC
org/jruby/ir/targets/NormalInvokeSite.bootstrap(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;ILjava/lang/String;I)Ljava/lang/invoke/CallSite;
// arguments:
0,
"../../jruby/lib/ruby/stdlib/monitor.rb",
147
]
ASTORE 10
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.popScope ()V
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.postMethodFrameOnly ()V
ALOAD 10
ARETURN
L1
FRAME FULL [org/jruby/runtime/ThreadContext org/jruby/parser/StaticScope org/jruby/runtime/builtin/IRubyObject org/jruby/runtime/Block org/jruby/RubyModule java/lang/String org/jruby/runtime/DynamicScope] [java/lang/Throwable]
NOP
ASTORE 11
ALOAD 6
ALOAD 11
INVOKESTATIC org/jruby/ir/runtime/IRRuntimeHelpers.handleNonlocalReturn (Lorg/jruby/runtime/DynamicScope;Ljava/lang/Object;)Lorg/jruby/runtime/builtin/IRubyObject;
ASTORE 12
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.popScope ()V
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.postMethodFrameOnly ()V
ALOAD 12
ARETURN
L2
FRAME SAME1 java/lang/Throwable
NOP
ASTORE 13
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.popScope ()V
ALOAD 0
INVOKEVIRTUAL org/jruby/runtime/ThreadContext.postMethodFrameOnly ()V
ALOAD 13
ATHROW
L6
FRAME FULL [] [java/lang/Throwable]
ATHROW
L7
LOCALVARIABLE $context Lorg/jruby/runtime/ThreadContext; L3 L7 0
LOCALVARIABLE $scope Lorg/jruby/parser/StaticScope; L3 L7 1
LOCALVARIABLE $self Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 2
LOCALVARIABLE $blockArg Lorg/jruby/runtime/Block; L3 L7 3
LOCALVARIABLE $class Lorg/jruby/RubyModule; L3 L7 4
LOCALVARIABLE $superName Ljava/lang/String; L3 L7 5
LOCALVARIABLE $dynamicScope Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 6
LOCALVARIABLE $v_3 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 7
LOCALVARIABLE $v_4 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 8
LOCALVARIABLE $v_5 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 9
LOCALVARIABLE $v_6 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 10
LOCALVARIABLE $v_7 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 11
LOCALVARIABLE $v_8 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 12
LOCALVARIABLE $v_9 Lorg/jruby/runtime/builtin/IRubyObject; L3 L7 13
MAXSTACK = 5
MAXLOCALS = 14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment