1
0
Fork 0
mirror of https://github.com/rubyjs/mini_racer synced 2023-03-27 23:21:28 -04:00

Introduce changes to account for upstream V8 API deprecations

This commit is contained in:
Petko Bordjukov 2018-06-21 18:06:16 +03:00
parent 4c104f6a91
commit bbf46101cd
3 changed files with 13 additions and 8 deletions

View file

@ -1,3 +1,8 @@
- Unreleased
- Deprecate Isolate#idle_notification in favour of Isolate#idle_notification_deadline @ignisf
- Account for changes in the upstream V8 API @ignisf
- Bump dependency of V8 to 6.7
23-08-2017

View file

@ -202,7 +202,7 @@ static void gc_callback(Isolate *isolate, GCType type, GCCallbackFlags flags) {
if(used > softlimit) {
isolate->SetData(MEM_SOFTLIMIT_REACHED, (void*)true);
V8::TerminateExecution(isolate);
isolate->TerminateExecution();
}
}
@ -626,11 +626,11 @@ static VALUE rb_isolate_init_with_snapshot(VALUE self, VALUE snapshot) {
return Qnil;
}
static VALUE rb_isolate_idle_notification(VALUE self, VALUE idle_time_in_ms) {
static VALUE rb_isolate_idle_notification_deadline(VALUE self, VALUE idle_time_in_s) {
IsolateInfo* isolate_info;
Data_Get_Struct(self, IsolateInfo, isolate_info);
return isolate_info->isolate->IdleNotification(NUM2INT(idle_time_in_ms)) ? Qtrue : Qfalse;
return isolate_info->isolate->IdleNotificationDeadline(NUM2DBL(idle_time_in_s)) ? Qtrue : Qfalse;
}
static VALUE rb_context_init_unsafe(VALUE self, VALUE isolate, VALUE snap) {
@ -901,7 +901,7 @@ gvl_ruby_callback(void* data) {
if ((bool)args->GetIsolate()->GetData(DO_TERMINATE) == true) {
args->GetIsolate()->ThrowException(String::NewFromUtf8(args->GetIsolate(), "Terminated execution during transition from Ruby to JS"));
V8::TerminateExecution(args->GetIsolate());
args->GetIsolate()->TerminateExecution();
return NULL;
}
@ -924,7 +924,7 @@ gvl_ruby_callback(void* data) {
if ((bool)args->GetIsolate()->GetData(DO_TERMINATE) == true) {
Isolate* isolate = args->GetIsolate();
V8::TerminateExecution(isolate);
isolate->TerminateExecution();
}
return NULL;
@ -1180,7 +1180,7 @@ rb_context_stop(VALUE self) {
// flag for termination
isolate->SetData(DO_TERMINATE, (void*)true);
V8::TerminateExecution(isolate);
isolate->TerminateExecution();
rb_funcall(self, rb_intern("stop_attached"), 0);
return Qnil;
@ -1361,7 +1361,7 @@ extern "C" {
rb_define_method(rb_cSnapshot, "warmup!", (VALUE(*)(...))&rb_snapshot_warmup, 1);
rb_define_private_method(rb_cSnapshot, "load", (VALUE(*)(...))&rb_snapshot_load, 1);
rb_define_method(rb_cIsolate, "idle_notification", (VALUE(*)(...))&rb_isolate_idle_notification, 1);
rb_define_method(rb_cIsolate, "idle_notification_deadline", (VALUE(*)(...))&rb_isolate_idle_notification_deadline, 1);
rb_define_private_method(rb_cIsolate, "init_with_snapshot",(VALUE(*)(...))&rb_isolate_init_with_snapshot, 1);
rb_define_singleton_method(rb_cPlatform, "set_flag_as_str!", (VALUE(*)(...))&rb_platform_set_flag_as_str, 1);

View file

@ -502,7 +502,7 @@ raise FooError, "I like foos"
def test_isolate_can_be_notified_of_idle_time
isolate = MiniRacer::Isolate.new
assert(isolate.idle_notification(1000))
assert(isolate.idle_notification_deadline(1))
end
def test_concurrent_access_over_the_same_isolate_1