@@ -60,6 +60,9 @@ void php_v8_stack_frame_create_from_stack_frame(v8::Isolate *isolate, zval *retu
60
60
61
61
/* v8::StackFrame::IsConstructor */
62
62
zend_update_property_bool (this_ce, return_value, ZEND_STRL (" is_constructor" ), static_cast <zend_bool >(frame->IsConstructor ()));
63
+
64
+ /* v8::StackFrame::IsWasm */
65
+ zend_update_property_bool (this_ce, return_value, ZEND_STRL (" is_wasm" ), static_cast <zend_bool >(frame->IsWasm ()));
63
66
}
64
67
65
68
static PHP_METHOD (StackFrame, __construct) {
@@ -73,11 +76,12 @@ static PHP_METHOD(StackFrame, __construct) {
73
76
74
77
zend_bool is_eval = ' \0 ' ;
75
78
zend_bool is_constructor = ' \0 ' ;
79
+ zend_bool is_wasm = ' \0 ' ;
76
80
77
- if (zend_parse_parameters (ZEND_NUM_ARGS (), " |lllSSSbb " ,
81
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), " |lllSSSbbb " ,
78
82
&line_number, &column, &script_id,
79
83
&script_name, &script_name_or_source_url, &function_name,
80
- &is_eval, &is_constructor) == FAILURE) {
84
+ &is_eval, &is_constructor, &is_wasm ) == FAILURE) {
81
85
return ;
82
86
}
83
87
@@ -105,6 +109,7 @@ static PHP_METHOD(StackFrame, __construct) {
105
109
106
110
zend_update_property_bool (this_ce, getThis (), ZEND_STRL (" is_eval" ), is_eval);
107
111
zend_update_property_bool (this_ce, getThis (), ZEND_STRL (" is_constructor" ), is_constructor);
112
+ zend_update_property_bool (this_ce, getThis (), ZEND_STRL (" is_wasm" ), is_wasm);
108
113
}
109
114
110
115
static PHP_METHOD (StackFrame, getLineNumber) {
@@ -187,6 +192,17 @@ static PHP_METHOD(StackFrame, isConstructor) {
187
192
RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" is_constructor" ), 0 , &rv), 1 , 0 );
188
193
}
189
194
195
+ static PHP_METHOD (StackFrame, isWasm) {
196
+ zval rv;
197
+
198
+ if (zend_parse_parameters_none () == FAILURE) {
199
+ return ;
200
+ }
201
+
202
+ RETVAL_ZVAL (zend_read_property (this_ce, getThis (), ZEND_STRL (" is_wasm" ), 0 , &rv), 1 , 0 );
203
+ }
204
+
205
+
190
206
PHP_V8_ZEND_BEGIN_ARG_WITH_CONSTRUCTOR_INFO_EX (arginfo___construct, 0 )
191
207
ZEND_ARG_TYPE_INFO(0 , line_number, IS_LONG, 1 )
192
208
ZEND_ARG_TYPE_INFO(0 , column, IS_LONG, 1 )
@@ -196,6 +212,7 @@ PHP_V8_ZEND_BEGIN_ARG_WITH_CONSTRUCTOR_INFO_EX(arginfo___construct, 0)
196
212
ZEND_ARG_TYPE_INFO(0 , function_name, IS_STRING, 0 )
197
213
ZEND_ARG_TYPE_INFO(0 , is_eval, _IS_BOOL, 0 )
198
214
ZEND_ARG_TYPE_INFO(0 , is_constructor, _IS_BOOL, 0 )
215
+ ZEND_ARG_TYPE_INFO(0 , is_wasm, _IS_BOOL, 0 )
199
216
ZEND_END_ARG_INFO()
200
217
201
218
PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_getLineNumber, ZEND_RETURN_VALUE, 0 , IS_LONG, 1 )
@@ -222,6 +239,9 @@ ZEND_END_ARG_INFO()
222
239
PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_isConstructor, ZEND_RETURN_VALUE, 0 , _IS_BOOL, 0 )
223
240
ZEND_END_ARG_INFO()
224
241
242
+ PHP_V8_ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_isWasm, ZEND_RETURN_VALUE, 0 , _IS_BOOL, 0 )
243
+ ZEND_END_ARG_INFO()
244
+
225
245
226
246
static const zend_function_entry php_v8_stack_frame_methods[] = {
227
247
PHP_V8_ME (StackFrame, __construct, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
@@ -233,6 +253,7 @@ static const zend_function_entry php_v8_stack_frame_methods[] = {
233
253
PHP_V8_ME (StackFrame, getFunctionName, ZEND_ACC_PUBLIC)
234
254
PHP_V8_ME (StackFrame, isEval, ZEND_ACC_PUBLIC)
235
255
PHP_V8_ME (StackFrame, isConstructor, ZEND_ACC_PUBLIC)
256
+ PHP_V8_ME (StackFrame, isWasm, ZEND_ACC_PUBLIC)
236
257
237
258
PHP_FE_END
238
259
};
@@ -253,6 +274,7 @@ PHP_MINIT_FUNCTION (php_v8_stack_frame) {
253
274
254
275
zend_declare_property_bool (this_ce, ZEND_STRL (" is_eval" ), static_cast <zend_bool>(false ), ZEND_ACC_PRIVATE);
255
276
zend_declare_property_bool (this_ce, ZEND_STRL (" is_constructor" ), static_cast <zend_bool>(false ), ZEND_ACC_PRIVATE);
277
+ zend_declare_property_bool (this_ce, ZEND_STRL (" is_wasm" ), static_cast <zend_bool>(false ), ZEND_ACC_PRIVATE);
256
278
257
279
return SUCCESS;
258
280
}
0 commit comments