+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include "php.h"
+
+#ifdef HAVE_LIBJIT
+
#include "php_psi.h"
#include "libjit.h"
}
static inline jit_type_t psi_jit_token_type(token_t t) {
switch (t) {
- default:
- ZEND_ASSERT(0);
- /* no break */
case PSI_T_VOID:
return jit_type_void;
case PSI_T_INT8:
return jit_type_ulong;
case PSI_T_BOOL:
return jit_type_sys_bool;
- case PSI_T_INT:
- return jit_type_sys_int;
case PSI_T_FLOAT:
return jit_type_sys_float;
case PSI_T_DOUBLE:
return jit_type_sys_double;
+ EMPTY_SWITCH_DEFAULT_CASE();
}
}
static inline jit_type_t psi_jit_decl_type(decl_type *type) {
static void psi_jit_dtor(PSI_Context *C)
{
- size_t i;
+ if (C->decls) {
+ size_t i;
- for (i = 0; i < C->decls->count; ++i) {
- decl *decl = C->decls->list[i];
+ for (i = 0; i < C->decls->count; ++i) {
+ decl *decl = C->decls->list[i];
- PSI_LibjitCallFree(decl->call.info);
+ PSI_LibjitCallFree(decl->call.info);
+ }
}
PSI_LibjitContextFree((void *) &C->context);
}
{
return &ops;
}
+
+#endif /* HAVE_LIBJIT */