0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-12-22 12:51:52 +00:00

all test passed v8 8.9

This commit is contained in:
waqasbelushi 2021-03-21 07:07:53 +05:00 committed by Stefan Siegl
parent 0eec3bd764
commit e648f431ac
No known key found for this signature in database
GPG Key ID: 73942AF5642F3DDA
7 changed files with 22 additions and 22 deletions

View File

@ -48,7 +48,7 @@ if test "$PHP_V8JS" != "no"; then
CPPFLAGS=$old_CPPFLAGS
]);
AC_CACHE_CHECK(how to allow c++11 narrowing, ac_cv_v8_narrowing, [
AC_CACHE_CHECK(how to allow c++14 narrowing, ac_cv_v8_narrowing, [
ac_cv_v8_narrowing=""
old_CXXFLAGS=$CXXFLAGS
AC_LANG_PUSH([C++])
@ -58,12 +58,12 @@ if test "$PHP_V8JS" != "no"; then
(void) foo;
return 0;
}]])],[ac_cv_v8_narrowing=""],[
CXXFLAGS="-Wno-c++11-narrowing -std="$ac_cv_v8_cstd
CXXFLAGS="-Wno-c++14-narrowing -std="$ac_cv_v8_cstd
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() {
struct { unsigned int x; } foo = {-1};
(void) foo;
return 0;
}]])],[ac_cv_v8_narrowing="-Wno-c++11-narrowing"],[
}]])],[ac_cv_v8_narrowing="-Wno-c++14-narrowing"],[
CXXFLAGS="-Wno-narrowing -std="$ac_cv_v8_cstd
AC_RUN_IFELSE([AC_LANG_SOURCE([[int main() {
struct { unsigned int x; } foo = {-1};

View File

@ -210,11 +210,11 @@ void v8js_array_access_enumerator(const v8::PropertyCallbackInfo<v8::Array>& inf
for(int j = 0; j < length; j ++) {
if(v8js_array_access_isset_p(object, j)) {
result->Set(isolate->GetEnteredContext(), i ++, V8JS_INT(j));
result->Set(isolate->GetEnteredOrMicrotaskContext(), i ++, V8JS_INT(j));
}
}
result->Set(isolate->GetEnteredContext(), V8JS_SYM("length"), V8JS_INT(i));
result->Set(isolate->GetEnteredOrMicrotaskContext(), V8JS_SYM("length"), V8JS_INT(i));
info.GetReturnValue().Set(result);
}
/* }}} */
@ -245,12 +245,12 @@ void v8js_array_access_named_getter(v8::Local<v8::Name> property_name, const v8:
}
v8::Local<v8::Object> prototype_object;
if(!prototype->ToObject(isolate->GetEnteredContext()).ToLocal(&prototype_object)) {
if(!prototype->ToObject(isolate->GetEnteredOrMicrotaskContext()).ToLocal(&prototype_object)) {
/* ehh? Array.prototype not an object? strange, stop. */
info.GetReturnValue().Set(ret_value);
}
prototype_object->Get(isolate->GetEnteredContext(), property).ToLocal(&ret_value);
prototype_object->Get(isolate->GetEnteredOrMicrotaskContext(), property).ToLocal(&ret_value);
}
info.GetReturnValue().Set(ret_value);

View File

@ -79,7 +79,7 @@ static v8::Local<v8::Value> v8js_hash_to_jsarr(zval *value, v8::Isolate *isolate
return V8JS_NULL;
}
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
newarr = v8::Array::New(isolate, i);
if (i > 0)
@ -149,7 +149,7 @@ v8::Local<v8::Value> zval_to_v8js(zval *value, v8::Isolate *isolate) /* {{{ */
if (instanceof_function(Z_OBJCE_P(value), ce)) {
zval dtval;
zend_call_method_with_0_params(value, NULL, NULL, "getTimestamp", &dtval);
v8::Date::New(isolate->GetEnteredContext(), ((double)Z_LVAL(dtval) * 1000.0)).ToLocal(&jsValue);
v8::Date::New(isolate->GetEnteredOrMicrotaskContext(), ((double)Z_LVAL(dtval) * 1000.0)).ToLocal(&jsValue);
zval_dtor(&dtval);
} else
jsValue = v8js_hash_to_jsobj(value, isolate);

View File

@ -488,7 +488,7 @@ V8JS_METHOD(require)
}
if(Z_TYPE(module_code) == IS_OBJECT) {
v8::Local<v8::Object> newobj = zval_to_v8js(&module_code, isolate)->ToObject(isolate->GetEnteredContext()).ToLocalChecked();
v8::Local<v8::Object> newobj = zval_to_v8js(&module_code, isolate)->ToObject(isolate->GetEnteredOrMicrotaskContext()).ToLocalChecked();
c->modules_loaded[normalised_module_id].Reset(isolate, newobj);
info.GetReturnValue().Set(newobj);

View File

@ -38,7 +38,7 @@ static void v8js_weak_object_callback(const v8::WeakCallbackInfo<zend_object> &d
static void v8js_call_php_func(zend_object *object, zend_function *method_ptr, const v8::FunctionCallbackInfo<v8::Value>& info) /* {{{ */
{
v8::Isolate *isolate = info.GetIsolate();
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::Value> return_value = V8JS_NULL;
zend_fcall_info fci;
zend_fcall_info_cache fcc;
@ -231,8 +231,8 @@ static void v8js_construct_callback(const v8::FunctionCallbackInfo<v8::Value>& i
v8::Local<v8::Array> cons_data = v8::Local<v8::Array>::Cast(info.Data());
v8::Local<v8::Value> cons_tmpl, cons_ce;
if (!cons_data->Get(isolate->GetEnteredContext(), 0).ToLocal(&cons_tmpl)
||!cons_data->Get(isolate->GetEnteredContext(), 1).ToLocal(&cons_ce))
if (!cons_data->Get(isolate->GetEnteredOrMicrotaskContext(), 0).ToLocal(&cons_tmpl)
||!cons_data->Get(isolate->GetEnteredOrMicrotaskContext(), 1).ToLocal(&cons_ce))
{
return;
}
@ -328,14 +328,14 @@ static void v8js_weak_closure_callback(const v8::WeakCallbackInfo<v8js_function_
!strncasecmp(ZSTR_VAL(key), mname, ZSTR_LEN(key)))
#define PHP_V8JS_CALLBACK(isolate, mptr, tmpl) \
(v8::FunctionTemplate::New((isolate), v8js_php_callback, v8::External::New((isolate), mptr), v8::Signature::New((isolate), tmpl))->GetFunction(isolate->GetEnteredContext()).ToLocalChecked())
(v8::FunctionTemplate::New((isolate), v8js_php_callback, v8::External::New((isolate), mptr), v8::Signature::New((isolate), tmpl))->GetFunction(isolate->GetEnteredOrMicrotaskContext()).ToLocalChecked())
static void v8js_named_property_enumerator(const v8::PropertyCallbackInfo<v8::Array> &info) /* {{{ */
{
// note: 'special' properties like 'constructor' are not enumerated.
v8::Isolate *isolate = info.GetIsolate();
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::Object> self = info.Holder();
v8::Local<v8::Array> result = v8::Array::New(isolate, 0);
@ -435,7 +435,7 @@ static void v8js_named_property_enumerator(const v8::PropertyCallbackInfo<v8::Ar
static void v8js_invoke_callback(const v8::FunctionCallbackInfo<v8::Value>& info) /* {{{ */
{
v8::Isolate *isolate = info.GetIsolate();
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::Object> self = info.Holder();
v8::Local<v8::Function> cb = v8::Local<v8::Function>::Cast(info.Data());
@ -480,7 +480,7 @@ static void v8js_invoke_callback(const v8::FunctionCallbackInfo<v8::Value>& info
static void v8js_fake_call_impl(const v8::FunctionCallbackInfo<v8::Value>& info) /* {{{ */
{
v8::Isolate *isolate = info.GetIsolate();
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::Object> self = info.Holder();
v8::Local<v8::Value> return_value = V8JS_NULL;
@ -623,7 +623,7 @@ v8::Local<v8::Value> v8js_named_property_callback(v8::Local<v8::Name> property_n
v8::Local<v8::String> property = v8::Local<v8::String>::Cast(property_name);
v8::Isolate *isolate = info.GetIsolate();
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8js_ctx *ctx = (v8js_ctx *) isolate->GetData(0);
v8::String::Utf8Value cstr(isolate, property);
const char *name = ToCString(cstr);
@ -848,7 +848,7 @@ static void v8js_named_property_query(v8::Local<v8::Name> property, const v8::Pr
}
v8::Isolate *isolate = info.GetIsolate();
v8::MaybeLocal<v8::Integer> value = r->ToInteger(isolate->GetEnteredContext());
v8::MaybeLocal<v8::Integer> value = r->ToInteger(isolate->GetEnteredOrMicrotaskContext());
if (!value.IsEmpty()) {
info.GetReturnValue().Set(value.ToLocalChecked());
}

View File

@ -304,7 +304,7 @@ int v8js_get_properties_hash(v8::Local<v8::Value> jsValue, HashTable *retval, in
}
/* Skip any prototype properties */
if (!jsObj->HasOwnProperty(isolate->GetEnteredContext(), jsKey).FromMaybe(false)
if (!jsObj->HasOwnProperty(isolate->GetEnteredOrMicrotaskContext(), jsKey).FromMaybe(false)
&& !jsObj->HasRealNamedProperty(v8_context, jsKey).FromMaybe(false)
&& !jsObj->HasRealNamedCallbackProperty(v8_context, jsKey).FromMaybe(false)) {
continue;

View File

@ -344,7 +344,7 @@ static int v8js_v8object_call_method(zend_string *method, zend_object *object, I
std::function< v8::MaybeLocal<v8::Value>(v8::Isolate *) > v8_call = [obj, method, argc, argv, object, &return_value](v8::Isolate *isolate) {
int i = 0;
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::String> method_name = V8JS_SYML(ZSTR_VAL(method), static_cast<int>(ZSTR_LEN(method)));
v8::Local<v8::Object> v8obj = v8::Local<v8::Value>::New(isolate, obj->v8obj)->ToObject(v8_context).ToLocalChecked();
v8::Local<v8::Object> thisObj;
@ -573,7 +573,7 @@ static void v8js_v8generator_next(v8js_v8generator *g) /* {{{ */
* some memory on bailout. */
{
std::function< v8::MaybeLocal<v8::Value>(v8::Isolate *) > v8_call = [g](v8::Isolate *isolate) {
v8::Local<v8::Context> v8_context = isolate->GetEnteredContext();
v8::Local<v8::Context> v8_context = isolate->GetEnteredOrMicrotaskContext();
v8::Local<v8::String> method_name = V8JS_SYM("next");
v8::Local<v8::Object> v8obj = v8::Local<v8::Value>::New(isolate, g->v8obj.v8obj)->ToObject(v8_context).ToLocalChecked();
v8::Local<v8::Function> cb = v8::Local<v8::Function>::Cast(v8obj->Get(v8_context, method_name).ToLocalChecked());;