Hi,
I’m running into a jruby error on some code that previously ran fine on
MRI (some changes made but nothing major, definitely looks jruby
related).
It’s the seeds.rb file of an app setting up a DB using DataMapper. Sorry
for posting a lof of info below, put in what I thought should be enough
for someone to give me a nudge in the right direction.
It’s not complete but should be enough to get a sense for what direction
I should take in trying to sort this out. This is on Windows. Will try
to run it on Linux to see if it shows same thing or different.
Thanks
print “Create market infos in memory…\n”
create market infos in memory
market_infos_attrs = [{:symbol => “BO”, :exchange_symbol =>
exchanges[0].symbol, :currency_symbol => ccys[2].symbol,
:futures_expiration_daterule => "+14d-1b",
:futures_first_notice_daterule => “-1b”,
:option_expiration_daterule => "-2b-1E-0b",
:futures_min_tick_size_denominator => 1,
:options_min_tick_size_denominator => 2,
:raw_settles_currency_symbol => ccys[0].symbol},
{:symbol => "C", :exchange_symbol =>
exchanges[0].symbol, :currency_symbol => ccys[1].symbol,
:futures_expiration_daterule => "+14d-1b",
:futures_first_notice_daterule => “-1b”,
:option_expiration_daterule => "-2b-1E-0b",
:futures_min_tick_size_denominator => 4,
:options_min_tick_size_denominator => 8,
:raw_settles_currency_symbol => ccys[0].symbol},
]
market_infos = []
market_infos_attrs.each do |attrs|
market_infos << MarketInfo.new(attrs)
end
print “Seed vol models…\n”
vol models
vol_models = []
market_infos.each do |mi|
vol_models << VannaVolgaVolModel.create(:name => “vanna_volga
#{mi.symbol}”, :delta_of_strikes => 20)
end
print “Seed pricing models…\n”
pricing models
pricing_models = []
market_infos.each do |mi|
pricing_models << Bs76Pricer.create(:name => “bs76 #{mi.symbol}”)
end
print “Seed valuation models and save market infos…\n”
valuation models
fvm = FuturesValuationModel.create(:name => “futures_valuation_model
generic”)
valuation_models = []
i = 0
market_infos.each do |mi|
p mi
vm = VvBsValuationModel.create(:name => “vv_bs_valuation_model
#{mi.symbol}”,
:vanna_volga_vol_model_id =>
vol_models[i].id,
:bs76_pricer_id =>
pricing_models[i].id)
p vm
valuation_models << vm
mi.default_option_valuation_model = vm
mi.default_futures_valuation_model = fvm
mi.save
p mi
i += 1
end
Output:
Seed pricing models…
Seed valuation models and save market infos…
#<MarketInfo @symbol=“BO” @futures_expiration_daterule=“+14d-1b”
@futures_first_notice_daterule=“-1b”
@option_expiration_daterule=“-2b-1E-0b” @option_expiration_time=nil
@futures_min_tick_size_denominator=“1”
@options_min_tick_size_denominator=“2” @price_unit=nil @created_at=nil
@update_at=nil @default_option_valuation_model_class=nil
@default_option_valuation_model_id=nil
@default_futures_valuation_model_class=nil
@default_futures_valuation_model_id=nil @currency_symbol=“USt”
@currency_yield_curve_model_id=nil @raw_settles_currency_symbol=“USD”
@raw_settles_currency_yield_curve_model_id=nil
@raw_settles_currency_id=nil @exchange_symbol=“CBT”
@futures_valuation_model_id=nil>
DummyDynamicScope.java:49:in `getBackRef’: java.lang.RuntimeException:
DummyDynamicScope should never be used for backref storage
from RubyRegexp.java:1404:in `updateBackRef'
from RubyRegexp.java:1396:in `updateBackRef'
from RubyRegexp.java:1386:in `search'
from RubyRegexp.java:1301:in `op_match'
from RubyString.java:1446:in `op_match'
from
org/jruby/RubyString$i_method_1_0$RUBYINVOKER$op_match.gen:-1:in `call’
from JavaMethod.java:721:in `call'
from RubyClass.java:472:in `finvoke'
from RubyObject.java:1442:in `send'
from
org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in `call’
from JavaMethod.java:276:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from numeric_validator.rb:65:in `__file__'
from numeric_validator.rb:-1:in `__file__'
from JittedMethod.java:102:in `call'
from DefaultMethod.java:144:in `call'
from CachingCallSite.java:280:in `cacheAndCall'
from CachingCallSite.java:69:in `call'
from FCallManyArgsNode.java:60:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:229:in `call'
from DefaultMethod.java:193:in `call'
from RubyClass.java:491:in `finvoke'
from RubyObject.java:1448:in `send'
from
org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in `call’
from JavaMethod.java:293:in `call'
from CachingCallSite.java:350:in `cacheAndCall'
from CachingCallSite.java:229:in `call'
from numeric_validator.rb:59:in `__file__'
from numeric_validator.rb:-1:in `__file__'
from JittedMethod.java:221:in `call'
from DefaultMethod.java:201:in `call'
from CachingCallSite.java:227:in `call'
from FCallThreeArgNode.java:40:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from contextual_validators.rb:58:in `block_0$RUBY$__block__'
from null:-1:in `call'
from CompiledBlock.java:105:in `yield'
from Block.java:194:in `yield'
from RubyEnumerable.java:627:in `call'
from CallBlock.java:78:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call’
from RubyClass.java:432:in `finvoke'
from RuntimeHelpers.java:390:in `invoke'
from RubyEnumerable.java:70:in `callEach'
from RubyEnumerable.java:624:in `collect'
from
org/jruby/RubyEnumerable$s_method_0_0$RUBYFRAMEDINVOKER$collect.gen:-1:i
n `call’
from CachingCallSite.java:116:in `callBlock'
from CachingCallSite.java:133:in `callIter'
from contextual_validators.rb:57:in `__file__'
from contextual_validators.rb:-1:in `__file__'
from JittedMethod.java:187:in `call'
from CachingCallSite.java:187:in `call'
from dm-validations.rb:89:in `__file__'
from dm-validations.rb:-1:in `__file__'
from AbstractScript.java:47:in `__file__'
from JittedMethod.java:153:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from dm-validations.rb:60:in `__file__'
from dm-validations.rb:-1:in `__file__'
from AbstractScript.java:47:in `__file__'
from JittedMethod.java:153:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from resource.rb:912:in `block_0$RUBY$__block__'
from null:-1:in `call'
from CompiledBlock.java:105:in `yield'
from CompiledBlock.java:78:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from resource.rb:1085:in `ensure_1$RUBY$__ensure___0'
from resource.rb:1083:in `__file__'
from resource.rb:-1:in `__file__'
from JittedMethod.java:170:in `call'
from CachingCallSite.java:320:in `cacheAndCall'
from CachingCallSite.java:158:in `callBlock'
from CachingCallSite.java:173:in `callIter'
from resource.rb:911:in `__file__'
from resource.rb:-1:in `__file__'
from JittedMethod.java:153:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from resource.rb:351:in `__file__'
from resource.rb:-1:in `__file__'
from JittedMethod.java:136:in `call'
from SuperCallSite.java:300:in `cacheAndCall'
from SuperCallSite.java:96:in `callBlock'
from SuperCallSite.java:101:in `call'
from dm-validations.rb:48:in `block_0$RUBY$__block__'
from null:-1:in `call'
from CompiledBlock.java:105:in `yield'
from CompiledBlock.java:78:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from context.rb:30:in `ensure_1$RUBY$__ensure___0'
from context.rb:29:in `__file__'
from context.rb:-1:in `__file__'
from AbstractScript.java:47:in `__file__'
from JittedMethod.java:170:in `call'
from CachingCallSite.java:320:in `cacheAndCall'
from CachingCallSite.java:158:in `callBlock'
from CachingCallSite.java:173:in `callIter'
from dm-validations.rb:48:in `__file__'
from dm-validations.rb:-1:in `__file__'
from AbstractScript.java:43:in `__file__'
from JittedMethod.java:119:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from CallSpecialArgNode.java:65:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from CallOneArgNode.java:57:in `interpret'
from DAsgnNode.java:110:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call’
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RootNode.java:129:in `interpret'
from Ruby.java:2419:in `loadFile'
from ExternalScript.java:64:in `load'
from LoadService.java:249:in `load'
from RubyKernel.java:932:in `load'
from
org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen:-1:in
`call’
from DynamicMethod.java:180:in `call'
from DynamicMethod.java:176:in `call'
from AliasMethod.java:61:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallSpecialArgNode.java:39:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:251:in `yield'
from InterpretedBlock.java:185:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from ZYieldNode.java:25:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from EnsureNode.java:96:in `interpret'
from InterpretedMethod.java:192:in `call'
from DefaultMethod.java:180:in `call'
from CachingCallSite.java:320:in `cacheAndCall'
from CachingCallSite.java:158:in `callBlock'
from CachingCallSite.java:163:in `call'
from CallOneArgBlockNode.java:60:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:117:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from AliasMethod.java:61:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallOneArgNode.java:36:in `interpret'
from IfNode.java:117:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:305:in `yield'
from BlockBody.java:72:in `call'
from BlockBody.java:78:in `call'
from Block.java:89:in `call'
from RubyProc.java:221:in `call'
from RubyProc.java:204:in `call'
from
org/jruby/RubyProc$i_method_0_0$RUBYFRAMEDINVOKER$call.gen:-1:in `call’
from JavaMethod.java:627:in `call'
from DynamicMethod.java:184:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from CallTwoArgNode.java:59:in `interpret'
from NewlineNode.java:104:in `interpret'
from CaseNode.java:138:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call’
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallOneArgNode.java:36:in `interpret'
from IfNode.java:117:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:251:in `yield'
from InterpretedBlock.java:185:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from ZYieldNode.java:25:in `interpret'
from NewlineNode.java:104:in `interpret'
from EnsureNode.java:96:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:161:in `call'
from AliasMethod.java:81:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:210:in `call'
from DefaultMethod.java:185:in `call'
from CachingCallSite.java:330:in `cacheAndCall'
from CachingCallSite.java:189:in `call'
from FCallTwoArgNode.java:38:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:136:in `call'
from DefaultMethod.java:153:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from CallSpecialArgNode.java:65:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:169:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from FCallOneArgNode.java:36:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:268:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1635:in `eachCommon'
from RubyArray.java:1642:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call’
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:123:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from IfNode.java:119:in `interpret'
from IfNode.java:119:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:251:in `yield'
from InterpretedBlock.java:185:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from ZYieldNode.java:25:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:161:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:133:in `callIter'
from FCallNoArgBlockNode.java:32:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:136:in `call'
from DefaultMethod.java:153:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from VCallNode.java:85:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:317:in `evalBlockBody'
from InterpretedBlock.java:251:in `yield'
from InterpretedBlock.java:185:in `yieldSpecific'
from Block.java:99:in `yieldSpecific'
from ZYieldNode.java:25:in `interpret'
from NewlineNode.java:104:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:161:in `call'
from CachingCallSite.java:300:in `cacheAndCall'
from CachingCallSite.java:118:in `callBlock'
from CachingCallSite.java:133:in `callIter'
from FCallNoArgBlockNode.java:32:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedMethod.java:136:in `call'
from DefaultMethod.java:153:in `call'
from CachingCallSite.java:290:in `cacheAndCall'
from CachingCallSite.java:109:in `call'
from CallNoArgNode.java:61:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RootNode.java:129:in `interpret'
from Ruby.java:2419:in `loadFile'
from ExternalScript.java:64:in `load'
from LoadService.java:249:in `load'
from RubyKernel.java:932:in `load'
from
org/jruby/RubyKernel$s_method_0_1$RUBYFRAMEDINVOKER$load.gen:-1:in
`call’
from DynamicMethod.java:180:in `call'
from DynamicMethod.java:176:in `call'
from CachingCallSite.java:310:in `cacheAndCall'
from CachingCallSite.java:149:in `call'
from rake:19:in `__file__'
from rake:-1:in `load'
from Ruby.java:628:in `runScript'
from Ruby.java:550:in `runNormally'
from Ruby.java:396:in `runFromMain'
from Main.java:272:in `run'
from Main.java:117:in `run'
from Main.java:97:in `main'
That seems to be what I get consistently from a command prompt on
Windows. Under a cygwin prompt I get some semi-random crashes. One
output from such is this:
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x04df01c8, pid=4624,
tid=8132
JRE version: 6.0_17-b04
Java VM: Java HotSpot™ Client VM (14.3-b01 mixed mode windows-x86 )
Problematic frame:
C 0x04df01c8
If you would like to submit a bug report, please visit:
Bug Report
The crash happened outside the Java Virtual Machine in native code.
See problematic frame for where to report the bug.
--------------- T H R E A D ---------------
Current thread (0x00a86c00): JavaThread “main” [_thread_in_native,
id=8132, stack(0x00030000,0x00230000)]
siginfo: ExceptionCode=0xc0000005, reading address 0x00000000
EIP=0x04df01c8, EFLAGS=0x00010202
Top of Stack: (sp=0x00229504)
Top of Stack: (sp=0x00229504)
0x00229504: 04e4149a 00000000 003ec710 0688eec6
0x00229514: 00000000 04ef4fdc 00000000 068ea008
0x00229524: 00000000 00000000 003ec590 04e50f71
0x00229534: 04df01c8 00000000 00000000 003ec590
0x00229544: 00000000 00000001 0000001b 00000002
0x00229554: 00000000 000000dc 0688eec6 00000000
0x00229564: 00000000 00000000 000007a8 04ef4fdc
0x00229574: 0688eec6 003ec590 04e5aea2 04ef4fdc
Instructions: (pc=0x04df01c8)
0x04df01b8: b8 c7 89 06 00 1f e4 67 b0 c7 89 06 21 00 00 00
0x04df01c8: a4 a0 e4 67 a4 a0 e4 67 05 63 00 00 00 00 00 00
Stack: [0x00030000,0x00230000], sp=0x00229504, free space=2021k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code,
C=native code)
C 0x04df01c8
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j
com.kenai.jffi.Foreign.invokeArrayO1Int32(J[BLjava/lang/Object;III)I+0
j
com.kenai.jffi.Invoker.invokeArrayWithObjectsInt32(Lcom/kenai/jffi/Funct
ion;Lcom/kenai/jffi/HeapInvocationBuffer;Lcom/kenai/jffi/ObjectBuffer;)I
+76
j
com.kenai.jffi.Invoker.invokeInt(Lcom/kenai/jffi/Function;Lcom/kenai/jff
i/HeapInvocationBuffer;)I+13
j
com.kenai.jffi.Invoker$ILP32.invokeAddress(Lcom/kenai/jffi/Function;Lcom
/kenai/jffi/HeapInvocationBuffer;)J+3
j
org.jruby.ext.ffi.jffi.DefaultMethodFactory$PointerInvoker.invoke(Lorg/j
ruby/Ruby;Lcom/kenai/jffi/Function;Lcom/kenai/jffi/HeapInvocationBuffer;
)Lorg/jruby/runtime/builtin/IRubyObject;+5
j
org.jruby.ext.ffi.jffi.DefaultMethod.call(Lorg/jruby/runtime/ThreadConte
xt;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyModule;Ljava/la
ng/String;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Blo
ck;)Lorg/jruby/runtime/builtin/IRubyObject;+95
j
org.jruby.internal.runtime.methods.DynamicMethod.call(Lorg/jruby/runtime
/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/RubyMod
ule;Ljava/lang/String;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jrub
y/runtime/builtin/IRubyObject;+11
J
org.jruby.runtime.callsite.CachingCallSite.call(Lorg/jruby/runtime/Threa
dContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/built
in/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runti
me/builtin/IRubyObject;
j
org.jruby.ast.CallManyArgsNode.interpret(Lorg/jruby/Ruby;Lorg/jruby/runt
ime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runt
ime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;+41
J
org.jruby.ast.NewlineNode.interpret(Lorg/jruby/Ruby;Lorg/jruby/runtime/T
hreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/B
lock;)Lorg/jruby/runtime/builtin/IRubyObject;
J
org.jruby.runtime.InterpretedBlock.evalBlockBody(Lorg/jruby/runtime/Thre
adContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/bui
ltin/IRubyObject;
j
org.jruby.runtime.InterpretedBlock.yield(Lorg/jruby/runtime/ThreadContex
t;Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Block$Type;)Lorg/jruby/r
untime/builtin/IRubyObject;+53
j
org.jruby.runtime.InterpretedBlock.yieldSpecific(Lorg/jruby/runtime/Thre
adContext;Lorg/jruby/runtime/Binding;Lorg/jruby/runtime/Block$Type;)Lorg
/jruby/runtime/builtin/IRubyObject;+4
j
org.jruby.runtime.Block.yieldSpecific(Lorg/jruby/runtime/ThreadContext;)
Lorg/jruby/runtime/builtin/IRubyObject;+13
j
org.jruby.ast.ZYieldNode.interpret(Lorg/jruby/Ruby;Lorg/jruby/runtime/Th
readContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Bl
ock;)Lorg/jruby/runtime/builtin/IRubyObject;+8
…
(I can provide more levels if of any interest)
######################################################################
The information contained in this communication is confidential and
intended only for the individual(s) named above. If you are not a named
addressee, please notify the sender immediately and delete this email
from your system. The views expressed in this email are the views of
the author and do not necessarily represent the views of Millennium
Capital Partners LLP (MCP LLP) or any of its affiliates. Outgoing
and incoming electronic communications of MCP LLP and its affiliates,
including telephone communications, may be electronically archived and
subject to review and/or disclosure to someone other than the recipient.
MCP LLP is authorised and regulated by the Financial Services Authority.
######################################################################