mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Add comments to getspecial
This commit is contained in:
parent
bf8557f487
commit
fc13ff14a2
1 changed files with 7 additions and 0 deletions
|
@ -3810,6 +3810,9 @@ gen_toregexp(jitstate_t* jit, ctx_t* ctx)
|
||||||
static codegen_status_t
|
static codegen_status_t
|
||||||
gen_getspecial(jitstate_t *jit, ctx_t *ctx)
|
gen_getspecial(jitstate_t *jit, ctx_t *ctx)
|
||||||
{
|
{
|
||||||
|
// This takes two arguments, key and type
|
||||||
|
// key is only used when type == 0
|
||||||
|
// A non-zero type determines which type of backref to fetch
|
||||||
rb_num_t key = jit_get_arg(jit, 0);
|
rb_num_t key = jit_get_arg(jit, 0);
|
||||||
rb_num_t type = jit_get_arg(jit, 1);
|
rb_num_t type = jit_get_arg(jit, 1);
|
||||||
|
|
||||||
|
@ -3817,6 +3820,8 @@ gen_getspecial(jitstate_t *jit, ctx_t *ctx)
|
||||||
// not yet implemented
|
// not yet implemented
|
||||||
return YJIT_CANT_COMPILE;
|
return YJIT_CANT_COMPILE;
|
||||||
} else if (type & 0x01) {
|
} else if (type & 0x01) {
|
||||||
|
// Fetch a "special" backref based on a char encoded by shifting by 1
|
||||||
|
|
||||||
// Can raise if matchdata uninitialized
|
// Can raise if matchdata uninitialized
|
||||||
jit_prepare_routine_call(jit, ctx, REG0);
|
jit_prepare_routine_call(jit, ctx, REG0);
|
||||||
|
|
||||||
|
@ -3851,6 +3856,8 @@ gen_getspecial(jitstate_t *jit, ctx_t *ctx)
|
||||||
|
|
||||||
return YJIT_KEEP_COMPILING;
|
return YJIT_KEEP_COMPILING;
|
||||||
} else {
|
} else {
|
||||||
|
// Fetch the N-th match from the last backref based on type shifted by 1
|
||||||
|
|
||||||
// Can raise if matchdata uninitialized
|
// Can raise if matchdata uninitialized
|
||||||
jit_prepare_routine_call(jit, ctx, REG0);
|
jit_prepare_routine_call(jit, ctx, REG0);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue