1. 程式人生 > >[Erlang 0125] Know a little Erlang opcode

[Erlang 0125] Know a little Erlang opcode

Eshell V6.0  (abort with ^G)
1> rp(erts_debug:instructions()).
["allocate_tt","allocate_heap_tIt","allocate_heap_zero_tIt",
"allocate_init_tIy","allocate_zero_tt","apply_I",
"apply_bif","apply_last_IP","badarg_j","badmatch_r",
"badmatch_x","badmatch_y","bif1_fbsd","bif1_body_bsd",
"bs_context_to_binary_r","bs_context_to_binary_x",
"bs_context_to_binary_y","bs_init_writable",
"bs_put_string_II","bs_test_tail_imm2_frI",
"bs_test_tail_imm2_fxI","bs_test_unit_frI",
"bs_test_unit_fxI","bs_test_unit8_fr","bs_test_unit8_fx",
"bs_test_zero_tail2_fr","bs_test_zero_tail2_fx",
"call_bif_e","call_error_handler","call_nif","case_end_r",
"case_end_x","case_end_y","catch_yf","catch_end_y",
"continue_exit","deallocate_I","deallocate_return_Q",
"error_action_code","extract_next_element_x",
"extract_next_element_y","extract_next_element2_x",
"extract_next_element2_y","extract_next_element3_x",
"extract_next_element3_y","fclearerror","fconv_dl",
"fmove_ql","fmove_ld","fmove_dl","get_list_rrx",
"get_list_rry","get_list_rxr","get_list_rxx","get_list_rxy",
"get_list_ryr","get_list_ryx","get_list_ryy","get_list_xrx",
"get_list_xry","get_list_xxr","get_list_xxx","get_list_xxy",
"get_list_xyr","get_list_xyx","get_list_xyy","get_list_yrx",
"get_list_yry","get_list_yxr","get_list_yxx","get_list_yxy",
"get_list_yyr","get_list_yyx","get_list_yyy",
"hipe_call_count","hipe_trap_call","hipe_trap_call_closure",
"hipe_trap_resume","hipe_trap_return","hipe_trap_throw",
"i_apply","i_apply_fun","i_apply_fun_last_P",
"i_apply_fun_only","i_apply_last_P","i_apply_only",
"i_band_jId","i_bif2_fbd","i_bif2_body_bd","i_bor_jId",
"i_bs_add_jId","i_bs_append_jIIId",
"i_bs_get_binary2_frIsId","i_bs_get_binary2_fxIsId",
"i_bs_get_binary_all2_frIId","i_bs_get_binary_all2_fxIId",
"i_bs_get_binary_all_reuse_rfI",
"i_bs_get_binary_all_reuse_xfI",
"i_bs_get_binary_imm2_frIIId","i_bs_get_binary_imm2_fxIIId",
"i_bs_get_float2_frIsId","i_bs_get_float2_fxIsId",
"i_bs_get_integer_fIId","i_bs_get_integer_16_rfd",
"i_bs_get_integer_16_xfd","i_bs_get_integer_32_rfId",
"i_bs_get_integer_32_xfId","i_bs_get_integer_8_rfd",
"i_bs_get_integer_8_xfd","i_bs_get_integer_imm_rIIfId",
"i_bs_get_integer_imm_xIIfId",
"i_bs_get_integer_small_imm_rIfId",
"i_bs_get_integer_small_imm_xIfId","i_bs_get_utf16_rfId",
"i_bs_get_utf16_xfId","i_bs_get_utf8_rfd",
"i_bs_get_utf8_xfd","i_bs_init_IId","i_bs_init_bits_IId",
"i_bs_init_bits_fail_rjId","i_bs_init_bits_fail_xjId",
"i_bs_init_bits_fail_yjId","i_bs_init_bits_fail_heap_IjId",
"i_bs_init_bits_heap_IIId","i_bs_init_fail_rjId",
"i_bs_init_fail_xjId","i_bs_init_fail_yjId",
"i_bs_init_fail_heap_IjId","i_bs_init_heap_IIId",
"i_bs_init_heap_bin_IId","i_bs_init_heap_bin_heap_IIId",
"i_bs_match_string_rfII","i_bs_match_string_xfII",
"i_bs_private_append_jId","i_bs_put_utf16_jIs",
"i_bs_put_utf8_js","i_bs_restore2_rI","i_bs_restore2_xI",
"i_bs_save2_rI","i_bs_save2_xI","i_bs_skip_bits2_frxI",
"i_bs_skip_bits2_fryI","i_bs_skip_bits2_fxrI",
"i_bs_skip_bits2_fxxI","i_bs_skip_bits2_fxyI",
"i_bs_skip_bits_all2_frI","i_bs_skip_bits_all2_fxI",
"i_bs_skip_bits_imm2_frI","i_bs_skip_bits_imm2_fxI",
"i_bs_start_match2_rfIId","i_bs_start_match2_xfIId",
"i_bs_start_match2_yfIId","i_bs_utf16_size_sd",
"i_bs_utf8_size_sd","i_bs_validate_unicode_js",
"i_bs_validate_unicode_retract_j","i_bsl_jId","i_bsr_jId",
"i_bxor_jId","i_call_f","i_call_ext_e","i_call_ext_last_eP",
"i_call_ext_only_e","i_call_fun_I","i_call_fun_last_IP",
"i_call_last_fP","i_call_only_f","i_debug_breakpoint",
"i_element_rjsd","i_element_xjsd","i_element_yjsd",
"i_fadd_lll","i_fast_element_rjId","i_fast_element_xjId",
"i_fast_element_yjId","i_fcheckerror","i_fdiv_lll",
"i_fetch_rx","i_fetch_ry","i_fetch_xr","i_fetch_xx",
"i_fetch_xy","i_fetch_yr","i_fetch_yx","i_fetch_yy",
"i_fetch_rc","i_fetch_xc","i_fetch_yc","i_fetch_cr",
"i_fetch_cx","i_fetch_cy","i_fetch_cc","i_fetch_ss",
"i_fmul_lll","i_fnegate_ll","i_fsub_lll","i_func_info_IaaI",
"i_gc_bif1_jIsId","i_gc_bif2_jIId","i_gc_bif3_jIsId",
"i_generic_breakpoint","i_get_sd","i_get_map_element_frar",
"i_get_map_element_frax","i_get_map_element_fray",
"i_get_map_element_frxr","i_get_map_element_frxx",
"i_get_map_element_frxy","i_get_map_element_fxar",
"i_get_map_element_fxax","i_get_map_element_fxay",
"i_get_map_element_fxxr","i_get_map_element_fxxx",
"i_get_map_element_fxxy","i_get_map_element_fyar",
"i_get_map_element_fyax","i_get_map_element_fyay",
"i_get_map_element_fyxr","i_get_map_element_fyxx",
"i_get_map_element_fyxy","i_get_map_elements_fsI",
"i_get_tuple_element_rPr","i_get_tuple_element_rPx",
"i_get_tuple_element_rPy","i_get_tuple_element_xPr",
"i_get_tuple_element_xPx","i_get_tuple_element_xPy",
"i_get_tuple_element_yPr","i_get_tuple_element_yPx",
"i_get_tuple_element_yPy","i_has_map_field_fra",
"i_has_map_field_frr","i_has_map_field_frx",
"i_has_map_field_fry","i_has_map_field_fxa",
"i_has_map_field_fxr","i_has_map_field_fxx",
"i_has_map_field_fxy","i_has_map_field_fya",
"i_has_map_field_fyr","i_has_map_field_fyx",
"i_has_map_field_fyy","i_has_map_fields_fsI","i_hibernate",
"i_increment_rIId","i_increment_xIId","i_increment_yIId",
"i_int_bnot_jsId","i_int_div_jId","i_is_eq_f",
"i_is_eq_exact_f","i_is_eq_exact_immed_frc",
"i_is_eq_exact_immed_fxc","i_is_eq_exact_immed_fyc",
"i_is_eq_exact_literal_rfc","i_is_eq_exact_literal_xfc",
"i_is_eq_exact_literal_yfc","i_is_ge_f","i_is_lt_f",
"i_is_ne_f","i_is_ne_exact_f","i_is_ne_exact_immed_frc",
"i_is_ne_exact_immed_fxc","i_is_ne_exact_immed_fyc",
"i_is_ne_exact_literal_rfc","i_is_ne_exact_literal_xfc",
"i_is_ne_exact_literal_yfc","i_jump_on_val_rfII",
"i_jump_on_val_xfII","i_jump_on_val_yfII",
"i_jump_on_val_zero_rfI","i_jump_on_val_zero_xfI",
"i_jump_on_val_zero_yfI","i_loop_rec_fr","i_m_div_jId",
"i_make_fun_It","i_minus_jId","i_move_call_crf",
"i_move_call_ext_cre","i_move_call_ext_last_ePcr",
"i_move_call_ext_only_ecr","i_move_call_last_fPcr",
"i_move_call_only_fcr","i_new_bs_put_binary_jsIs",
"i_new_bs_put_binary_all_jsI","i_new_bs_put_binary_imm_jIs",
"i_new_bs_put_float_jsIs","i_new_bs_put_float_imm_jIIs",
"i_new_bs_put_integer_jsIs","i_new_bs_put_integer_imm_jIIs",
"i_plus_jId","i_put_tuple_rI","i_put_tuple_xI",
"i_put_tuple_yI","i_recv_set","i_rem_jId",
"i_return_time_trace","i_return_to_trace",
"i_select_tuple_arity_rfI","i_select_tuple_arity_xfI",
"i_select_tuple_arity_yfI","i_select_tuple_arity2_rfAfAf",
"i_select_tuple_arity2_xfAfAf",
"i_select_tuple_arity2_yfAfAf","i_select_val_rfI",
"i_select_val_xfI","i_select_val_yfI",
"i_select_val2_rfcfcf","i_select_val2_xfcfcf",
"i_select_val2_yfcfcf","i_times_jId","i_trim_I",
"i_wait_error","i_wait_error_locked","i_wait_timeout_fI",
"i_wait_timeout_fs","i_wait_timeout_locked_fI",
"i_wait_timeout_locked_fs","i_yield","if_end","init_y",
"init2_yy","init3_yyy","int_code_end","is_atom_fr",
"is_atom_fx","is_atom_fy","is_binary_fr","is_binary_fx",
"is_binary_fy","is_bitstring_fr","is_bitstring_fx",
"is_bitstring_fy","is_boolean_fr","is_boolean_fx",
"is_boolean_fy","is_float_fr","is_float_fx","is_float_fy",
"is_function_fr","is_function_fx","is_function_fy",
"is_function2_fss","is_integer_fr","is_integer_fx",
"is_integer_fy","is_integer_allocate_frII",
"is_integer_allocate_fxII","is_list_fr","is_list_fx",
"is_list_fy","is_map_fr","is_map_fx","is_map_fy",
"is_nil_fr","is_nil_fx","is_nil_fy",
"is_non_empty_list_test_heap_frIt","is_nonempty_list_fr",
"is_nonempty_list_fx","is_nonempty_list_fy",
"is_nonempty_list_allocate_frIt",
"is_nonempty_list_allocate_fxIt","is_number_fr",
"is_number_fx","is_number_fy","is_pid_fr","is_pid_fx",
"is_pid_fy","is_port_fr","is_port_fx","is_port_fy",
"is_reference_fr","is_reference_fx","is_reference_fy",
"is_tuple_fr","is_tuple_fx","is_tuple_fy",
"is_tuple_of_arity_frA","is_tuple_of_arity_fxA",
"is_tuple_of_arity_fyA","jump_f","label_L","line_I",
"loop_rec_end_f","move_nr","move_nx","move_rx","move_ry",
"move_xr","move_xx","move_xy","move_yr","move_yx","move_yy",
"move_cr","move_cx","move2_xxxx","move2_xyxy","move2_yxyx",
"move_call_xrf","move_call_yrf","move_call_last_xrfQ",
"move_call_last_yrfQ","move_call_only_xrf",
"move_deallocate_return_nrQ","move_deallocate_return_xrQ",
"move_deallocate_return_yrQ","move_deallocate_return_crQ",
"move_jump_fn","move_jump_fx","move_jump_fy","move_jump_fc",
"move_return_nr","move_return_xr","move_return_cr",
"move_x1_c","move_x2_c","new_map_jdII","node_r","node_x",
"node_y","normal_exit","on_load","put_list_rnx",
"put_list_rxr","put_list_rxx","put_list_ryx","put_list_xnx",
"put_list_xrr","put_list_xrx","put_list_xxr","put_list_xxx",
"put_list_xyr","put_list_xyx","put_list_ynx","put_list_yrr",
"put_list_yrx","put_list_yxr","put_list_yxx","put_list_yyr",
"put_list_yyx","put_list_rcr","put_list_rcx","put_list_rcy",
"put_list_xcr","put_list_xcx","put_list_xcy","put_list_ycr",
"put_list_ycx","put_list_ycy","put_list_crr","put_list_crx",
"put_list_cry","put_list_cxr","put_list_cxx","put_list_cxy",
"put_list_cyr","put_list_cyx","put_list_cyy","put_list_ssd",
"raise_ss","recv_mark_f","remove_message","return",
"return_trace","self_r","self_x","self_y","send",
"set_tuple_element_sdP","system_limit_j","test_arity_frA",
"test_arity_fxA","test_arity_fyA","test_heap_It",
"test_heap_1_put_list_Iy","timeout","timeout_locked",
"try_case_end_s","try_end_y","update_map_assoc_jsdII",
"update_map_exact_jsdII","wait_f","wait_locked_f",
"wait_unlocked_f"]
ok
2>