55 #define NO_THREADED_CODE
57 #if defined(__GNUC__) && ! defined(BC_PROFILING) && (! defined(NO_THREADED_CODE))
58 # define THREADED_CODE
63 #define TOKEN_THREADING
82 #ifndef TOKEN_THREADING
146 #ifndef TOKEN_THREADING
147 #define ENCODED_BCODE
152 typedef union {
void *v;
int i; } BCODE;
162 : m_nodestack_scope(
ByteCode::s_nodestack),
163 m_loopvar_stack_size(
ByteCode::s_loopvar_stack->size())
168 ByteCode::s_loopvar_stack->resize(m_loopvar_stack_size);
171 NodeStack::Scope m_nodestack_scope;
172 size_t m_loopvar_stack_size;
175 static NodeStack* s_nodestack;
180 static std::vector<Frame::Binding*>* s_loopvar_stack;
182 static void* s_op_address[];
183 #ifndef TOKEN_THREADING
184 static int s_op_arity[];
188 GCEdge<IntVector> m_code;
189 GCEdge<ListVector> m_constants;
191 std::vector<BCODE> m_threaded_code;
217 static void DO_MATSUBSET(
SEXP rho);
218 static void DO_SETVECSUBSET(
SEXP rho);
219 static void DO_SETMATSUBSET(
SEXP rho);