remove parser_state::done()
parent
283f23394d
commit
e5a05a3199
|
@ -38,10 +38,6 @@ struct parser_state {
|
|||
}
|
||||
|
||||
~parser_state() {
|
||||
done();
|
||||
}
|
||||
|
||||
void done() {
|
||||
if (!parsing) {
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -656,11 +656,12 @@ static any_value do_run(
|
|||
) {
|
||||
any_value ret{*ts.pstate};
|
||||
gen_state gs{ts};
|
||||
parser_state ps{ts, gs};
|
||||
ps.src_name = file;
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(code, VAL_ANY);
|
||||
ps.done();
|
||||
{
|
||||
parser_state ps{ts, gs};
|
||||
ps.src_name = file;
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(code, VAL_ANY);
|
||||
}
|
||||
std::uint32_t *cbuf = bcode_alloc(ts.istate, gs.code.size());
|
||||
std::memcpy(cbuf, gs.code.data(), gs.code.size() * sizeof(std::uint32_t));
|
||||
bcode_ref cref{reinterpret_cast<bcode *>(cbuf + 1)};
|
||||
|
|
|
@ -270,10 +270,11 @@ bcode_ref any_value::force_code(state &cs) {
|
|||
break;
|
||||
}
|
||||
gen_state gs{state_p{cs}.ts()};
|
||||
parser_state ps{state_p{cs}.ts(), gs};
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(get_string());
|
||||
ps.done();
|
||||
{
|
||||
parser_state ps{state_p{cs}.ts(), gs};
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(get_string());
|
||||
}
|
||||
uint32_t *cbuf = bcode_alloc(state_p{cs}.ts().istate, gs.code.size());
|
||||
std::memcpy(cbuf, gs.code.data(), gs.code.size() * sizeof(std::uint32_t));
|
||||
auto *bc = reinterpret_cast<bcode *>(cbuf + 1);
|
||||
|
|
10
src/cs_vm.cc
10
src/cs_vm.cc
|
@ -700,7 +700,6 @@ std::uint32_t *vm_exec(
|
|||
parser_state ps{ts, gs};
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(arg.get_string());
|
||||
ps.done();
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
@ -725,10 +724,11 @@ std::uint32_t *vm_exec(
|
|||
std::string_view s = arg.get_string();
|
||||
if (!s.empty()) {
|
||||
gen_state gs{ts};
|
||||
parser_state ps{ts, gs};
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(s);
|
||||
ps.done();
|
||||
{
|
||||
parser_state ps{ts, gs};
|
||||
gs.code.reserve(64);
|
||||
ps.gen_main(s);
|
||||
}
|
||||
std::uint32_t *cbuf = bcode_alloc(
|
||||
ts.istate, gs.code.size()
|
||||
);
|
||||
|
|
Loading…
Reference in New Issue