()がスタックに保持された元のJNIEnv。Cが入り込んだ時点でグローバルなJNIEnvはCとなるため、Bの動作に問題が起きる。結局、グローバル変数としてJNIEnvを保持するのは無理がある。すると、すべてのJNIEnvを利用する関数に引数としてJNIEnvを与える必要が出てくる。TLSを(#ifdefで切り替えて)使うほうがましだ。Rjbデータとして保存したJavaオブジェクトのローカル参照がだめ。動作することがあるから、常にダメというわけではないようだが、使えるとは前提できない仕様なんだからだめはだめなわけだ。同様にjclassのキャッシュが使えない前提となるからだ。コールバックされた時点でグローバルのJNIEnvと異なれば(この判定方法が正しいかどうかは不明。仮定)メインスレッドに対してシグナルを送って、メインスレッドで動かすという手段もありそうだ(ASRの手法)。ところがどっこい、ここで大前提となっているのはAWT/Swingでの利用なのだから、メインスレッドからAWTスレッドを触ること自体が禁じ手だからお話にならない。思ったがその場合はRuby側のコードは動かせないから(元の条件と同じになる)結局これもだめ。グローバルリファレンスとローカルリファレンスうむ、良くJNIの仕様を読んだら、ちゃんと書いてあった。すべてのJNI関数はローカル参照を返すが、グローバル参照も受け付ける。したがって、その場で解放する必要がない、というかキャッシュすべきオブジェクトはすべてグローバル参照として保持すれば良いということだ。(と微妙に自信がなかったり)。(オーバーヘッドの問題か、GCの阻害要因になるかでローカル参照を主としてるのかな)というわけで、とりあえず、コールバックではJNIEnvの摩り替え、rjb内でのキャッシュにはグローバル参照を利用、というように変えてみる。[とぼけたこと書いてたみたいだ。15:57の修正のレビューについてですね。[レビューの件は了解(週末くらい)。Global参照での保持は、まだ作業中のソースでしかやってない。買ったまた読んだ本屋に寄ったら平積みになってたので購入。いうか以前フラワーコミックスで出た時にも買った気がするが今は手元に無いんだからしょうがない。なんか、主人公(というか語り手というか、ワトソン博士の役回りなのだが)の水野というのが、友人の永野というのに見えたりするってのもあったり、そんなに絵はうまいとは思えないのだがなぜか印象に残っているとか、まあいろいろ強力なインパクトを受けたらしい。真っ黒なページの上3/4を使ったコマの中に小さく主人公(ホームズのほうだ)が震えたりしていて絵はうまくないかも知れないが表現は巧妙ではある。作者自身も何をどうすれば良いのかわからずに外部の声によって主役を変えていったようでもあり、必然的にそうなったようでもあり、奇妙なブレをする連作中篇というとこかな。後に続くおんなのこ物語では、録茶夢の最初に戻ってやり直しをしている感じがした。最初、どうでも良さそうなコミックバンドのギグから物語が始まる。フロアの後ろに黒メガネの連中が立っている。黒メガネの連中は結構知られたバンドで、名前はスラン。ここでヴォクトのスラン(1940年)を思い出すのはやはり正解なのかも知れない。Xメンのような受け入れられずに苦悩するミュータントもののハシリの作品だ。イベントが起き続けるローラーコースタースタイルの小説であり、状況設定も卓抜(人間対スランとすると、読者がスラン側に感情移入しにくくなることを回避するために、さらにスランをミューテーションした新スランという敵を作って物語を回すというようなことをしている)だ。母の思念が、考え込んでいた彼の心をつらぬいた。「前からもやってきたわ。別の何人かが通りを横切ってくる。さあ、あなたは逃げてちょうだい。おかあさんの話したことを忘れずにね。生きる目的はただ1つなのですよ。スランがあたりまえの生活を送れるような世界を作り上げること。P.8からデビルマンのようでもあり、ハリーポッターのようでもある。スランの連中がここに来たのはドラマーの八神を借りるためだ。今ではハイロウズ)のその他大勢に、見るからに主役顔のマネージャとボーカルの5人組で、ドラマーは怪我のために抜けたという設定だ。この設定が妙に現実的でおもしろい。クラッシュやPILのようにドラマーが不定というのはありえるパターンだからだ。して、主人公が3人という状態になる。八神、マネージャの水野、ボーカルの安部。他のメンバーはホンダ、スズキ、トヨタなので全然、物語とは関係なさそうだ(が、後続の話でだんだん重要になってくるため、最初の設定がいい加減だったことがわかる)。誰がスランかと言えば、当然のようにボーカルということになる。あまりに度が過ぎて読んでいて痛々しい(ボーカルが、ではない。作者の物語の動かし方がだ)。女性はコミックバンドのキーボード(確か、おんなのこ物語の主人公)が出てくるだけなので、おそらく読者がついていけないだろうという編集者の入れ知恵か、八神が抜けた後の(だが、このエピソードは結構いいのだ。抜けた後の八神と安部の関係が、お互いに無関係なままに意識しあうという状態を両者が持っているということが示される)ドラマーとして水野のイトコが出てくる。彼女はうまく笑うことができず、いつもおどおどしている。ただでさえ、ぴりぴりしているボーカリストをもてあましているところにこれではうまくいかないだろう。気付いたのかいつの間にか彼女はスターリンモリソンのように後ろに隠れた女性ドラマーの役回りとなってしまう。水野と安部は一緒に暮らしているが、それは確かに安部が行く当てがなくて水野のところに居候をしているだけの関係でしかなく、安部があまりに異常なために水野が引っ張り回されてもまったく物語としては機能していない。何があるかというと、ただただ安部の疎外感があるだけだ。最初は単なる頭合わせだったに過ぎないトヨタ、ホンダ、スズキがそれぞれ人間として振る舞いはじめ、背後に生活を持ち動き始め(しかもそれぞれが妙にリアリティがある魅力的な人物たちである)るのだが、彼等がどれだけ安部に親身になろうとも、水野が(バンド活動が好きだが才能がないことに気付き、しかも安部というとんでもない才能の持ち主を見出してしまったために、自分自身の居場所を失ってしまい)困惑しようが、安部はたった1人で真っ黒なコマの中で頭を壁にガンガン打ち付けているだけだ。この暗闇を晴らすために意外なことにどうでも良さそうだった最初の作品のコミックバンドのボーカルがひょうひょうとした味を入れる。物語の中心が疎外感の固まりなために、物語にひねりを入れることはできても、作品の方向を変えることはできない。頭が切れ、ビジネスとバンドを切り離して考えられるイヤなヤツだ。物語は急激に動き始める。梶山は印税収入がどこへ流れるかまで計算して曲作りとバンドの主導権を握ろうとする。最後は安部の才能に打ち負かされてしまい逃げてしまうのだが。して、物語はただただ安部の疎外感を表現するという方向にだけ進まざるを得なくなる。再度、梶山が三流テクノバンドをプロデュースして敵対的ギグを仕掛けてくる。話はいくらでもおもしろくなりそうになってくる。作者はそれを自ら拒絶してしまう。いまのスランをマネたいならいくらでもするがいい半年後にはスランは変わってるからね......あと追っかけてマネしたってモンクはいわないさネタ切れを心配せずともおれたちがいつだって1歩先を歩いてやる!!それでは物語はなりたたないだろう。八神助けてくれ、テクニックはある、ロックスピリットも充分だ、しかも人柄が良く友達づきあいもできる、そんなお前だけが頼りなんだ。して、おんなのこ物語(しかし、なぜこんな題名にしたのか想像すると興味深い)に続く。緑茶夢の続き少女漫画の文脈がないのではないか、と考えるのはまったく恋愛感情が存在しない世界だからだ(水野のいとこの水野に寄せる思いとかはあるのだが、なんか違う)。それどころかすべての感情がうまく相互作用せずに相手の前で屹立している。考えるのは間違いなのだろう。この作品の中心は確かに安部の疎外感とバンドの中で時々感じる居心地の良さといったすごく自分勝手な世界で、その周りの人々もそれぞればらばらに相手が何を考えているか探り合い分析し論評し行動を予見しているのに、いざ自分のことになると実は何をしたいのかは誰もわかっていない。逆に言えば、すべての登場人物が正しく自分の生を生きている。これは、モデリングされた世界の中をロールにしたがって登場人物が機械として動かされていく作品とは異なる世界の物語だ。これこそは少女漫画が最初に獲得した手法ではなかったか。ギタリストはギターをひき、ベーシストはベースをひく。マネージャはマネージメントしてボーカリストは歌う。確かにロールは明らかなのだが、彼らはそれだけで生きているのではない。ギタリストは普段は郵便配達をし、既に10数回も職を変え、今度ツアーのために欠勤すればまた新しい職探しをしなければならない。ピアニストは自分の家を持ち一見安定した生活をしているが、家庭では満たされない何かを抱えてキーボードを弾き続けている。おしゃべりしかしないロックミニコミの編集室で黙々と作業を続け1人で雑誌を仕上げてしまうマネージャ。単純なロックバンドのサクセスストーリーになるはずはなく、そこに描かれるのは彼らの淡々とした日常と、シャープに描かれるステージ、適度に散りばめられた固有名詞によって浮かび上がる音。それを支える細かなリアリティ。ベースのトヨタに頼まれて水野のいとこがギターケースを受け取る。ギターはギターでもベースなのでケースには錘が仕込まれていてずしりと重く思わずよろけてしまい、ひーひー言いながら運んで行くシーン。梶山が連れてきたテクノバンドの衣装と髪型と喋り方、とその後に続く韜晦。いった細部の積み上げがこの作品に強烈なリアリティを与えている。その結果、あたかも自分自身が作品の中にあるような共感を得ることができる。いくら、ボーカルがいかれていてもだ(いや、このねじくれた精神の持ち主が主人公たりえるのも本来は少女漫画だからからだと言えるのかも知れないーーたとえば鉄鍋のジャンの主人公ですら、スランのボーカルに比べればよっぽど社交的だ)。Persistenceakonさんの日記から間接参照で。AmigaOS確かOSのほうで、Intuiton(AmigaのWindowシステム)ではなかったと思うが、最初にa4レジスタ(68000マシンだから)にベースアドレスを設定するcallを行った後は、すべてa4に対するオフセットとしてシステムコールを呼ぶというような仕組みだったと思った。(確かa4〜a6はシステムコール内で保存するということと、a5とa6はメタコムコのBCPL(AmigaOSの記述言語はなぜかBCPL)がスタックポインタ(a7だったかな?)とフレームポインタに使うってのが理由でa4だったような気がするが書いているうちにa7をスタックポインタとして利用していたような気がしてきたから、もしかしたら1個ずれてるかも)というのを、JNIをいじってて思い出したといっても、今だけど。AmigaOS(Intuitionのほうかも)は、最初からマルチタスクシステムとしてできていたような気がする。コンテキスト(この場合はプロセス)を同時に複数共存させるには、それぞれを異なる位置に配置しなければならないし、そのためにはそのコンテキストのポインタとオフセットという形でアクセスできるように用意しておくということだ。#何を最初に考えていたか思い出しているうちに忘れてしまった。move.lとか長さが決められるオペランドで(a7)+みたいに書くような(全然、思い出してないや)。アプリと同時に使えるツール類。palmにDAってのがあるけどあれと同じなんだ。聞き取れなくなってる。WindowsでもFirefox考えてみたら、ネスケ7.1とか使っててもしょうがないじゃん。設定もすんなり移入された。このyahoo検索は何事か?どっかで話題になったのかなぁ。[とりあえずRuby側からJava側に対して日本語文字列を通すようなパッチ。