CompiledCode* UnMarshaller::get_cmethod() { size_t ver; stream >> ver; CompiledCode* cm = CompiledCode::create(state); cm->metadata(state, unmarshal()); cm->primitive(state, (Symbol*)unmarshal()); cm->name(state, (Symbol*)unmarshal()); cm->iseq(state, (InstructionSequence*)unmarshal()); cm->stack_size(state, (Fixnum*)unmarshal()); cm->local_count(state, (Fixnum*)unmarshal()); cm->required_args(state, (Fixnum*)unmarshal()); cm->post_args(state, (Fixnum*)unmarshal()); cm->total_args(state, (Fixnum*)unmarshal()); cm->splat(state, unmarshal()); cm->literals(state, (Tuple*)unmarshal()); cm->lines(state, (Tuple*)unmarshal()); cm->file(state, (Symbol*)unmarshal()); cm->local_names(state, (Tuple*)unmarshal()); cm->post_marshal(state); return cm; }
CompiledCode* UnMarshaller::get_compiled_code() { size_t ver; stream >> ver; CompiledCode* code = CompiledCode::create(state); code->metadata(state, unmarshal()); code->primitive(state, force_as<Symbol>(unmarshal())); code->name(state, force_as<Symbol>(unmarshal())); code->iseq(state, force_as<InstructionSequence>(unmarshal())); code->stack_size(state, force_as<Fixnum>(unmarshal())); code->local_count(state, force_as<Fixnum>(unmarshal())); code->required_args(state, force_as<Fixnum>(unmarshal())); code->post_args(state, force_as<Fixnum>(unmarshal())); code->total_args(state, force_as<Fixnum>(unmarshal())); code->splat(state, force_as<Fixnum>(unmarshal())); code->literals(state, force_as<Tuple>(unmarshal())); code->lines(state, force_as<Tuple>(unmarshal())); code->file(state, force_as<Symbol>(unmarshal())); code->local_names(state, force_as<Tuple>(unmarshal())); code->post_marshal(state); return code; }