qse/ase/stx/bytecode.h

57 lines
1.7 KiB
C
Raw Normal View History

2005-07-05 11:38:01 +00:00
/*
2005-10-02 15:45:09 +00:00
* $Id: bytecode.h,v 1.12 2005-10-02 15:45:09 bacon Exp $
2005-07-05 11:38:01 +00:00
*/
#ifndef _XP_STX_BYTECODE_H_
#define _XP_STX_BYTECODE_H_
2005-08-18 15:28:18 +00:00
#include <xp/stx/stx.h>
2005-07-07 07:45:05 +00:00
2005-07-10 03:16:40 +00:00
#define PUSH_RECEIVER_VARIABLE 0x00
#define PUSH_TEMPORARY_LOCATION 0x10
#define PUSH_LITERAL_CONSTANT 0x20
#define PUSH_LITERAL_VARIABLE 0x30
#define STORE_RECEIVER_VARIABLE 0x40
#define STORE_TEMPORARY_LOCATION 0x50
#define PUSH_RECEIVER_VARIABLE_EXTENDED 0x60
#define PUSH_TEMPORARY_LOCATION_EXTENDED 0x61
#define PUSH_LITERAL_CONSTANT_EXTENDED 0x62
#define PUSH_LITERAL_VARIABLE_EXTENDED 0x63
#define STORE_RECEIVER_VARIABLE_EXTENDED 0x64
#define STORE_TEMPORARY_LOCATION_EXTENDED 0x65
2005-08-11 16:16:04 +00:00
2005-10-02 15:45:09 +00:00
#define POP_STACK_TOP 0x67
2005-08-11 16:16:04 +00:00
#define DUPLICATE_POP_STACK_TOP 0x68
#define PUSH_ACTIVE_CONTEXT 0x69
#define PUSH_NIL 0x6A
#define PUSH_TRUE 0x6B
#define PUSH_FALSE 0x6C
2005-09-30 12:19:00 +00:00
#define PUSH_RECEIVER 0x6D
2005-07-10 03:16:40 +00:00
2005-07-10 09:21:46 +00:00
#define SEND_TO_SELF 0x70
#define SEND_TO_SUPER 0x71
#define SEND_TO_SELF_EXTENDED 0x72
#define SEND_TO_SUPER_EXTENDED 0x73
2005-07-10 03:16:40 +00:00
#define RETURN_RECEIVER 0x78
#define RETURN_TRUE 0x79
#define RETURN_FALSE 0x7A
#define RETURN_NIL 0x7B
#define RETURN_FROM_MESSAGE 0x7C
#define RETURN_FROM_BLOCK 0x7D
2005-07-08 11:32:50 +00:00
2005-07-10 09:21:46 +00:00
#define DO_PRIMITIVE 0xF0
2005-07-08 11:32:50 +00:00
2005-07-07 07:45:05 +00:00
#ifdef __cplusplus
extern "C" {
#endif
int xp_stx_decode (xp_stx_t* stx, xp_word_t class_idx);
#ifdef __cplusplus
}
#endif
2005-07-05 11:38:01 +00:00
#endif