mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* blockinlining.c, compile.c, compile.h, debug.c, debug.h,
id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci, thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h, vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and copyright year. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3688c7a1ee
commit
d907cbc81d
18 changed files with 115 additions and 107 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
Wed Nov 14 07:09:48 2007 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
|
* blockinlining.c, compile.c, compile.h, debug.c, debug.h,
|
||||||
|
id.c, insnhelper.h, insns.def, thread.c, thread_pthread.ci,
|
||||||
|
thread_pthread.h, thread_win32.ci, thread_win32.h, vm.h,
|
||||||
|
vm_dump.c, vm_evalbody.ci, vm_opts.h: fix comments and
|
||||||
|
copyright year.
|
||||||
|
|
||||||
Wed Nov 14 07:07:51 2007 Koichi Sasada <ko1@atdot.net>
|
Wed Nov 14 07:07:51 2007 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
* tool/makedocs.rb, template/insnstbl.html: removed.
|
* tool/makedocs.rb, template/insnstbl.html: removed.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
14
compile.c
14
compile.c
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/01/01 03:42:15 JST
|
created at: 04/01/01 03:42:15 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
@ -252,7 +252,6 @@ iseq_translate_threaded_code(rb_iseq_t *iseq)
|
||||||
/* definition of data structure for compiler */
|
/* definition of data structure for compiler */
|
||||||
/*********************************************/
|
/*********************************************/
|
||||||
|
|
||||||
|
|
||||||
static void *
|
static void *
|
||||||
compile_data_alloc(rb_iseq_t *iseq, size_t size)
|
compile_data_alloc(rb_iseq_t *iseq, size_t size)
|
||||||
{
|
{
|
||||||
|
@ -336,8 +335,7 @@ ADD_ELEM(LINK_ANCHOR *anchor, LINK_ELEMENT *elem)
|
||||||
verify_list("add", anchor);
|
verify_list("add", anchor);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************/
|
#if 0 /* unused */
|
||||||
#if 0
|
|
||||||
/*
|
/*
|
||||||
* elem1, elemX => elem1, elem2, elemX
|
* elem1, elemX => elem1, elem2, elemX
|
||||||
*/
|
*/
|
||||||
|
@ -369,8 +367,6 @@ INSERT_ELEM_PREV(LINK_ELEMENT *elem1, LINK_ELEMENT *elem2)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*******************************************/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* elemX, elem1, elemY => elemX, elem2, elemY
|
* elemX, elem1, elemY => elemX, elem2, elemY
|
||||||
*/
|
*/
|
||||||
|
@ -402,13 +398,13 @@ FIRST_ELEMENT(LINK_ANCHOR *anchor)
|
||||||
return anchor->anchor.next;
|
return anchor->anchor.next;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
#if 0 /* unused */
|
||||||
static LINK_ELEMENT *
|
static LINK_ELEMENT *
|
||||||
LAST_ELEMENT(LINK_ANCHOR *anchor)
|
LAST_ELEMENT(LINK_ANCHOR *anchor)
|
||||||
{
|
{
|
||||||
return anchor->last;
|
return anchor->last;
|
||||||
}
|
}
|
||||||
*/
|
#endif
|
||||||
|
|
||||||
static LINK_ELEMENT *
|
static LINK_ELEMENT *
|
||||||
POP_ELEMENT(LINK_ANCHOR *anchor)
|
POP_ELEMENT(LINK_ANCHOR *anchor)
|
||||||
|
@ -501,7 +497,7 @@ INSERT_LIST(LINK_ANCHOR *anc1, LINK_ANCHOR *anc2)
|
||||||
verify_list("append", anc1);
|
verify_list("append", anc1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0 /* unused */
|
||||||
/*
|
/*
|
||||||
* anc1: e1, e2, e3
|
* anc1: e1, e2, e3
|
||||||
* anc2: e4, e5
|
* anc2: e4, e5
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/01/01 23:36:57 JST
|
created at: 04/01/01 23:36:57 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
2
debug.c
2
debug.c
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/08/25 02:31:54 JST
|
created at: 04/08/25 02:31:54 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
2
debug.h
2
debug.h
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/08/25 02:33:49 JST
|
created at: 04/08/25 02:33:49 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
2
id.c
2
id.c
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: Thu Jul 12 04:37:51 2007
|
created at: Thu Jul 12 04:37:51 2007
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/01/01 15:50:34 JST
|
created at: 04/01/01 15:50:34 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
162
insns.def
162
insns.def
|
@ -5,7 +5,7 @@
|
||||||
$Date: $
|
$Date: $
|
||||||
created at: 04/01/01 01:17:55 JST
|
created at: 04/01/01 01:17:55 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** ##skip
|
/** ##skip
|
||||||
|
@ -47,7 +47,7 @@ nop
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e get local variable(which is pointed by idx).
|
@e get local variable value (which is pointed by idx).
|
||||||
@j idx で指定されたローカル変数をスタックに置く。
|
@j idx で指定されたローカル変数をスタックに置く。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
|
@ -61,8 +61,8 @@ getlocal
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e get local variable (which is pointed by idx) as val.
|
@e set local variable value (which is pointed by idx) as val.
|
||||||
@j idx で指定されたローカル変数を val にする。
|
@j idx で指定されたローカル変数を val に設定する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setlocal
|
setlocal
|
||||||
|
@ -75,8 +75,8 @@ setlocal
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e get special local variable ($~, $_, ..)
|
@e get special local variable ($~, $_, ..) value.
|
||||||
@j 特殊なローカル変数の値を得る
|
@j 特殊なローカル変数($~, $_, ...)の値を得る。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
getspecial
|
getspecial
|
||||||
|
@ -89,8 +89,8 @@ getspecial
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e set special local variables
|
@e set special local variable ($~, $_, ...) value as obj.
|
||||||
@j 特別なローカル変数を設定する
|
@j 特別なローカル変数($~, $_, ...)の値をを設定する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setspecial
|
setspecial
|
||||||
|
@ -147,8 +147,7 @@ setdynamic
|
||||||
@c variable
|
@c variable
|
||||||
@e get instance variable id of obj.
|
@e get instance variable id of obj.
|
||||||
if is_local is not 0, search as class local variable.
|
if is_local is not 0, search as class local variable.
|
||||||
@j obj のインスタンス変数 id を得る。
|
@j self のインスタンス変数 id の値を得る。
|
||||||
もし is_local が !0 ならクラスローカル変数を得る
|
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
getinstancevariable
|
getinstancevariable
|
||||||
|
@ -163,8 +162,7 @@ getinstancevariable
|
||||||
@c variable
|
@c variable
|
||||||
@e set instance variable id of obj as val.
|
@e set instance variable id of obj as val.
|
||||||
if is_local is not 0, search as class local variable.
|
if is_local is not 0, search as class local variable.
|
||||||
@j obj のインスタンス変数を val にする。
|
@j self のインスタンス変数 id を val にする。
|
||||||
もし is_local が !0 ならクラスローカル変数を得る
|
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setinstancevariable
|
setinstancevariable
|
||||||
|
@ -178,7 +176,7 @@ setinstancevariable
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e get class variable id of klass as val.
|
@e get class variable id of klass as val.
|
||||||
@j klass のクラス変数 id を得る。
|
@j 現在のスコープのクラス変数 id の値を得る。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
getclassvariable
|
getclassvariable
|
||||||
|
@ -211,9 +209,9 @@ setclassvariable
|
||||||
are searched in current scope. if klass is Qfalse, constant as
|
are searched in current scope. if klass is Qfalse, constant as
|
||||||
top level constant. otherwise, get constant under klass
|
top level constant. otherwise, get constant under klass
|
||||||
class or module.
|
class or module.
|
||||||
@j
|
@j 定数 id の値を得る。
|
||||||
定数を得る。klass が Qnil なら、そのスコープで得られ
|
klass が Qnil なら、そのスコープで得られる定数の値を得る。
|
||||||
る定数を得る。Qfalse なら、トップレベルスコープを得る。
|
Qfalse なら、トップレベルスコープを得る。
|
||||||
それ以外なら、klass クラスの下の定数を得る。
|
それ以外なら、klass クラスの下の定数を得る。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
|
@ -233,11 +231,10 @@ getconstant
|
||||||
top level constant. otherwise, set constant under klass
|
top level constant. otherwise, set constant under klass
|
||||||
class or module.
|
class or module.
|
||||||
|
|
||||||
@j
|
@j 定数 id の値を val にする。
|
||||||
定数 id を val にする。klass が Qfalse なら、そのスコープ
|
klass が Qfalse なら、そのスコープで得られる定数 id の値を設定する。
|
||||||
で得られる定数を設定 id を設定する。Qnil なら、トップレベ
|
Qnil なら、トップレベルスコープの値を設定する。
|
||||||
ルスコープを設定、それ以外なら、klass クラスの下の定数を
|
それ以外なら、klass クラスの下の定数を設定する。
|
||||||
設定する。
|
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setconstant
|
setconstant
|
||||||
|
@ -270,7 +267,7 @@ setconstant
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e get global variable id.
|
@e get global variable id.
|
||||||
@j グローバル変数 id を得る。
|
@j グローバル変数 id の値を得る。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
getglobal
|
getglobal
|
||||||
|
@ -284,7 +281,7 @@ getglobal
|
||||||
/**
|
/**
|
||||||
@c variable
|
@c variable
|
||||||
@e set global variable id as val.
|
@e set global variable id as val.
|
||||||
@j グローバル変数 id を得る。
|
@j グローバル変数 id の値を設定する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setglobal
|
setglobal
|
||||||
|
@ -302,8 +299,8 @@ setglobal
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put nil
|
@e put nil to stack.
|
||||||
@j put nil
|
@j スタックに nil をプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
putnil
|
putnil
|
||||||
|
@ -317,7 +314,7 @@ putnil
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put self.
|
@e put self.
|
||||||
@j self を置く。
|
@j スタックに self をプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
putself
|
putself
|
||||||
|
@ -332,7 +329,8 @@ putself
|
||||||
@c put
|
@c put
|
||||||
@e put some object.
|
@e put some object.
|
||||||
i.e. Fixnum, true, false, nil, and so on.
|
i.e. Fixnum, true, false, nil, and so on.
|
||||||
@j オブジェクトを置く。i.e. Fixnum, true, false, nil, and so on.
|
@j オブジェクト val をスタックにプッシュする。
|
||||||
|
i.e. Fixnum, true, false, nil, and so on.
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
putobject
|
putobject
|
||||||
|
@ -346,9 +344,8 @@ putobject
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put string val. string will be copied.
|
@e put string val. string will be copied.
|
||||||
@j 文字列を置く。文字列はコピーしとく。
|
@j 文字列ををコピーしてスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
putstring
|
putstring
|
||||||
(VALUE str)
|
(VALUE str)
|
||||||
|
@ -361,7 +358,7 @@ putstring
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put concatenate strings
|
@e put concatenate strings
|
||||||
@j 文字列を連結して置く。
|
@j スタックトップの文字列を n 個連結し,結果をスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
concatstrings
|
concatstrings
|
||||||
|
@ -383,7 +380,7 @@ concatstrings
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e to_str
|
@e to_str
|
||||||
@j to_str
|
@j to_str の結果をスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
tostring
|
tostring
|
||||||
|
@ -397,22 +394,23 @@ tostring
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e to Regexp
|
@e to Regexp
|
||||||
@j to Regexp
|
@j 文字列 str を正規表現にコンパイルしてスタックにプッシュする。
|
||||||
|
コンパイル時,opt を正規表現のオプションとする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
toregexp
|
toregexp
|
||||||
(rb_num_t flag)
|
(rb_num_t opt)
|
||||||
(VALUE str)
|
(VALUE str)
|
||||||
(VALUE val)
|
(VALUE val)
|
||||||
{
|
{
|
||||||
volatile VALUE tmp = str; /* for GC */
|
volatile VALUE tmp = str; /* for GC */
|
||||||
val = rb_reg_new(str, flag);
|
val = rb_reg_new(str, opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put new array.
|
@e put new array.
|
||||||
@j 新しい配列をスタック上の num 個の値で初期化して置く。
|
@j 新しい配列をスタック上の num 個の値で初期化して生成しプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
newarray
|
newarray
|
||||||
|
@ -427,7 +425,7 @@ newarray
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e dup array
|
@e dup array
|
||||||
@j 配列を dup してスタックに置く
|
@j 配列 ary を dup してスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
duparray
|
duparray
|
||||||
|
@ -462,7 +460,7 @@ expandarray
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e concat two arrays
|
@e concat two arrays
|
||||||
@j 二つの配列をとってきてくっつける
|
@j 二つの配列 ary1, ary2 を連結しスタックへプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
concatarray
|
concatarray
|
||||||
|
@ -491,7 +489,7 @@ concatarray
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e splat array
|
@e splat array
|
||||||
@j splat array
|
@j 配列 ary に対して to_splat を呼び出す。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
splatarray
|
splatarray
|
||||||
|
@ -509,7 +507,7 @@ splatarray
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e check value is included in ary
|
@e check value is included in ary
|
||||||
@j 配列に要素が入っているかどうかチェック。case/when で使う
|
@j 配列 ary に要素 obj が入っているかどうかチェック。case/when で利用する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
checkincludearray
|
checkincludearray
|
||||||
|
@ -549,7 +547,8 @@ checkincludearray
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put new Hash.
|
@e put new Hash.
|
||||||
@j Hash.new
|
@j 新しいハッシュをスタックトップの n 個を初期値として生成する。
|
||||||
|
n はキーと値のペアなので 2 の倍数でなければならない。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
newhash
|
newhash
|
||||||
|
@ -572,7 +571,7 @@ newhash
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put new Range object.(Range.new(low, high, flag))
|
@e put new Range object.(Range.new(low, high, flag))
|
||||||
@j Range.new(low, high, flag) のようなオブジェクトを置く。
|
@j Range.new(low, high, flag) のようなオブジェクトを生成しスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
newrange
|
newrange
|
||||||
|
@ -586,7 +585,7 @@ newrange
|
||||||
/**
|
/**
|
||||||
@c put
|
@c put
|
||||||
@e put !val.
|
@e put !val.
|
||||||
@j !val であるオブジェクトを置く。
|
@j !val の結果をスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
putnot
|
putnot
|
||||||
|
@ -625,7 +624,7 @@ pop
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e duplicate stack top.
|
@e duplicate stack top.
|
||||||
@j スタックトップをコピーしてスタックにおく
|
@j スタックトップをコピーしてスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
dup
|
dup
|
||||||
|
@ -639,7 +638,7 @@ dup
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e duplicate stack top n elements
|
@e duplicate stack top n elements
|
||||||
@j スタックトップから n 個をコピーしてスタックにおく
|
@j スタックトップの n 個をコピーしてスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
dupn
|
dupn
|
||||||
|
@ -659,7 +658,7 @@ dupn
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e swap top 2 vals
|
@e swap top 2 vals
|
||||||
@j スタックトップの2つを交換する。
|
@j スタックトップの 2 つの値を交換する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
swap
|
swap
|
||||||
|
@ -672,8 +671,8 @@ swap
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e
|
@e for stack caching.
|
||||||
@j
|
@j スタックキャッシングの状態を調整するために必要な命令。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
reput
|
reput
|
||||||
|
@ -687,7 +686,7 @@ reput
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e get nth stack value from stack top
|
@e get nth stack value from stack top
|
||||||
@j スタックトップから n 個目をスタックトップにコピー
|
@j スタックトップから n 個目をスタックにプッシュする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
topn
|
topn
|
||||||
|
@ -715,7 +714,7 @@ setn
|
||||||
/**
|
/**
|
||||||
@c stack
|
@c stack
|
||||||
@e empt current stack
|
@e empt current stack
|
||||||
@j current stack を空にする
|
@j current stack を空にする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
emptstack
|
emptstack
|
||||||
|
@ -734,7 +733,7 @@ emptstack
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e define (singleton) method id as body
|
@e define (singleton) method id as body
|
||||||
@j (特異)メソッド m を body として定義する。
|
@j (特異)メソッド id を body として定義する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
definemethod
|
definemethod
|
||||||
|
@ -749,7 +748,7 @@ definemethod
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e make alias (if v_p is Qtrue, make valias)
|
@e make alias (if v_p is Qtrue, make valias)
|
||||||
@j alias を作る。もし v_p が Qtrue なら、valias (global variable) を作る
|
@j alias を作る。もし v_p が Qtrue なら、valias (global variable) を作る。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
alias
|
alias
|
||||||
|
@ -771,7 +770,7 @@ alias
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e undef
|
@e undef
|
||||||
@j undef
|
@j undef を行う。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
undef
|
undef
|
||||||
|
@ -787,7 +786,7 @@ undef
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e defined?
|
@e defined?
|
||||||
@j defined?
|
@j defined? を行う。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
defined
|
defined
|
||||||
|
@ -896,7 +895,7 @@ defined
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e END{}
|
@e END{}
|
||||||
@j END{}
|
@j END{} に対応するためにブロックを登録する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
postexe
|
postexe
|
||||||
|
@ -918,7 +917,7 @@ postexe
|
||||||
/**
|
/**
|
||||||
@c setting
|
@c setting
|
||||||
@e trace
|
@e trace
|
||||||
@j trace
|
@j trace 用の命令。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
trace
|
trace
|
||||||
|
@ -939,9 +938,9 @@ trace
|
||||||
@e
|
@e
|
||||||
enter class definition scope. if super is Qfalse, and clsas
|
enter class definition scope. if super is Qfalse, and clsas
|
||||||
"klass" is defined, it's redefine. otherwise, define "klass" class.
|
"klass" is defined, it's redefine. otherwise, define "klass" class.
|
||||||
@j
|
@j クラス定義スコープへ移行する。
|
||||||
クラス定義スコープへ移行する。もし super が Qfalse で klassクラスが
|
もし super が Qfalse で klassクラスが定義されていれば再定義である。
|
||||||
定義されていれば、再定義である。そうでなければ、klass クラスを定義する。
|
そうでなければ、klass クラスを定義する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
defineclass
|
defineclass
|
||||||
|
@ -1041,11 +1040,13 @@ defineclass
|
||||||
/**
|
/**
|
||||||
@c method/iterator
|
@c method/iterator
|
||||||
@e obj.send(id, args..) # args.size => num
|
@e obj.send(id, args..) # args.size => num
|
||||||
@j obj.send(id, args..) # args.size => num
|
@j メソッド呼び出しを行う。
|
||||||
|
obj.send(id, args..) # args.size => num
|
||||||
flag & VM_CALL_ARGS_SPLAT_BIT != 0 -> splat last arg
|
flag & VM_CALL_ARGS_SPLAT_BIT != 0 -> splat last arg
|
||||||
flag & VM_CALL_ARGS_BLOCKARG_BIT != 0 -> Proc as Block
|
flag & VM_CALL_ARGS_BLOCKARG_BIT != 0 -> Proc as Block
|
||||||
flag & VM_CALL_FCALL_BIT != 0 -> FCALL ( func() )
|
flag & VM_CALL_FCALL_BIT != 0 -> FCALL ( func() )
|
||||||
flag & VM_CALL_VCALL_BIT != 0 -> VCALL ( func )
|
flag & VM_CALL_VCALL_BIT != 0 -> VCALL ( func )
|
||||||
|
...
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
send
|
send
|
||||||
|
@ -1056,7 +1057,8 @@ send
|
||||||
NODE *mn;
|
NODE *mn;
|
||||||
VALUE recv, klass;
|
VALUE recv, klass;
|
||||||
rb_block_t *blockptr = 0;
|
rb_block_t *blockptr = 0;
|
||||||
rb_num_t num = caller_setup_args(th, GET_CFP(), op_flag, op_argc, (rb_iseq_t *)blockiseq, &blockptr);
|
rb_num_t num = caller_setup_args(th, GET_CFP(), op_flag, op_argc,
|
||||||
|
(rb_iseq_t *)blockiseq, &blockptr);
|
||||||
rb_num_t flag = op_flag;
|
rb_num_t flag = op_flag;
|
||||||
ID id = op_id;
|
ID id = op_id;
|
||||||
|
|
||||||
|
@ -1076,7 +1078,9 @@ send
|
||||||
/**
|
/**
|
||||||
@c method/iterator
|
@c method/iterator
|
||||||
@e super(args) # args.size => num
|
@e super(args) # args.size => num
|
||||||
@j super(args) # args.size => num
|
@j super を実行する。
|
||||||
|
super(args) # args.size => num
|
||||||
|
flag 等オペランドの意味は send と同じ。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
invokesuper
|
invokesuper
|
||||||
|
@ -1101,7 +1105,8 @@ invokesuper
|
||||||
/**
|
/**
|
||||||
@c method/iterator
|
@c method/iterator
|
||||||
@e yield(args) # args.size => num, flag shows expand argument or not
|
@e yield(args) # args.size => num, flag shows expand argument or not
|
||||||
@j yield(args) # args.size => num
|
@j yield を実行する。
|
||||||
|
yield(args) # args.size => num
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
invokeblock
|
invokeblock
|
||||||
|
@ -1142,7 +1147,7 @@ leave
|
||||||
/**
|
/**
|
||||||
@c method/iterator
|
@c method/iterator
|
||||||
@e return from this vm loop
|
@e return from this vm loop
|
||||||
@j VM loop から抜ける
|
@j VM loop から抜ける。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
finish
|
finish
|
||||||
|
@ -1165,7 +1170,7 @@ finish
|
||||||
/**
|
/**
|
||||||
@c exception
|
@c exception
|
||||||
@e longjump
|
@e longjump
|
||||||
@j longjump
|
@j 大域ジャンプを行う。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
throw
|
throw
|
||||||
|
@ -1240,7 +1245,7 @@ branchunless
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e inline cache
|
@e inline cache
|
||||||
@j inline cache
|
@j インラインキャッシュが有効なら、値をスタックにプッシュして dst へジャンプする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
getinlinecache
|
getinlinecache
|
||||||
|
@ -1261,7 +1266,7 @@ getinlinecache
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e inline cache (once)
|
@e inline cache (once)
|
||||||
@j inline cache (once)
|
@j once を実現する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
onceinlinecache
|
onceinlinecache
|
||||||
|
@ -1282,7 +1287,7 @@ onceinlinecache
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e set inline cache
|
@e set inline cache
|
||||||
@j set inline cahce
|
@j インラインキャッシュの値を設定する。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
setinlinecache
|
setinlinecache
|
||||||
|
@ -1299,7 +1304,7 @@ setinlinecache
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e case dispatcher
|
@e case dispatcher
|
||||||
@j case dispatcher
|
@j case 文で、可能なら表引きでジャンプする。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_case_dispatch
|
opt_case_dispatch
|
||||||
|
@ -1308,7 +1313,7 @@ opt_case_dispatch
|
||||||
() // inc += -1;
|
() // inc += -1;
|
||||||
{
|
{
|
||||||
if (0) {
|
if (0) {
|
||||||
/* if some === method is overrided */
|
/* TODO: if some === method is overrided */
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
VALUE val;
|
VALUE val;
|
||||||
|
@ -1324,7 +1329,7 @@ opt_case_dispatch
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e check environment
|
@e check environment
|
||||||
@j check environment
|
@j 将来の拡張用。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_checkenv
|
opt_checkenv
|
||||||
|
@ -1343,7 +1348,6 @@ opt_checkenv
|
||||||
|
|
||||||
/** simple functions */
|
/** simple functions */
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e optimized X+Y.
|
@e optimized X+Y.
|
||||||
|
@ -1830,7 +1834,7 @@ opt_ge
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e <<
|
@e <<
|
||||||
@j <<
|
@j 最適化された X<<Y。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_ltlt
|
opt_ltlt
|
||||||
|
@ -1864,7 +1868,7 @@ opt_ltlt
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e []
|
@e []
|
||||||
@j []
|
@j 最適化された recv[obj]。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_aref
|
opt_aref
|
||||||
|
@ -1894,7 +1898,7 @@ opt_aref
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e recv[obj] = set
|
@e recv[obj] = set
|
||||||
@j recv[obj] = set
|
@j 最適化された recv[obj] = set。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_aset
|
opt_aset
|
||||||
|
@ -1928,7 +1932,7 @@ opt_aset
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e optimized length
|
@e optimized length
|
||||||
@j optimized length
|
@j 最適化された recv.length()。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_length
|
opt_length
|
||||||
|
@ -1961,7 +1965,7 @@ opt_length
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e optimized succ
|
@e optimized succ
|
||||||
@j optimized succ
|
@j 最適化された recv.succ()。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_succ
|
opt_succ
|
||||||
|
@ -2007,7 +2011,7 @@ opt_succ
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e optimized regexp match
|
@e optimized regexp match
|
||||||
@j 最適化された正規表現マッチ
|
@j 最適化された正規表現マッチ。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_regexpmatch1
|
opt_regexpmatch1
|
||||||
|
@ -2040,7 +2044,7 @@ opt_regexpmatch2
|
||||||
/**
|
/**
|
||||||
@c optimize
|
@c optimize
|
||||||
@e call native compiled method
|
@e call native compiled method
|
||||||
@j ネイティブコンパイルしたメソッドを kick
|
@j ネイティブコンパイルしたメソッドを起動。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
opt_call_c_function
|
opt_call_c_function
|
||||||
|
@ -2077,7 +2081,7 @@ bitblt
|
||||||
/**
|
/**
|
||||||
@c joke
|
@c joke
|
||||||
@e The Answer to Life, the Universe, and Everything
|
@e The Answer to Life, the Universe, and Everything
|
||||||
@j 人生、宇宙、すべての答え
|
@j 人生、宇宙、すべての答え。
|
||||||
*/
|
*/
|
||||||
DEFINE_INSN
|
DEFINE_INSN
|
||||||
answer
|
answer
|
||||||
|
|
2
thread.c
2
thread.c
|
@ -5,7 +5,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
2
vm.h
2
vm.h
|
@ -6,7 +6,7 @@
|
||||||
$Date$
|
$Date$
|
||||||
created at: 04/01/01 16:56:59 JST
|
created at: 04/01/01 16:56:59 JST
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
$Author$
|
$Author$
|
||||||
$Date$
|
$Date$
|
||||||
|
|
||||||
Copyright (C) 2004-2006 Koichi Sasada
|
Copyright (C) 2004-2007 Koichi Sasada
|
||||||
|
|
||||||
**********************************************************************/
|
**********************************************************************/
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue