Strongtalk Bytecodes (Version 2)

local_access bytecodes

CodeNameFormatSingle step
00Hpush_temp_0 byte
01Hpush_temp_1 byte
02Hpush_temp_2 byte
03Hpush_temp_3 byte
04Hpush_temp_4 byte
05Hpush_temp_5 byte
07Hpush_temp_n byte byte
08Hpush_arg_1 byte
09Hpush_arg_2 byte
0AHpush_arg_3 byte
0BHpush_arg_n byte byte
10Hstore_temp_0_pop byteintercepted
11Hstore_temp_1_pop byteintercepted
12Hstore_temp_2_pop byteintercepted
13Hstore_temp_3_pop byteintercepted
14Hstore_temp_4_pop byteintercepted
15Hstore_temp_5_pop byteintercepted
16Hstore_temp_n byte byteintercepted
17Hstore_temp_n_pop byte byteintercepted

instVar_access bytecodes

CodeNameFormatSingle step
28Hreturn_instVar_name byte oop
2CHreturn_instVar byte longintercepted
2DHpush_instVar byte long
2EHstore_instVar_pop byte longintercepted
2FHstore_instVar byte longintercepted
3DHpush_instVar_name byte oop
3EHstore_instVar_pop_name byte oop
3FHstore_instVar_name byte oop

context_access bytecodes

CodeNameFormatSingle step
40Hpush_temp_0_context_0 byte
41Hpush_temp_1_context_0 byte
42Hpush_temp_2_context_0 byte
43Hpush_temp_n_context_0 byte byte
44Hstore_temp_0_context_0_pop byteintercepted
45Hstore_temp_1_context_0_pop byteintercepted
46Hstore_temp_2_context_0_pop byteintercepted
47Hstore_temp_n_context_0_pop byte byteintercepted
50Hpush_temp_0_context_1 byte
51Hpush_temp_1_context_1 byte
52Hpush_temp_2_context_1 byte
53Hpush_temp_n_context_1 byte byte
54Hstore_temp_0_context_1_pop byteintercepted
55Hstore_temp_1_context_1_pop byteintercepted
56Hstore_temp_2_context_1_pop byteintercepted
57Hstore_temp_n_context_1_pop byte byteintercepted
60Hpush_temp_0_context_n byte byte
61Hpush_temp_1_context_n byte byte
62Hpush_temp_2_context_n byte byte
63Hpush_temp_n_context_n byte byte byte
64Hstore_temp_0_context_n_pop byte byteintercepted
65Hstore_temp_1_context_n_pop byte byteintercepted
66Hstore_temp_2_context_n_pop byte byteintercepted
67Hstore_temp_n_context_n_pop byte byte byteintercepted
68Hset_self_via_context byte
69Hcopy_1_into_context byte byte
6AHcopy_2_into_context byte byte byte
6BHcopy_n_into_context byte byte {byte}
6CHcopy_self_into_context byte
6DHcopy_self_1_into_context byte byte
6EHcopy_self_2_into_context byte byte byte
6FHcopy_self_n_into_context byte byte {byte}

classVar_access bytecodes

CodeNameFormatSingle step
29Hpush_classVar byte oop
2AHstore_classVar_pop byte oopintercepted
2BHstore_classVar byte oopintercepted
F3Hpush_classVar_name byte oop
F4Hstore_classVar_pop_name byte oop
F5Hstore_classVar_name byte oop

global_access bytecodes

CodeNameFormatSingle step
F0Hpush_global byte oop
F1Hstore_global_pop byte oopintercepted
F2Hstore_global byte oopintercepted

new_closure bytecodes

CodeNameFormatSingle step
48Hpush_new_closure_context_0 byte oop
49Hpush_new_closure_context_1 byte oop
4AHpush_new_closure_context_2 byte oop
4BHpush_new_closure_context_n byte byte oop
58Hpush_new_closure_tos_0 byte oop
59Hpush_new_closure_tos_1 byte oop
5AHpush_new_closure_tos_2 byte oop
5BHpush_new_closure_tos_n byte byte oop

new_context bytecodes

CodeNameFormatSingle step
4CHinstall_new_context_method_0 byte
4DHinstall_new_context_method_1 byte
4EHinstall_new_context_method_2 byte
4FHinstall_new_context_method_n byte byte
5CHonly_pop byte
5DHinstall_new_context_block_1 byte
5EHinstall_new_context_block_2 byte
5FHinstall_new_context_block_n byte byte

control_struc bytecodes

CodeNameFormatSingle step
70HifTrue_byte byte byte byte
71HifFalse_byte byte byte byte
72Hand_byte byte byte
73Hor_byte byte byte
74HwhileTrue_byte byte byte
75HwhileFalse_byte byte byte
76Hjump_else_byte byte byte
77Hjump_loop_byte byte byte byte
78HifTrue_word byte byte long
79HifFalse_word byte byte long
7AHand_word byte long
7BHor_word byte long
7CHwhileTrue_word byte long
7DHwhileFalse_word byte long
7EHjump_else_word byte long
7FHjump_loop_word byte long long
FFHhalt byte

message_send bytecodes

CodeNameFormatSingle stepSend typeArguments
80Hinterpreted_send_0 byte oop oopinterceptedinterpreted_sendreceiver
81Hinterpreted_send_1 byte oop oopinterceptedinterpreted_sendreceiver argument_1
82Hinterpreted_send_2 byte oop oopinterceptedinterpreted_sendreceiver argument_1 argument_2
83Hinterpreted_send_n byte byte oop oopinterceptedinterpreted_sendreceiver argument_1 argument_2 ... argument_n
84Hinterpreted_send_0_pop byte oop oopinterceptedinterpreted_sendreceiver
85Hinterpreted_send_1_pop byte oop oopinterceptedinterpreted_sendreceiver argument_1
86Hinterpreted_send_2_pop byte oop oopinterceptedinterpreted_sendreceiver argument_1 argument_2
87Hinterpreted_send_n_pop byte byte oop oopinterceptedinterpreted_sendreceiver argument_1 argument_2 ... argument_n
88Hinterpreted_send_self byte oop oopinterceptedinterpreted_sendargument_1 argument_2 ... argument_n
89Hinterpreted_send_self_pop byte oop oopinterceptedinterpreted_sendargument_1 argument_2 ... argument_n
8AHinterpreted_send_super byte oop oopinterceptedinterpreted_sendargument_1 argument_2 ... argument_n
8BHinterpreted_send_super_pop byte oop oopinterceptedinterpreted_sendargument_1 argument_2 ... argument_n
90Hpolymorphic_send_0 byte oop oopinterceptedpolymorphic_sendreceiver
91Hpolymorphic_send_1 byte oop oopinterceptedpolymorphic_sendreceiver argument_1
92Hpolymorphic_send_2 byte oop oopinterceptedpolymorphic_sendreceiver argument_1 argument_2
93Hpolymorphic_send_n byte byte oop oopinterceptedpolymorphic_sendreceiver argument_1 argument_2 ... argument_n
94Hpolymorphic_send_0_pop byte oop oopinterceptedpolymorphic_sendreceiver
95Hpolymorphic_send_1_pop byte oop oopinterceptedpolymorphic_sendreceiver argument_1
96Hpolymorphic_send_2_pop byte oop oopinterceptedpolymorphic_sendreceiver argument_1 argument_2
97Hpolymorphic_send_n_pop byte byte oop oopinterceptedpolymorphic_sendreceiver argument_1 argument_2 ... argument_n
98Hpolymorphic_send_self byte oop oopinterceptedpolymorphic_sendargument_1 argument_2 ... argument_n
99Hpolymorphic_send_self_pop byte oop oopinterceptedpolymorphic_sendargument_1 argument_2 ... argument_n
9AHpolymorphic_send_super byte oop oopinterceptedpolymorphic_sendargument_1 argument_2 ... argument_n
9BHpolymorphic_send_super_pop byte oop oopinterceptedpolymorphic_sendargument_1 argument_2 ... argument_n
A0Hcompiled_send_0 byte long oopinterceptedcompiled_sendreceiver
A1Hcompiled_send_1 byte long oopinterceptedcompiled_sendreceiver argument_1
A2Hcompiled_send_2 byte long oopinterceptedcompiled_sendreceiver argument_1 argument_2
A3Hcompiled_send_n byte byte long oopinterceptedcompiled_sendreceiver argument_1 argument_2 ... argument_n
A4Hcompiled_send_0_pop byte long oopinterceptedcompiled_sendreceiver
A5Hcompiled_send_1_pop byte long oopinterceptedcompiled_sendreceiver argument_1
A6Hcompiled_send_2_pop byte long oopinterceptedcompiled_sendreceiver argument_1 argument_2
A7Hcompiled_send_n_pop byte byte long oopinterceptedcompiled_sendreceiver argument_1 argument_2 ... argument_n
A8Hcompiled_send_self byte long oopinterceptedcompiled_sendargument_1 argument_2 ... argument_n
A9Hcompiled_send_self_pop byte long oopinterceptedcompiled_sendargument_1 argument_2 ... argument_n
AAHcompiled_send_super byte long oopinterceptedcompiled_sendargument_1 argument_2 ... argument_n
ABHcompiled_send_super_pop byte long oopinterceptedcompiled_sendargument_1 argument_2 ... argument_n
B8Haccess_send_self byte oop oopinterceptedaccessor sendargument_1 argument_2 ... argument_n
B9Hprimitive_send_0 byte oop oopinterceptedprimitive_sendreceiver
BAHprimitive_send_super byte oop oopinterceptedprimitive_sendargument_1 argument_2 ... argument_n
BBHprimitive_send_super_pop byte oop oopinterceptedprimitive_sendargument_1 argument_2 ... argument_n
BDHprimitive_send_1 byte oop oopinterceptedprimitive_sendreceiver argument_1
BEHprimitive_send_2 byte oop oopinterceptedprimitive_sendreceiver argument_1 argument_2
BFHprimitive_send_n byte byte oop oopinterceptedprimitive_sendreceiver argument_1 argument_2 ... argument_n
C8Haccess_send_0 byte oop oopinterceptedaccessor sendreceiver
C9Hprimitive_send_0_pop byte oop oopinterceptedprimitive_sendreceiver
CAHprimitive_send_self byte oop oopinterceptedprimitive_sendargument_1 argument_2 ... argument_n
CBHprimitive_send_self_pop byte oop oopinterceptedprimitive_sendargument_1 argument_2 ... argument_n
CDHprimitive_send_1_pop byte oop oopinterceptedprimitive_sendreceiver argument_1
CEHprimitive_send_2_pop byte oop oopinterceptedprimitive_sendreceiver argument_1 argument_2
CFHprimitive_send_n_pop byte byte oop oopinterceptedprimitive_sendreceiver argument_1 argument_2 ... argument_n
D0Hmegamorphic_send_0 byte oop oopinterceptedmegamorphic_sendreceiver
D1Hmegamorphic_send_1 byte oop oopinterceptedmegamorphic_sendreceiver argument_1
D2Hmegamorphic_send_2 byte oop oopinterceptedmegamorphic_sendreceiver argument_1 argument_2
D3Hmegamorphic_send_n byte byte oop oopinterceptedmegamorphic_sendreceiver argument_1 argument_2 ... argument_n
D4Hmegamorphic_send_0_pop byte oop oopinterceptedmegamorphic_sendreceiver
D5Hmegamorphic_send_1_pop byte oop oopinterceptedmegamorphic_sendreceiver argument_1
D6Hmegamorphic_send_2_pop byte oop oopinterceptedmegamorphic_sendreceiver argument_1 argument_2
D7Hmegamorphic_send_n_pop byte byte oop oopinterceptedmegamorphic_sendreceiver argument_1 argument_2 ... argument_n
D8Hmegamorphic_send_self byte oop oopinterceptedmegamorphic_sendargument_1 argument_2 ... argument_n
D9Hmegamorphic_send_self_pop byte oop oopinterceptedmegamorphic_sendargument_1 argument_2 ... argument_n
DAHmegamorphic_send_super byte oop oopinterceptedmegamorphic_sendargument_1 argument_2 ... argument_n
DBHmegamorphic_send_super_pop byte oop oopinterceptedmegamorphic_sendargument_1 argument_2 ... argument_n
E0Hsmi_add byte oop oopinterceptedpredicted_sendreceiver argument_1
E1Hsmi_sub byte oop oopinterceptedpredicted_sendreceiver argument_1
E2Hsmi_mult byte oop oopinterceptedpredicted_sendreceiver argument_1
E3Hsmi_div byte oop oopinterceptedpredicted_sendreceiver argument_1
E4Hsmi_mod byte oop oopinterceptedpredicted_sendreceiver argument_1
E5Hsmi_create_point byte oop oopinterceptedpredicted_sendreceiver argument_1
E6Hsmi_equal byte oop oopinterceptedpredicted_sendreceiver argument_1
E7Hsmi_not_equal byte oop oopinterceptedpredicted_sendreceiver argument_1
E8Hsmi_less byte oop oopinterceptedpredicted_sendreceiver argument_1
E9Hsmi_less_equal byte oop oopinterceptedpredicted_sendreceiver argument_1
EAHsmi_greater byte oop oopinterceptedpredicted_sendreceiver argument_1
EBHsmi_greater_equal byte oop oopinterceptedpredicted_sendreceiver argument_1
ECHobjArray_at byte oop oopinterceptedpredicted_sendreceiver argument_1
EDHobjArray_at_put byte oop oopinterceptedpredicted_sendreceiver argument_1
F6Hsmi_and byte oop oopinterceptedpredicted_sendreceiver argument_1
F7Hsmi_or byte oop oopinterceptedpredicted_sendreceiver argument_1
F8Hsmi_xor byte oop oopinterceptedpredicted_sendreceiver argument_1
F9Hsmi_shift byte oop oopinterceptedpredicted_sendreceiver argument_1

nonlocal_return bytecodes

CodeNameFormatSingle step
AEHnon_local_return_tos_pop_n byte byteintercepted
AFHnon_local_return_self_pop_n byte byteintercepted

primitive_call bytecodes

CodeNameFormatSingle step
B0Hprim_call byte longintercepted
B1Hpredict_prim_call byte longintercepted
B2Hprim_call_failure byte long longintercepted
B3Hpredict_prim_call_failure byte long longintercepted
B5Hprim_call_self byte longintercepted
B6Hprim_call_self_failure byte long longintercepted
C0Hprim_call_lookup byte oop
C1Hpredict_prim_call_lookup byte oop
C2Hprim_call_failure_lookup byte oop long
C3Hpredict_prim_call_failure_lookup byte oop long
C5Hprim_call_self_lookup byte oop
C6Hprim_call_self_failure_lookup byte oop long

dll_call bytecodes

CodeNameFormatSingle step
B4Hdll_call_sync byte oop oop long byteintercepted
C4Hdll_call_async byte oop oop long byteintercepted

float_operation bytecodes

CodeNameFormatSingle step
30Hfloat_allocate byte byte byte byte
31Hfloat_floatify_pop byte byte
32Hfloat_move byte byte byte
33Hfloat_set byte byte oop
34Hfloat_nullary_op byte byte byte
35Hfloat_unary_op byte byte byte
36Hfloat_binary_op byte byte byte
37Hfloat_unary_op_to_oop byte byte byte
38Hfloat_binary_op_to_oop byte byte byte

miscellaneous bytecodes

CodeNameFormatSingle step
0CHallocate_temp_1 byte
0DHallocate_temp_2 byte
0EHallocate_temp_3 byte
0FHallocate_temp_n byte byte
18Hpush_neg_n byte byte
19Hpush_succ_n byte byte
1AHpush_literal byte oop
1BHpush_tos byte
1CHpush_self byte
1DHpush_nil byte
1EHpush_true byte
1FHpush_false byte
8CHreturn_tos_pop_0 byteintercepted
8DHreturn_tos_pop_1 byteintercepted
8EHreturn_tos_pop_2 byteintercepted
8FHreturn_tos_pop_n byte byteintercepted
9CHreturn_self_pop_0 byteintercepted
9DHreturn_self_pop_1 byteintercepted
9EHreturn_self_pop_2 byteintercepted
9FHreturn_self_pop_n byte byteintercepted
ACHreturn_tos_zap_pop_n byte byteintercepted
ADHreturn_self_zap_pop_n byte byteintercepted
DDHspecial_primitive_send_1_hint byte byte
EEHdouble_equal byteintercepted
EFHdouble_tilde byteintercepted


(c) 1994-1997 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
Use and distribution of this software is subject to the terms of the
source license.