cpp: avoid a gazillion calls to memcpy/memmove
[m6w6/ext-psi] / src / call.h
index 01e6eaddd18e42bd8b91d9f50f4adc9cb04aa4e7..a6ad873b559a5738d2f7fa5bf113b025c7184a89 100644 (file)
@@ -77,18 +77,23 @@ size_t psi_call_frame_num_var_args(struct psi_call_frame *frame);
 size_t psi_call_frame_num_fixed_args(struct psi_call_frame *frame);
 
 zval *psi_call_frame_new_argument(struct psi_call_frame *frame, struct psi_call_frame_argument *frame_arg);
-zval *psi_call_frame_sub_argument(struct psi_call_frame *frame, struct psi_impl_var *inner_var, zval *outer_zval, const char *name);
+zval *psi_call_frame_sub_argument(struct psi_call_frame *frame, struct psi_impl_var *inner_var, zval *outer_zval, zend_string *name);
 
-struct psi_call_frame_argument *psi_call_frame_get_argument(struct psi_call_frame *frame, const char *name);
+struct psi_call_frame_argument *psi_call_frame_get_argument(struct psi_call_frame *frame, zend_string *name);
 struct psi_call_frame_argument *psi_call_frame_get_var_argument(struct psi_call_frame *frame, zend_long index);
 
 struct psi_call_frame_symbol *psi_call_frame_fetch_symbol(struct psi_call_frame *frame, struct psi_decl_var *dvar);
 
 void psi_call_frame_enter(struct psi_call_frame *frame);
 
+struct psi_context *psi_call_frame_get_context(struct psi_call_frame *frame);
+struct psi_decl *psi_call_frame_get_decl(struct psi_call_frame *frame);
+struct psi_impl *psi_call_frame_get_impl(struct psi_call_frame *frame);
 void **psi_call_frame_get_arg_pointers(struct psi_call_frame *frame);
+void *psi_call_frame_get_rpointer(struct psi_call_frame *frame);
 
 ZEND_RESULT_CODE psi_call_frame_do_let(struct psi_call_frame *frame);
+ZEND_RESULT_CODE psi_call_frame_do_assert(struct psi_call_frame *frame, enum psi_assert_kind kind);
 void psi_call_frame_do_call(struct psi_call_frame *frame);
 void psi_call_frame_do_callback(struct psi_call_frame *frame, struct psi_call_frame_callback *cb);
 void psi_call_frame_do_return(struct psi_call_frame *frame, zval *return_value);
@@ -100,5 +105,4 @@ void **psi_call_frame_push_auto(struct psi_call_frame *frame, void *auto_free);
 
 void psi_call_frame_free(struct psi_call_frame *frame);
 
-
 #endif