Paste number 311249: guile vm.c reduced

Paste number 311249: guile vm.c reduced
Pasted by: bavier
When:5 years, 8 months ago
Share:Tweet this! | http://paste.lisp.org/+6O5T
Channel:None
Paste contents:
Raw Source | XML | Display As
int c, d, e, g, i;
int *f;
void *j;
void _setjmp();
void scm_c_run_hookn() {
  int *l = &&vm_error_bad_instruction;
  j = &&l_nop;
  j = &&l_halt;
  j = &&l_drop;
  j = &&l_dup;
  j = &&l_void;
  j = &&l_make_true;
  j = &&l_make_false;
  j = &&l_make_nil;
  j = &&l_make_eol;
  j = &&l_make_int8;
  j = &&l_make_int8_0;
  j = &&l_make_int8_1;
  j = &&l_make_int16;
  j = &&l_make_int64;
  j = &&l_make_uint64;
  j = &&l_make_char8;
  j = &&l_make_char32;
  j = &&l_list;
  j = &&l_vector;
  j = &&l_object_ref;
  j = &&l_long_object_ref;
  j = &&l_local_ref;
  j = &&l_long_local_ref;
  j = &&l_local_bound;
  j = &&l_long_local_bound;
  j = &&l_variable_ref;
  j = &&l_variable_bound;
  j = &&l_toplevel_ref;
  j = &&l_long_toplevel_ref;
  j = &&l_local_set;
  j = &&l_long_local_set;
  j = &&l_variable_set;
  j = &&l_toplevel_set;
  j = &&l_long_toplevel_set;
  j = &&l_br;
  j = &&l_br_if;
  j = &&l_br_if_not;
  j = &&l_br_if_eq;
  j = &&l_br_if_not_eq;
  j = &&l_br_if_null;
  j = &&l_br_if_not_null;
  j = &&l_br_if_nargs_ne;
  j = &&l_br_if_nargs_lt;
  j = &&l_br_if_nargs_gt;
  j = &&l_assert_nargs_ee;
  j = &&l_assert_nargs_ge;
  j = &&l_bind_optionals;
  j = &&l_bind_optionals_shuffle;
  j = &&l_bind_kwargs;
  j = &&l_push_rest;
  j = &&l_bind_rest;
  j = &&l_reserve_locals;
  j = &&l_new_frame;
  j = &&l_call;
  j = &&l_tail_call;
  j = &&l_subr_call;
  j = &&l_smob_call;
  j = &&l_foreign_call;
  j = &&l_continuation_call;
  j = &&l_partial_cont_call;
  j = &&l_tail_call_nargs;
  j = &&l_call_nargs;
  j = &&l_mv_call;
  j = &&l_apply;
  j = &&l_tail_apply;
  j = &&l_call_cc;
  j = &&l_tail_call_cc;
  j = &&l_return;
  j = &&l_return_values;
  j = &&l_return_values_star;
  j = &&l_return_nvalues;
  j = &&l_truncate_values;
  j = &&l_box;
  j = &&l_empty_box;
  j = &&l_local_boxed_ref;
  j = &&l_local_boxed_set;
  j = &&l_free_ref;
  j = &&l_free_boxed_ref;
  j = &&l_free_boxed_set;
  j = &&l_make_closure;
  j = &&l_make_variable;
  j = &&l_fix_closure;
  j = &&l_define;
  j = &&l_make_keyword;
  j = &&l_make_symbol;
  j = &&l_prompt;
  j = &&l_wind;
  j = &&l_abort;
  j = &&l_unwind;
  j = &&l_wind_fluids;
  j = &&l_unwind_fluids;
  j = &&l_fluid_ref;
  j = &&l_fluid_set;
  j = &&l_assert_nargs_ee_locals;
  j = &&l_bind_optionals_shuffle_or_br;
  j = &&l_not;
  j = &&l_not_not;
  j = &&l_eq;
  j = &&l_not_eq;
  j = &&l_nullp;
  j = &&l_not_nullp;
  j = &&l_eqv;
  j = &&l_equal;
  j = &&l_pairp;
  j = &&l_listp;
  j = &&l_symbolp;
  j = &&l_vectorp;
  j = &&l_cons;
  j = &&l_car;
  j = &&l_cdr;
  j = &&l_set_car;
  j = &&l_set_cdr;
  j = &&l_ee;
  j = &&l_lt;
  j = &&l_le;
  j = &&l_gt;
  j = &&l_ge;
  j = &&l_add;
  j = &&l_add1;
  j = &&l_sub;
  j = &&l_sub1;
  j = &&l_mul;
  j = &&l_div;
  j = &&l_quo;
  j = &&l_rem;
  j = &&l_mod;
  j = &&l_ash;
  j = &&l_logand;
  j = &&l_logior;
  j = &&l_logxor;
  j = &&l_vector_ref;
  j = &&l_vector_set;
  j = &&l_make_array;
  j = &&l_struct_p;
  j = &&l_struct_vtable;
  j = &&l_make_struct;
  j = &&l_struct_ref;
  j = &&l_struct_set;
  j = &&l_class_of;
  j = &&l_slot_ref;
  j = &&l_slot_set;
  j = &&l_bv_u16_ref;
  j = &&l_bv_s16_ref;
  j = &&l_bv_u32_ref;
  j = &&l_bv_s32_ref;
  j = &&l_bv_u64_ref;
  j = &&l_bv_s64_ref;
  j = &&l_bv_f32_ref;
  j = &&l_bv_f64_ref;
  j = &&l_bv_u8_ref;
  j = &&l_bv_s8_ref;
  j = &&l_bv_u64_native_ref;
  j = &&l_bv_u16_set;
  j = &&l_bv_s16_set;
  j = &&l_bv_u32_set;
  j = &&l_bv_s32_set;
  j = &&l_bv_u64_set;
  j = &&l_bv_s64_set;
  j = &&l_bv_f32_set;
  j = &&l_bv_f64_set;
  j = &&l_bv_u8_set;
  j = &&l_bv_s8_set;
  j = &&l_bv_u16_native_set;
  j = &&l_load_number;
  j = &&l_load_string;
  j = &&l_load_symbol;
  j = &&l_load_program;
  j = &&l_link_now;
  j = &&l_load_array;
  j = &&l_load_wide_string;
l_nop:
l_halt:
l_drop:
l_dup:
l_void:
l_make_true:
l_make_false:
l_make_nil:
l_make_eol:
l_make_int8:
l_make_int8_0:
l_make_int8_1:
l_make_int16:
l_make_int64:
l_make_uint64:
l_make_char8:
l_make_char32:
l_list:
l_vector:
l_object_ref:
l_long_object_ref:
l_local_ref:
l_long_local_ref:
l_local_bound:
l_long_local_bound:
l_variable_ref:
l_variable_bound:
l_toplevel_ref:
l_long_toplevel_ref:
l_local_set:
l_long_local_set:
l_variable_set:
l_toplevel_set:
l_long_toplevel_set:
l_br:
l_br_if:
l_br_if_not:
l_br_if_eq:
l_br_if_not_eq:
l_br_if_null:
l_br_if_not_null:
l_br_if_nargs_ne:
l_br_if_nargs_lt:
l_br_if_nargs_gt:
l_assert_nargs_ee:
l_assert_nargs_ge:
l_bind_optionals:
l_bind_optionals_shuffle : {
  long n = l - f;
  l = &d;
  c = f[n];
  scm_c_run_hookn();
}
l_bind_kwargs:
l_push_rest:
l_bind_rest:
l_reserve_locals:
l_new_frame:
l_call:
vm_call:
l_tail_call:
vm_tail_call:
l_subr_call:
l_smob_call:
l_foreign_call:
  goto vm_return_values;
  goto vm_return;
l_continuation_call:
l_partial_cont_call:
  _setjmp();
l_tail_call_nargs:
l_call_nargs:
l_mv_call:
l_apply:
l_tail_apply:
l_call_cc:
  goto vm_call;
l_tail_call_cc:
  goto vm_tail_call;
l_return:
vm_return:
l_return_values:
vm_return_values:
l_return_values_star:
l_return_nvalues:
l_truncate_values:
l_box:
l_empty_box:
l_local_boxed_ref:
l_local_boxed_set:
l_free_ref:
l_free_boxed_ref:
l_free_boxed_set:
l_make_closure:
l_make_variable:
l_fix_closure:
l_define:
l_make_keyword:
l_make_symbol:
l_prompt:
l_wind:
l_abort:
l_unwind:
l_wind_fluids:
l_unwind_fluids:
l_fluid_ref:
  g = i;
l_fluid_set:
l_assert_nargs_ee_locals:
l_bind_optionals_shuffle_or_br:
l_not:
l_not_not:
l_eq:
l_not_eq:
l_nullp:
l_not_nullp:
l_eqv:
l_equal:
l_pairp:
l_listp:
l_symbolp:
l_vectorp:
l_cons:
l_car:
l_cdr:
l_set_car:
l_set_cdr:
l_ee:
l_lt:
l_le:
l_gt:
l_ge:
l_add:
l_add1:
l_sub:
l_sub1:
l_mul:
l_div:
l_quo:
l_rem:
l_mod:
l_ash:
l_logand:
l_logior:
l_logxor:
l_vector_ref:
l_vector_set:
l_make_array:
l_struct_p:
l_struct_vtable:
l_make_struct:
l_struct_ref:
l_struct_set:
l_class_of:
l_slot_ref:
l_slot_set:
l_bv_u16_ref:
  goto l_bv_u16_native_ref;
l_bv_s16_ref:
  goto l_bv_s16_native_ref;
l_bv_u32_ref:
  goto l_bv_u32_native_ref;
l_bv_s32_ref:
  goto l_bv_s32_native_ref;
l_bv_u64_ref:
l_bv_s64_ref:
  goto l_bv_s64_native_ref;
l_bv_f32_ref:
  goto l_bv_f32_native_ref;
l_bv_f64_ref:
  goto l_bv_f64_native_ref;
l_bv_u8_ref:
l_bv_s8_ref:
l_bv_u16_native_ref:
l_bv_s16_native_ref:
l_bv_u32_native_ref:
l_bv_s32_native_ref:
l_bv_u64_native_ref:
l_bv_s64_native_ref:
l_bv_f32_native_ref:
l_bv_f64_native_ref:
  do
    goto *&e;
  while (0);
l_bv_u16_set:
l_bv_s16_set:
  goto l_bv_s16_native_set;
l_bv_u32_set:
  goto l_bv_u32_native_set;
l_bv_s32_set:
  goto l_bv_s32_native_set;
l_bv_u64_set:
  goto l_bv_u64_native_set;
l_bv_s64_set:
  goto l_bv_s64_native_set;
l_bv_f32_set:
  goto l_bv_f32_native_set;
l_bv_f64_set:
  goto l_bv_f64_native_set;
l_bv_u8_set:
l_bv_s8_set:
l_bv_u16_native_set:
l_bv_s16_native_set:
l_bv_u32_native_set:
l_bv_s32_native_set:
l_bv_u64_native_set:
l_bv_s64_native_set:
l_bv_f32_native_set:
l_bv_f64_native_set:
l_load_number:
l_load_string:
l_load_symbol:
l_load_program:
l_link_now:
l_load_array:
  do {
    l--;
    do
      goto handle_overflow;
    while (0);
  } while (0);
l_load_wide_string:
vm_error_bad_instruction:
handle_overflow:
  scm_c_run_hookn();
}

This paste has no annotations.

Colorize as:
Show Line Numbers

Lisppaste pastes can be made by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively.