} else {
/* FIXME: output identifiers properly */
/* An internal function assumes $this is present and won't check that. So PHP would crash by allowing the call. */
- zend_error_noreturn(E_ERROR, "Non-static method %s::%s() cannot be called statically", fbc->common.scope->name, fbc->common.function_name);
+ zend_error_noreturn(E_ERROR, "Non-static method %s::%s() cannot be called statically", fbc->common.scope->name->val, fbc->common.function_name->val);
}
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
if (Z_ISREF_P(varptr)) {
- if (IS_VAR == IS_CV ||
- (IS_VAR == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {
+//??? if (IS_VAR == IS_CV ||
+//??? (IS_VAR == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {
ZVAL_DUP(&var, Z_REFVAL_P(varptr));
varptr = &var;
zval_ptr_dtor_nogc(free_op1.var);
- } else {
- varptr = Z_REFVAL_P(varptr);
- }
+//??? } else {
+//??? varptr = Z_REFVAL_P(varptr);
+//??? }
} else if (IS_VAR == IS_CV) {
if (IS_REFCOUNTED(Z_TYPE_P(varptr))) Z_ADDREF_P(varptr);
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
varptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
if (Z_ISREF_P(varptr)) {
- if (IS_CV == IS_CV ||
- (IS_CV == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {
+//??? if (IS_CV == IS_CV ||
+//??? (IS_CV == IS_VAR && Z_REFCOUNT_P(varptr) > 2)) {
ZVAL_DUP(&var, Z_REFVAL_P(varptr));
varptr = &var;
- } else {
- varptr = Z_REFVAL_P(varptr);
- }
+//??? } else {
+//??? varptr = Z_REFVAL_P(varptr);
+//??? }
} else if (IS_CV == IS_CV) {
if (IS_REFCOUNTED(Z_TYPE_P(varptr))) Z_ADDREF_P(varptr);
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
}
-// ZVAL_COPY(EX_VAR(opline->result.var), retval);
- ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
-//??? switch (type) {
-//??? case BP_VAR_R:
-//??? case BP_VAR_IS:
-//??? break;
-//??? case BP_VAR_UNSET: {
+ switch (type) {
+ case BP_VAR_R:
+ case BP_VAR_IS:
+ ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
+ break;
+ case BP_VAR_UNSET: {
//??? zend_free_op free_res;
//???
//??? PZVAL_UNLOCK(*retval, &free_res);
//??? }
//??? PZVAL_LOCK(*retval);
//??? FREE_OP_VAR_PTR(free_res);
-//??? }
-//??? /* break missing intentionally */
-//??? default:
-//??? EX_T(opline->result.var).var.ptr_ptr = retval;
-//??? break;
-//??? }
+ }
+ /* break missing intentionally */
+ default:
+ ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
+ break;
+ }
CHECK_EXCEPTION();
ZEND_VM_NEXT_OPCODE();
}