2005-07-05 11:38:01 +00:00
|
|
|
/*
|
2007-03-22 11:19:28 +00:00
|
|
|
* $Id: bytecode.h,v 1.13 2007-03-22 11:19:28 bacon Exp $
|
2005-07-05 11:38:01 +00:00
|
|
|
*/
|
|
|
|
|
2007-03-22 11:19:28 +00:00
|
|
|
#ifndef _ASE_STX_BYTECODE_H_
|
|
|
|
#define _ASE_STX_BYTECODE_H_
|
2005-07-05 11:38:01 +00:00
|
|
|
|
2007-03-22 11:19:28 +00:00
|
|
|
#include <ase/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
|
|
|
|
|
2007-03-22 11:19:28 +00:00
|
|
|
int ase_stx_decode (ase_stx_t* stx, ase_word_t class_idx);
|
2005-07-07 07:45:05 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
2005-07-05 11:38:01 +00:00
|
|
|
|
|
|
|
#endif
|