Skip to content

Commit 47ccf8c

Browse files
Rebase fixes
1 parent faf3cc0 commit 47ccf8c

3 files changed

Lines changed: 14 additions & 11 deletions

File tree

Zend/zend_autoload.c

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#include "zend.h"
20+
#include "zend_class_alias.h"
2021
#include "zend_API.h"
2122
#include "zend_autoload.h"
2223
#include "zend_hash.h"
@@ -44,7 +45,7 @@ static Bucket *autoload_find_registered_function(const HashTable *autoloader_tab
4445
return NULL;
4546
}
4647

47-
ZEND_API zend_class_entry *zend_perform_class_autoload(zend_string *class_name, zend_string *lc_name)
48+
ZEND_API zval *zend_perform_class_autoload(zend_string *class_name, zend_string *lc_name)
4849
{
4950
if (!zend_class_autoload_functions) {
5051
return NULL;
@@ -69,13 +70,17 @@ ZEND_API zend_class_entry *zend_perform_class_autoload(zend_string *class_name,
6970
if (EG(exception)) {
7071
return NULL;
7172
}
72-
if (ZSTR_HAS_CE_CACHE(class_name) && ZSTR_GET_CE_CACHE(class_name)) {
73-
return (zend_class_entry*)ZSTR_GET_CE_CACHE(class_name);
74-
}
75-
76-
zend_class_entry *ce = zend_hash_find_ptr(EG(class_table), lc_name);
77-
if (ce) {
78-
return ce;
73+
// if (ZSTR_HAS_CE_CACHE(class_name) && ZSTR_GET_CE_CACHE(class_name)) {
74+
// return (zend_class_entry*)ZSTR_GET_CE_CACHE(class_name);
75+
// }
76+
77+
// zend_class_entry *ce = zend_hash_find_ptr(EG(class_table), lc_name);
78+
zval *ce_zv = zend_hash_find(EG(class_table), lc_name);
79+
if (ce_zv) {
80+
return ce_zv;
81+
// zend_class_entry *ce;
82+
// Z_CE_FROM_ZVAL_P(ce, ce_zv);
83+
// return ce;
7984
}
8085

8186
zend_hash_move_forward_ex(class_autoload_functions, &pos);

Zend/zend_autoload.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include "zend_API.h"
2525
#include "zend.h"
2626

27-
ZEND_API zend_class_entry *zend_perform_class_autoload(zend_string *class_name, zend_string *lc_name);
27+
ZEND_API zval *zend_perform_class_autoload(zend_string *class_name, zend_string *lc_name);
2828
ZEND_API void zend_autoload_register_class_loader(zend_fcall_info_cache *fcc, bool prepend);
2929
ZEND_API bool zend_autoload_unregister_class_loader(const zend_fcall_info_cache *fcc);
3030
ZEND_API void zend_autoload_fcc_map_to_callable_zval_map(zval *return_value);

Zend/zend_execute_API.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,6 @@ ZEND_API zend_class_entry *zend_lookup_class_ex(zend_string *name, zend_string *
12651265
zend_long previous_lineno = EG(lineno_override);
12661266
EG(filename_override) = NULL;
12671267
EG(lineno_override) = -1;
1268-
zend_exception_save();
12691268
zval *ce_zval = zend_autoload(autoload_name, lc_name);
12701269
zend_class_alias *alias = NULL;
12711270
if (ce_zval) {
@@ -1277,7 +1276,6 @@ ZEND_API zend_class_entry *zend_lookup_class_ex(zend_string *name, zend_string *
12771276
ce = Z_PTR_P(ce_zval);
12781277
}
12791278
}
1280-
zend_exception_restore();
12811279
EG(filename_override) = previous_filename;
12821280
EG(lineno_override) = previous_lineno;
12831281

0 commit comments

Comments
 (0)