Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

電子頭脳特化特殊並列 RT VM パイプライン機構立上げ ( ミウラ氏フリー mruby 変革 )

30 views
Skip to first unread message

YAMAGUTIseisei

unread,
Aug 30, 2015, 12:14:10 AM8/30/15
to
ご先方様には失礼の段をご容赦願います



> STEP03
> 技術課題名(必須項目)
>
> Miura 氏製 mruby VM のリアルタイム有機分散化前提並列化に纏るパイプライン機構立上げ
>
>
> STEP04
> 技術課題を乗り越えて実現したい目標(必須項目)
>
> 純国産電子頭脳 ( 搭載純国産人造人間 )
>
>
> お中元の準備も整わずの応募をご容赦願えましたら .
>
>
> * 実現への道筋
>
> 1. RT 自律超細粒度分散並列に耐えます構造へと変革 ( Ruby 並列化と歩みを共に )
> 2. 簡易自然言語インタフェースシステムとの融合を達成 ( 有機浸透スレッド RubyOS )
> 3. 自然言語ラベルに基きました自律記憶装置 ( 電子頭脳基盤 )
>
> ( 投機実行 多段化 メソッド並列 JIT 部並列 YARV 内部並列化へ応用
> ユビキタス化 ( 加算器レベル超々細粒度 ) Ruby TRON CellBE AAP-2/3 SH-4 PowerX )
>
> ※ 尚実用化後の販売などは僭越ながらオノ・ヨーコ様事務所様ブランドにてと .
>
>
> * その他
>
> 2 ) お知らせ
> VM ( バーチャルマシン ) と申しますは情報の根源又 MPU 分野の領域に属しております .
> 電子頭脳の文脈にては魂の部分に関わって参りますものと仰います向も何れかには .
>
> 3 ) 御プログラムにエントリーなど願います事情
> 世界に冠たります Ruby を用いさせて頂きつも当該課題は IT 分野と対極を成し
> ます組込分野に属しております ( 残念ながら IT 企業様とお話が噛合います余地は
> 絶望的との程度で済みましたらむしろ幸運とさえ申せましょう ) .
> 又組込分野の企業様におかれましては小規模高速軽量並列機構へは或いはご興味も
> 大規模有機分散化前提並列機構の使途には些か , 少々 , お困りになられましょう .
>
>
> STEP06
> 別添資料アップロード(必須項目)
>
> SekkeiZu_Gaiyou.jis.lf.txt
> SampleLog.jis.lf.txt


http://github.com/miura1729/mruby-meta-circular/



--
YAMAGUTIseisei ( str_h__namae = { "sei" => "山口" , "mei" => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
heiwa furiisekkusu 1tu

Aperios WinnyOS 392?20V?I

YAMAGUTIseisei

unread,
Sep 5, 2015, 11:35:07 PM9/5/15
to
YAMAGUTIseisei wrote:
>> Miura 氏製 mruby VM のリアルタイム有機分散化前提並列化に纏るパイプライン機構立上げ

立上げ段階への移行の模索


>> 純国産電子頭脳 ( 搭載純国産人造人間 )

レガシー生体頭脳コネクトーム系互換 ( 国産 ) 電子頭脳 ( 物体 / エミュ )



--
YAMAGUTIseisei ( str_h__namae = { "sei" => "山口" , "mei" => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
heiwa furiisekkusu 1tu

Plain

YAMAGUTIseisei

unread,
Jun 29, 2017, 8:21:10 AM6/29/17
to
23c23,25
< KS = (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
---
> # KS = (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
> # Ks = (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
> @@ks = nil
32,35d33
< # if v == vs = v.to_s
< # ?t == k # String # q
< # else
< # ! ! case k
37,39c35,36
< ! ! case k = k.to_s[1]
< # when ?r # , Array # q
< # '[]' == vs[0] + vs[-1]
---
> # ! ! case k = k.to_s[1]
> case k = k.to_s[1]
42c39,43
< s = KS + ?i == k ? '' : ?. # Fixnum # q 2
---
> # s = KS + ?i == k ? '' : ?. # Fixnum # q 2
> # s = Ks + ?i == k ? '' : ?. # Fixnum # q 2
> s = ( # Fixnum
> @@ks |= (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
> ) + ?i == k ? '' : ?. # q 2
45d45
< end
46a47
> end.!.!
99a101,102
> # @@slp = 10 # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
> # @@slp = 100 # nsleep # hayai masin
101a105
> # (r - 1).times {usleep 0}; GC.start; r.times {usleep t} # conf.gem :github => 'kimushu/mruby-sleep' # msleep usleep
191d194
< # @fml.call(lb).assoc(sym)
205,206c208,209
< # knid(op[0], 'Numeric') ? op.inject(:+) : self.send(*op)
< knid(op[0], :Numeric) ? op.inject(:+) : self.send(*op)
---
> # knid(op[0], :Numeric) ? op.inject(:+) : self.send(*op)
> case op[0] when Numeric then op.inject(:+) else self.send(*op) end
232,233d234
< # @@idx = Hash.new
<
237d237
< # @@idx = []
260c260
< # 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # www.monami-ya.jp
---
> # 3080410200 : 5x2 ok ( gc ) : monami-ya.mrb 8270410200 813e2af8 # http://www.monami-ya.jp/
272a273
> # f.close # ?
278c279
< # [yield(a), f.close, @m.unlock][0]
---
> # [yield(a), @m.unlock][0]
319c320
< n + (t > n ? 1 : 0)
---
> # n + (t > n ? 1 : 0)
325a327,328
> # n + ((t <=> n) + 1 >> 1)
> n - ((n <=> t) >> 1)
367d369
< # ctr != cto ? cto_s(ctr) : -ctr
386d387
< # pl_es('cto', cto)
402a404
> # bfsz = (a = [case th when Array then true end.!.!, [] == th]).size # t
406,407c408,409
< # (bf = 1).step(bfsz - 1) { bf |= bf << 1}
< bf = 2 ** bfsz - 1 # kakezan
---
> # bf = 2 ** bfsz - 1 # kakezan
> bf = (1 << bfsz) - 1
413d414
< # 0 == lf ? break : md &= bf if 0 == lf >> bfsz
420c421
< # ([] == a || ! knid(a, :Array)) && return(a) # t # higokan mruby70410200 monami-ya.mrb60510200
---
> # ([] == a || ! knid(a, :Array)) && return(a) # t # higokan mruby70410200 monami-ya.mrb60510200
421a423
> # ([] == a || case a when Array then true end.!) && (return a) # t
426c428,429
< knid(v, :Array) ? st_id(v, pc) : v
---
> # knid(v, :Array) ? st_id(v, pc) : v
> case v when Array then st_id(v, pc) else v end
432,434c435,439
< a.inject { |opc, op|
< #print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" if ! knid(opc, 'Numeric')
< print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" if ! knid(opc, :Numeric)
---
> # a.inject { |opc, op|
> opc, op = a
> #print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" if ! knid(opc, :Numeric)
> case opc when Numeric then else
> print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" end
437c442
< }
---
> # }
451,452c456
< th[idx] = st_id(th[idx], pc - 1) ;
< #### th[idx] = st_id(th[idx], pc - 1) if ckth(th[idx], 0) # fuguai taisaku
---
> th[idx] = st_id(th[idx], pc - 1)
456d459
< #### if f = (th[idx].nil?.! && ckth(th[mx], 3)) # fuguai taisaku
464c467,468
< idx += f && idx < mx ? 1 : 0
---
> idx += f || idx < mx ? 1 : 0 ##
> #### idx += f && idx < mx ? 1 : 0 # fuguai taisaku ##
502,549d505
< #module M__Pary
< # def initialize(*a)
< # @a = a.shift
< # @i = (a[-1] || 0)
< # end
< #
< # def pg
< # @i
< # end
< #
< # def ps(i = @i)
< # @i = i
< # end
< #
< # def []=(i, v)
< # @a[ipt(i)] = v
< # end
< #
< # def [](i)
< # @a[ipt(i)]
< # end
< #
< ## private
< #
< # def ipt(i)
< # @i + ((i + i.abs) >> 1)
< # end
< #end
< #
< #class Pary
< # include M__Pary
< #end
<
< #module M__Sgp
< ## def initialize(i = 0)
< ### self = i
< ## super
< ## end
< #
< # def ipt(i)
< # self + ((i + i.abs) >> 1)
< # end
< #end
< #
< #class Sgp < Fixnum # Numeric
< # include M__Sgp
< #end
<
552c508
< # @@m = Mutex.new
---
> @@m = Mutex.new
558,561c514,517
< # @@m.lock
< # s = @s
< # @@m.unlock
< # s
---
> @@m.lock
> s = @s
> @@m.unlock
> s
572,574c528,530
< # @@m.lock
< # s = @s
< # @@m.unlock
---
> @@m.lock
> s = @s
> @@m.unlock
577,579c533
< # s[@p + a[0].sgp]
< @s[@p + a[0].sgp]
< # [mloc, @s[@p + a[0].sgp], @@m.unlock][1]
---
> s[@p + a[0].sgp]
583c537
< # @@m.lock
---
> @@m.lock
586,590c540,542
< # a = @s[@p + a[0].sgp] = a[1]
< # @@m.unlock
< # a
< @s[@p + a[0].sgp] = a[1]
< # [mloc, @s[@p + a[0].sgp] = a[1], @@m.unlock][1]
---
> a = @s[@p + a[0].sgp] = a[1]
> @@m.unlock
> a
592,595d543
<
< # def mloc
< # begin @@m.lock; rescue Slp.new.slp(0); retry end
< # end
604d551
< # def initialize(k, *a)
631,632d577
< # def []=(k, i, v)
< # def []=(*a)
708d652
< # f = r.map { |v| lpl.ckth(v, 1)}
710d653
< # r[1] = r[-1]; f[1] = f[-1]
713,714c656
< r = r.map { |v| [v[0], v[-1]]}
< # [pl[lpl.affil('sym', ?i)].to_sym, r, f] # q
---
> r.map! { |v| [v[0], v[-1]]}
726c668
< i_th = lpl.affil('th', ?i) # q
---
> # i_th = lpl.affil('th', ?i) # q
730d671
< # s = Stack.new; sp = nil; plr = nil
736d676
< # sp, isr0, r0, r1, lm, pr, sy = nil
741,744c681,684
< # wd = 7
< # ap = 0xf - 1; ap = (ap << wd) + (ap << (wd - 2)) + (1 << (wd - 1)) >> wd
< wd = 2
< ap = 0xf - 1; ap = (ap << wd) + ap + (1 << (wd - 1)) >> wd
---
> # wd = 2
> # ap = 0xf - 1; ap = (ap << wd) + ap + (1 << (wd - 1)) >> wd
> wd = 4; ap = (1 << wd) - 1 - 1
> wd -= 2; ap = (ap << wd) + ap + (1 << (wd - 1)) >> wd
751,752d690
< # r00 = (plr[r1] if 0 <= wd && r1 <= wd) || lm.(isr0, r1) # c
< # s[r1] = sy ? [s[r1], r00].inject(sy) : r00
758d695
< # wd.step(wd + ap = (ap >> 1) + (ap >> 2)) { |n| plr<< lm.(isr0, s[n])} # p c
778c715,716
< ca[flg.inject(0) { |rv, v| rv <<= 1; rv |= v ? 0 : 1}].call
---
> # ca[flg.inject(0) { |rv, v| rv <<= 1; rv |= v ? 0 : 1}].call
> ca[flg.inject(0) { |rv, v| rv = v ? 0 : 1 | rv << 1}].call
789d726
< # def iset(sym, cop, sp, pc) ##
791d727
< # pc, sp, cop, sym = [rg.assoc('pc')[1], rg.assoc('sp')[1], rg.assoc('cop')[1], rg.assoc('sym')[1]]
807c743,744
< ta = ->(l) { [l.shift || 'getarg_a', l.shift || cop][0 .. l[-1] || 1] } # l
---
> ta = ->(ta) { [ta.shift || 'getarg_a', ta.shift || cop][0 .. ta.pop || 1] } # l
>
812,817c749,757
< fvl = ->(oi) {[ # l
< -> {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
< -> {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
< # (oi <=> wd = fv.width) + 1 >> 1]}][oi <=> 0].call # .lazy
< ((wd = fv.width) <=> oi) >> 1]}][oi <=> 0].call # .lazy
< }
---
> # fvl = ->(oi) {[ # l
> # -> {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
> # -> {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
> # ((wd = fv.width) <=> oi) >> 1]}][oi <=> 0].call # .lazy
> # }
> fvl = [->(oi) {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
> ->(oi) {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
> ((wd = fv.width) <=> oi) >> 1]}] # .lazy
>
824,827d763
< # if 'th' == k
< # fv = [-> {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
< # -> {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
< # (oi <=> wd = fv.width) + 1 >> 1]}][oi <=> 0].call # .lazy
829c765,766
< when 'th' then fv = fvl.(oi) # c
---
> # when 'th' then fv = fvl.(oi) # c
> when 'th' then fv = fvl[oi <=> 0].(oi) # c
838c775,776
< k_sp_r = pla.assoc('sp')[1]
---
> # k_sp_r = pla.assoc('sp')[1]
> k_sp = pla.assoc('sp')[1]
842c780,781
< opa.push(k_sp_r, [sp]) if 0 == thi
---
> # opa.push(k_sp_r, [sp]) if 0 == thi
> opa.push(k_sp, [sp]) if 0 == thi
849a789
> # pl.pl_es(pc1, ['sym', 'th', k_sp].flat_map { |o| [o]<< ops.shift}) # p
877,878d816
< # rg = [['ctr', 1], ['thi', 0], ['pc', @pc], ['sp', @sp], ['cop'], ['sym']]
<
891,916d828
<
< # rga = ->(*a) { # l
< # msd, indx, k = a
< # v = a[-1] if 3 < (sz = a.size)
< # case msd
< # when 'as'
< # indx = rg.assoc('ctr')[1] if nil == indx
< # break if 3 > sz
< # rg.assoc(k)[indx] = v if 3 < sz
< # rg.assoc(k)[indx]
< # when 'push'
< # rg.assoc(k)<< v # p
< # when 'ctrg'
< # rg.assoc('ctr')[1]
< # when 'ctrs'
< # rg.assoc('ctr')[1] = indx if nil != indx
< # when 'ctra'
< # rg.assoc('ctr')[1] *= -1 # kakezan
< # when 'next'
< # rg.assoc('pc')[-1] += 1
< # rg.assoc('pc').delete_at(1)
< # rg.assoc('pc')[1]
< # end
< # }
< # rgas = ->(*a) {rga.('as', nil, *a)} # l # c
<
921d832
< # if 1 > rgas.('thi') # c
923d833
< # if 0 > rga.('ctrg') # c
926d835
< # rga.('ctra') # c
930d838
< # @stack.sp(rgas.('sp', @sp)) # + 0 # c
941d848
< # print "#{rg.assoc('pc')[rg.assoc('ctr')[1]].to_xeh} #{rg.assoc('sym')[rg.assoc('ctr')[1]]} #{rg.assoc('cop')[rg.assoc('ctr')[1]].to_xeh}\n"
962d868
< # [true][rgas.('thi', ise.resume)] && ise = nil ##
966d871
< # rga.('push', nil, 'pc', rg['pc']) if 0 == rg['thi'] # c ##
973d877
< # rga.('ctra') # c
991d894
< # rga.('as', -1, 'pc', rg['pc']) + imem.getarg_sbx(rg['cop']) - 1) # c
998d900
< # if @stack[imem.getarg_a(rgas.('cop'))] then # c
1002d903
< # rga.('as', -1, 'pc', rg['pc'] + imem.getarg_sbx(rg['cop']) - 1) # c
1011d911
< # if !@stack[imem.getarg_a(rgas.('cop'))] then # c
1015d914
< # rga.('as', -1, 'pc', rg['pc']) + imem.getarg_sbx(rgas.('cop')) - 1) # c
1022d920
< # rga.('as', -1, 'pc', rg['pc']) # c
1048a947
>
1050d948
< # rgas.('sp', rgas.('sp') + a) # c 2
1055d952
< # rga.('as', -1, 'pc', -1) # c
1079d975
< # return @stack[imem.getarg_a(rg.assoc('cop')[1])]
1084d979
< # @stack[0] = @stack[imem.getarg_a(rgas.('cop'))] # c
1094d988
< # rga.('as', -1, 'pc', @callinfo[@cp]) # - 1 # c
1108d1001
< # if [true][rgas.('thi')] # c
1114,1115d1006
< # @pc = rg.assoc('pc')[1] + 1
< # rg.assoc('pc')[-1] += 1
1117d1007
< # rg.assoc('pc').delete_at(1)
1120d1009
< # @pc = rg.assoc('pc')[1]
1123,1124d1011
< # @pc = rga.('next') # c
< # rg.assoc('ctr')[1] *= -1 # kakezan



--
YAMAGUTIseisei ( str_h__namae = { :sei => "山口" , :mei => "青星" } )
http://hello.to/seisei/ mailto:seisei@.68..net tel:081-70-5152-1104
heiwa furiisekkusu 1tu



YAMAGUTIseisei wrote:
> # Form example if appricate to Mozilla Program http://wiki.mozilla.org/MOSS
> #
> # Project name: Miura mruby VM 's parallel pipeline ( Milestone-0 )
> # Project description: Realtime organic distributed parallel pipeline prototype
> # Project website: http://github.com/ysei/mruby-meta-circular-heiretu

YAMAGUTIseisei

unread,
Aug 7, 2017, 11:16:18 PM8/7/17
to
23,24d22
< # KS = (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
< # Ks = (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
27d24
< # k = Kernel.const_get k
35d31
< # ! ! case k = k.to_s[1]
37c33,34
< when ?r then '[]' == vs[0] + vs[-1] # , Array # q
---
> # when ?r then '[]' == vs[0] + vs[-1] # , Array # q
> when ?r then '[]' == vs[0] << vs[-1] # , Array # q
39,40d35
< # s = KS + ?i == k ? '' : ?. # Fixnum # q 2
< # s = Ks + ?i == k ? '' : ?. # Fixnum # q 2
42,43c37,40
< @@ks |= (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
< ) + ?i == k ? '' : ?. # q 2
---
> # @@ks |= (0 .. 9).to_a.join + ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
> @@ks ||= (0 .. 9).to_a.join << ?- # * '' higokan mruby 70410200 # ?0.upto # higokan mruby 70410200 # 7221410200 6ccae658 suzukaze # q
> # ) + ?i == k ? '' : ?. # q 2
> ) << ?i == k ? '' : ?. # q 2
44a42
> when ?y then vs.to_sym == v # Symbol # q
46d43
< # end
68,71c65
< # def pid_g
< # $$ || self
< # end
< # def pid_g() $$ || self end
---
> # def pid_g; $$ || self end
88,90d81
< # def asoc
< # end
<
195c186,192
< @fml.(lb).assoc(sym) # c
---
> # @fml.(lb).assoc(sym) # c
> @fml.(lb).assoc(sym) || ( # c
> # printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
> print("Unkown code #{sym} \n") # .to_s
> return nil
> # raise
> )
197a195,210
> def ta(ta, cop) [ta.shift || 'getarg_a', ta.shift || cop][0 .. ta.pop || 1] end
>
> # def fvl(oi, th, fv, wd, cop)
> # def fva(oi, th, fv, cop)
> # [
> # [-> {[fv[oi] = th[oi] = (ta(fv[oi], cop)), []]},
> # -> {th += [[fv[oi] && ta(fv[oi], cop)], []][
> # ((wd = fv.width) <=> oi) >> 1]}][oi <=> 0].call, # .lazy
> # th,
> # wd
> # ]
> # ->(oi) {[fv[oi] = th[oi] = (ta(fv[oi], cop)), []]}, # l
> # ->(oi) {th += [[fv[oi] && ta(fv[oi], cop)], []] # l
> # end
>
>
205c218,222
< def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] == a[@@I_s__s][a[@@I_s__r0] + 1] end
---
> # def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] == a[@@I_s__s][a[@@I_s__r0] + 1] end
> def s__r1_eq_sr01(*a) a[@@I_s__s][ a[@@I_s__r1]] ==
> a[@@I_s__s][ a[@@I_s__r0] + 1] end
> # def s__r1_eq_sr01(*a) a[@@I_s__r1] &&
> # a[@@I_s__s][a[@@I_s__r0] + 1] == a[@@I_s__s][a[@@I_s__r1]] end
208d224
< # knid(op[0], :Numeric) ? op.inject(:+) : self.send(*op)
222a239,242
> (
> # @imem = Imem.new # higokan mruby 80410200
> @@Imem = Imem.new
> @@slp = Slp.new
224,234c244,252
< # @imem = Imem.new # higokan mruby 80410200
< @@Imem = Imem.new
<
< @@fl = '~~ritepl'
< @@idb = @@fl
< @@fl += '.loc'
< # @@idb = 0.pid_g.to_xeh + @@idb # +
< # (rand 0xff).to_xeh +
< # (Time.now.to_f - 0x3fffffff.to_f << 0x10).to_s.split('.')[0][-8..-1].to_xeh
< # @@dlm = '\n'
< # @@dlm = '__--__'
---
> @@fl = '~~ritepl'
> @@idb = @@fl
> @@fl += '.loc'
> # @@idb = 0.pid_g.to_xeh + @@idb # +
> # (rand 0xff).to_xeh +
> # (Time.now.to_f - 0x3fffffff.to_f << 0x10).to_s.split(?.)[0][-8..-1].to_xeh # q
> # @@dlm = '\n'
> # @@dlm = '__--__'
> )
274c292,293
< Slp.new.slp 0
---
> # Slp.new.slp 0
> @@slp.slp 0
408d426
< # bf = 2 ** bfsz - 1 # kakezan
423,429c441,453
< # ([] == a || case a when Array then true end.!) && (return a) # t
< a.map! { |v|
< ## v.kind_of?(Array) ? __send__(v, pc) : v # unwork ( thread ? )
< # knid(v, :Array) ? __method__(v, pc) : v # unwork ( thread ? )
< # knid(v, :Array) ? __callee__(v, pc) : v # unwork ( thread ? )
< # knid(v, :Array) ? st_id(v, pc) : v
< case v when Array then st_id(v, pc) else v end
---
> # ([] == a || case a when Array then true end.!) && (return a) # t # higokan mruby70410200 monami-ya.mrb60510200
> # a.map! { |v|
> ### v.kind_of?(Array) ? __send__(v, pc) : v # unwork ( thread ? )
> ## knid(v, :Array) ? __method__(v, pc) : v # unwork ( thread ? )
> ## knid(v, :Array) ? __callee__(v, pc) : v # unwork ( thread ? )
> # knid(v, :Array) ? st_id(v, pc) : v
> # case v when Array then st_id(v, pc) else v end
> a.map! { |a|
> ## v.kind_of?(Array) ? __send__(a, pc) : a # unwork ( thread ? )
> # knid(a, :Array) ? __method__(a, pc) : a # unwork ( thread ? )
> # knid(a, :Array) ? __callee__(a, pc) : a # unwork ( thread ? )
> # knid(a, :Array) ? st_id(a, pc) : a
> case a when Array then st_id(a, pc) else a end
431c455,456
< return a[0] if 2 > a.size
---
> # return a[0] if 2 > a.size
> return a[0] if 1 >= a.size
437,439c462,465
< #print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" if ! knid(opc, :Numeric)
< case opc when Numeric then else
< print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" end
---
> #case opc when Numeric then else
> case opc when Numeric then true end || (
> # print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n" end
> print "#{pc.to_xeh} #{opc} #{op.to_xeh}\n")
456c482,483
< th[idx] = st_id(th[idx], pc - 1)
---
> th[idx] = st_id(th[idx], pc - 1) ;
> #### th[idx] = st_id(th[idx], pc - 1) if ckth(th[idx], 0) # fuguai taisaku
460c487,489
< self.pl_es(pc, ['th', th])
---
> #### if f = (th[idx].nil?.! && ckth(th[mx], 3)) # fuguai taisaku
> # self.pl_es(pc, ['th', th])
> pl_es(pc, ['th', th])
464,465c493,496
< Slp.new.slp 0
< # Slp.new.slp(0, 4096)
---
> # Slp.new.slp 0
> @@slp.slp 0
> ## Slp.new.slp(0, 4096)
> # @@slp.slp(0, 4096)
467,468c498,499
< idx += f || idx < mx ? 1 : 0 ##
< #### idx += f && idx < mx ? 1 : 0 # fuguai taisaku ##
---
> # idx += f && idx < mx ? 1 : 0 ##
> f && idx += idx < mx ? 1 : 0 ##
476,477c507,511
< flg = true
< loop do
---
> apc = []
> fpl = []
> # flg = true
> flg = [true]
> loop {
479c513,514
< pc = self.ctr_g if flg
---
> # pc = self.ctr_g if flg
> apc<< ctr_g if flg[0] # p
481,482c516,518
< # if pc != cto || ! flg
< if 0 <= pc || ! flg
---
> # if pc != cto or ! flg
> # if pc >= 0 || ! flg
> if flg[0].! || (apc.empty?.! && (pc = apc.shift) >= 0)
484c520,521
< f = self.plw(pc) if flg
---
> # f = self.plw(pc) if flg
> fpl<< plw(pc) if flg[0] # p
490,492c527,530
< # (flg = [true][ith] || false) || (Slp.new.slp 0; redo) ###
< # (flg = f.resume) ? f = nil : (Slp.new.slp 0; redo) ##
< if ! (flg = f.resume) then Slp.new.slp 0; redo end ##
---
> # (flg = [true][ith] || false) || redo ###
> # (flg = f.resume) ? f = nil : redo ##
> # if ! (flg = f.resume) then redo end ##
> fpl.reject!.with_index { |v, n| flg[n] = v.resume}
494c532,533
< Slp.new.slp
---
> # Slp.new.slp
> @@slp.slp
496c535
< end
---
> }
502,504c541,543
< #class ENVary < Array
< # include M__ENVary
< #end
---
> # class ENVary < Array
> # include M__ENVary
> # end
508c547
< @@m = Mutex.new
---
> # @@m = Mutex.new
512,516c551,554
< @s = s
< @p = sp
< @@m.lock
< s = @s
< @@m.unlock
---
> # @@m.lock
> @s = s
> @p = sp
> # @@m.unlock
521,523c559,563
< # p id = self.object_id
< # @p = a[0] if 0 < a.size
< @p = a[0] if ! a.empty?
---
> # id = self.object_id
> # @@m.lock
> @p = a[0] unless a.empty?
> # p = @p
> # @@m.unlock
524a565
> # p
528,533c569,575
< @@m.lock
< s = @s
< @@m.unlock
< # s[@p.ipt a[0]]
< # s[@p.sgp a[0]]
< s[@p + a[0].sgp]
---
> # @@m.lock
> @s[@p + a[0].sgp]
> # s[@p.ipt a[0]]
> # s[@p.sgp a[0]]
> # s[@p + a[0].sgp]
> # @@m.unlock
> # [mloc, @s[@p + a[0].sgp], @@m.unlock][1]
537c579
< @@m.lock
---
> # @@m.lock
541,542c583,585
< @@m.unlock
< a
---
> # @@m.unlock
> # a
> # [mloc, @s[@p + a[0].sgp] = a[1], @@m.unlock][1]
543a587,592
>
> def size; @s.size end
>
> # def mloc
> # begin @@m.lock; rescue Slp.new.slp(0); retry end
> # end
597a647
> @@slp = Slp.new
661c711,713
< def fls(pc) ##
---
> def fls2(pc, pl = []) ###
> # def fls2(pc) ###
> # def fls(pc) ##
675,676c727,728
< # sp, wd, isr0, r0, r1, lm, sy = [] # higokan ? mruby 70410200
< # sp, wd, isr0, r0, r1, lm, sy = [][0]
---
> # sp, sz, isr0, r0, r1, lm, sy = [] # higokan ? mruby 70410200
> # sp, sz, isr0, r0, r1, lm, sy = [][0]
681,684c733,735
< # wd = 2
< # ap = 0xf - 1; ap = (ap << wd) + ap + (1 << (wd - 1)) >> wd
< wd = 4; ap = (1 << wd) - 1 - 1
< wd -= 2; ap = (ap << wd) + ap + (1 << (wd - 1)) >> wd
---
> # sz = 4; ap = (1 << sz) - 1 - 1
> sz = 4; ap = 1 << sz
> sz -= 2; ap = (ap << sz) + ap + (1 << (sz - 1)) >> sz
687a739
> # lm = ->(isr0, r1) {imem.send(pr, *isr0, r1)} # l
691c743,744
< r = (plr[r1] if 0 <= wd && r1 <= wd) || lm.(isr0, r1) # c
---
> # r = (plr[r1] if 0 <= sz && r1 <= sz) || lm.(isr0, r1) # c
> r = if r1 <= sz && plr[r1].nil?.! then plr[r1] else lm.(isr0, r1) end # c
695,696c748,753
< # ((sw = sp + wd) + 0xe).step(sw, -1) { # memo # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
< wd.step(wd + ap -= ap >> 2) { |n| plr<< lm.(isr0, s[n])} # p c
---
> # ((sw = sp + sz) + 0xe).step(sw, -1) { # memo # higokan mruby 70410200 # bbab89e7 5211410200 tmtm
> # sz.step(sz - 1 + ap -= ap >> 2) { |n| plr<< lm.(isr0, s[n])} # p c
> mx = sz - 1 + ap -= ap >> 2
> s.size < mx && mx = s.size
> (mx - sz).times { |n| plr<< lm.(isr0, s[n])} # p c
> # (mx - sz).times { |n| s[n] && plr<< lm.(isr0, s[n])} # p c
703,706c760,764
< Fiber.new {
< loop do ##
< pl = lpl.pl_g(pc) ##
< sp ||= s.sp(pl[i_sp][0])
---
> # Fiber.new { ##
> # loop { ##
> # pl = lpl.pl_g(pc) ##
> # sp ||= s.sp(pl[i_sp][0]) ##
> sp = s.sp(pl[i_sp][0]) ###
714c772,773
< wd = plr.width
---
> # sz = plr.width
> sz = plr.size
720,722c779,800
< # return([! flg.include?(false), pl]) ###
< Fiber.yield(! flg.include?(false)) ##
< end ##
---
> return([! flg.include?(false), pl]) ###
> # return(! flg.include?(false)) ###
> # Fiber.yield(! flg.include?(false)) ##
> # } ##
> # } ##
> end
>
> def fls(pc) ###
> lpl = @pl
> i_th = lpl.affil('th', ?i) # q
>
> flg, pl = true
>
> Fiber.new {
> loop {
> flg ? pl = lpl.pl_g(pc) : pl[i_th] = lpl.pl_eg(pc, 'th')
> # pl = lpl.pl_g(pc) ####
>
> flg, pl = fls2(pc, pl)
> Fiber.yield(flg)
> # Fiber.yield(fls2(pc)) ####
> }
727c805,806
< def iset(rg) ##
---
> def iset2(rg, thi = 0, th = []) ###
> # def iset(rg) ##
735,739c814,818
< fml = imem.fml('th', sym) || (
< printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
< return
< )
< fmla = fml
---
> fml = imem.fml('th', sym) # || (
> # printf("Unkown code %s \n", OPTABLE_SYM[imem.get_opcode(cop)])
> # return
> # )
> # fmla = fml
742,743c821
< # ta = ->(l) { [l.shift || 'getarg_a', l.shift || cop][0 .. l.pop || 1] } # l
< ta = ->(ta) { [ta.shift || 'getarg_a', ta.shift || cop][0 .. ta.pop || 1] } # l
---
> # ta = ->(ta) { [ta.shift || 'getarg_a', ta.shift || cop][0 .. ta.pop || 1] } # l
745,746c823
<
< th = [] ##
---
> # th = [] ##
749,755c826,829
< # fvl = ->(oi) {[ # l
< # -> {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
< # -> {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
< # ((wd = fv.width) <=> oi) >> 1]}][oi <=> 0].call # .lazy
< # }
< fvl = [->(oi) {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
< ->(oi) {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
---
> # fvl = [->(oi) {[fv[oi] = th[oi] = (ta.(fv[oi])), []]}, # l c
> # ->(oi) {th += [[fv[oi] && ta.(fv[oi])], []][ # l c
> fvl = [->(oi) {[fv[oi] = th[oi] = (imem.ta(fv[oi], cop)), []]}, # l
> ->(oi) {th += [[fv[oi] && imem.ta(fv[oi], cop)], []][ # l
759c833
< fml = fmla.dup
---
> # fml = fmla.dup
760a835,836
> i = -1
> # bt[oi].each_slice(2).with_index { |k, i| k, v = k # higokan mruby:70410200 monami-ya.mrb:60510200
762c838,839
< fv = fml.shift
---
> # fv = fml.shift
> fv = fml[i += 1]
765d841
< # when 'th' then fv = fvl.(oi) # c
766a843
> # when 'th' then (fv, th, wd) = imem.fvl(oi, th, fv, wd, cop)
774c851
< thi = 0 ##
---
> # thi = 0 ##
777,778c854,855
< Fiber.new {
< loop do ##
---
> # Fiber.new { ##
> # loop { ##
786c863,864
< Slp.new.slp 0
---
> # Slp.new.slp 0
> @@slp.slp 0
788d865
< # pl.pl_es(pc1, ['sym', 'th', k_sp_r].flat_map { |o| [o]<< ops.shift}) # p
793,795c870,885
< # [thi + 1, th] ###
< Fiber.yield(thi += 1) ##
< end ##
---
> [thi + 1, th] ###
> # Fiber.yield(thi += 1) ##
> # } ##
> # } ##
> end
>
> def iset(rg)
> thi = 0
> th = []
>
> Fiber.new {
> loop {
> thi, th = iset2(rg, thi, th)
>
> Fiber.yield(thi)
> }
939,940c1029,1030
< @callinfo[@cp] = rg['sp']
< @cp += 1
---
> # @callinfo[@cp] = rg['sp']
> # @cp += 1
942,943c1032,1033
< @callinfo[@cp] = rg['pc']
< @cp += 1
---
> # @callinfo[@cp] = rg['pc']
> # @cp += 1
945,946c1035,1037
< @callinfo[@cp] = irep
< @cp += 1
---
> # @callinfo[@cp] = irep
> # @cp += 1
> @callinfo[@cp ... @cp += 3] = [rg['sp'], rg['pc'], irep]
1023c1114,1115
< Slp.new.slp 0
---
> # Slp.new.slp 0
> @@slp.slp 0
1025c1117,1118
< Slp.new.slp
---
> # Slp.new.slp
> @@slp.slp
0 new messages