pike.git/
src/
interpret_functions.h
Branch:
Tag:
Non-build tags
All tags
No tags
2000-04-18
2000-04-18 18:47:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>
372a6599b6bdad007ed92e8039187bdf05f0a7f9 (
125
lines) (+
66
/-
59
)
[
Show
|
Annotate
]
Branch:
7.9
Converted a few more cases.
Rev: src/interpret_functions.h:1.2
1180:
break; }
-
CASE
(F_STRING_INDEX)
;
+
OPCODE1
(F_STRING_INDEX
, "string index"
)
{ struct svalue tmp,tmp2; tmp.type=PIKE_T_STRING;
-
tmp.u.string=Pike_fp->context.prog->strings[
GET_ARG()
];
+
tmp.u.string=Pike_fp->context.prog->strings[
arg1
];
tmp.subtype=0; index_no_free(&tmp2, Pike_sp-1, &tmp); free_svalue(Pike_sp-1); Pike_sp[-1]=tmp2; print_return_value();
-
break;
+
}
-
+
BREAK;
CASE(F_POS_INT_INDEX); push_int(GET_ARG());
1214:
print_return_value(); break;
-
CASE
(F_MAGIC_INDEX)
;
-
push_magic_index(magic_index_program, accumulator,
GET_ARG(
)
)
;
-
break
;
+
OPCODE1
(F_MAGIC_INDEX
, "::`[]"
)
+
push_magic_index(magic_index_program, accumulator,
arg1
);
+
BREAK
;
-
CASE
(F_MAGIC_SET_INDEX)
;
-
push_magic_index(magic_set_index_program, accumulator,
GET_ARG(
)
)
;
-
break
;
+
OPCODE1
(F_MAGIC_SET_INDEX
, "::`[]="
)
+
push_magic_index(magic_set_index_program, accumulator,
arg1
);
+
BREAK
;
-
CASE
(F_CAST)
;
f_cast();
break
;
+
OPCODE0
(F_CAST
, "cast"
)
+
f_cast();
+
BREAK
;
CASE(F_SOFT_CAST); /* Stack: type_string, value */
1287:
pop_stack(); break;
-
CASE
(F_RANGE)
;
o_range();
break
;
-
CASE
(F_COPY_VALUE)
;
+
OPCODE0
(F_RANGE
, "range"
)
+
o_range();
+
BREAK
;
+
+
OPCODE0
(F_COPY_VALUE
, "copy_value"
)
{ struct svalue tmp; copy_svalues_recursively_no_free(&tmp,Pike_sp-1,1,0); free_svalue(Pike_sp-1); Pike_sp[-1]=tmp; }
-
break
;
+
BREAK
;
-
CASE
(F_INDIRECT)
;
+
OPCODE0
(F_INDIRECT
, "indirect"
)
{ struct svalue s; lvalue_to_svalue_no_free(&s,Pike_sp-2);
1317:
} } print_return_value();
-
break
;
+
BREAK
;
-
-
CASE
(F_SIZEOF)
;
+
OPCODE0
(F_SIZEOF
, "sizeof"
)
instr=pike_sizeof(Pike_sp-1); pop_stack(); push_int(instr);
-
break
;
+
BREAK
;
-
CASE
(F_SIZEOF_LOCAL)
;
-
push_int(pike_sizeof(Pike_fp->
locals+GET_ARG(
))
)
;
-
break
;
+
OPCODE1
(F_SIZEOF_LOCAL
, "sizeof local"
)
+
push_int(pike_sizeof(Pike_fp->
locals+arg1
));
+
BREAK
;
-
CASE
(F_SSCANF)
;
o_sscanf(
GET_ARG(
)
)
;
break
;
+
OPCODE1
(F_SSCANF
, "sscanf"
)
+
o_sscanf(
arg1
);
+
BREAK
;
CASE(F_CALL_LFUN); apply_low(Pike_fp->current_object,