mini_racer 0.17.0.pre11 → 0.17.0.pre12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +3 -0
- data/ext/mini_racer_extension/mini_racer_extension.c +16 -20
- data/ext/mini_racer_extension/mini_racer_v8.cc +1 -12
- data/lib/mini_racer/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b2323caa96e4a3fae90be312b1d8788f2f2e663e586849ef03e97968c24c83a3
|
|
4
|
+
data.tar.gz: 5681ed08f41984354aa940919b295c0ff1d1fcfecc2a3a8e26b7f91874ae97d0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 65e746097f2db9dbe8d36c95ab55d7ff0f5f6a35cfbe92b09e8ed0071e83471193555fa1e0c104880c054a0ad8e4c9807cc524922723c28a67d8029f8af6e265
|
|
7
|
+
data.tar.gz: 0c33c64e22d93312346d0edc6c4602a5bdb991b6c5077d8505d14b3b885469212f999e4a17ae5c32aa238416ebaab8354b0d3973b861e1f5923378776039a33d
|
data/CHANGELOG
CHANGED
|
@@ -611,6 +611,13 @@ static int serialize1(Ser *s, VALUE refs, VALUE v)
|
|
|
611
611
|
return 0;
|
|
612
612
|
}
|
|
613
613
|
|
|
614
|
+
// don't mix with ser_array_begin/ser_object_begin because
|
|
615
|
+
// that will throw off the object reference count
|
|
616
|
+
static int serialize(Ser *s, VALUE v)
|
|
617
|
+
{
|
|
618
|
+
return serialize1(s, rb_hash_new(), v);
|
|
619
|
+
}
|
|
620
|
+
|
|
614
621
|
static struct timespec deadline_ms(int ms)
|
|
615
622
|
{
|
|
616
623
|
static const int64_t ns_per_sec = 1000*1000*1000;
|
|
@@ -859,18 +866,11 @@ static void *rendezvous_callback(void *arg)
|
|
|
859
866
|
goto fail;
|
|
860
867
|
}
|
|
861
868
|
ser_init1(&s, 'c'); // callback reply
|
|
862
|
-
|
|
863
|
-
// either [result, undefined] or [undefined, err]
|
|
864
|
-
if (exc)
|
|
865
|
-
ser_undefined(&s);
|
|
866
|
-
if (serialize1(&s, rb_hash_new(), r)) { // should not happen
|
|
869
|
+
if (serialize(&s, r)) { // should not happen
|
|
867
870
|
c->exception = rb_exc_new_cstr(internal_error, s.err);
|
|
868
871
|
ser_reset(&s);
|
|
869
872
|
goto fail;
|
|
870
873
|
}
|
|
871
|
-
if (!exc)
|
|
872
|
-
ser_undefined(&s);
|
|
873
|
-
ser_array_end(&s, 2);
|
|
874
874
|
out:
|
|
875
875
|
buf_move(&s.b, a->req);
|
|
876
876
|
return NULL;
|
|
@@ -1202,25 +1202,21 @@ static VALUE context_stop(VALUE self)
|
|
|
1202
1202
|
|
|
1203
1203
|
static VALUE context_call(int argc, VALUE *argv, VALUE self)
|
|
1204
1204
|
{
|
|
1205
|
-
VALUE
|
|
1205
|
+
VALUE name, args;
|
|
1206
|
+
VALUE a, e;
|
|
1206
1207
|
Context *c;
|
|
1207
|
-
int i;
|
|
1208
1208
|
Ser s;
|
|
1209
1209
|
|
|
1210
1210
|
TypedData_Get_Struct(self, Context, &context_type, c);
|
|
1211
|
-
rb_scan_args(argc, argv, "1*", &
|
|
1212
|
-
Check_Type(
|
|
1211
|
+
rb_scan_args(argc, argv, "1*", &name, &args);
|
|
1212
|
+
Check_Type(name, T_STRING);
|
|
1213
|
+
rb_ary_unshift(args, name);
|
|
1213
1214
|
// request is (C)all, [name, args...] array
|
|
1214
1215
|
ser_init1(&s, 'C');
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
if (serialize1(&s, h, argv[i])) {
|
|
1219
|
-
ser_reset(&s);
|
|
1220
|
-
rb_raise(runtime_error, "Context.call: %s", s.err);
|
|
1221
|
-
}
|
|
1216
|
+
if (serialize(&s, args)) {
|
|
1217
|
+
ser_reset(&s);
|
|
1218
|
+
rb_raise(runtime_error, "Context.call: %s", s.err);
|
|
1222
1219
|
}
|
|
1223
|
-
ser_array_end(&s, argc);
|
|
1224
1220
|
// response is [result, err] array
|
|
1225
1221
|
a = rendezvous(c, &s.b); // takes ownership of |s.b|
|
|
1226
1222
|
e = rb_ary_pop(a);
|
|
@@ -378,18 +378,7 @@ void v8_api_callback(const v8::FunctionCallbackInfo<v8::Value>& info)
|
|
|
378
378
|
des.ReadHeader(st.context).Check();
|
|
379
379
|
v8::Local<v8::Value> result;
|
|
380
380
|
if (!des.ReadValue(st.context).ToLocal(&result)) return; // exception pending
|
|
381
|
-
|
|
382
|
-
if (!result->ToObject(st.context).ToLocal(&response)) return;
|
|
383
|
-
v8::Local<v8::Value> err;
|
|
384
|
-
if (!response->Get(st.context, 1).ToLocal(&err)) return;
|
|
385
|
-
if (err->IsUndefined()) {
|
|
386
|
-
if (!response->Get(st.context, 0).ToLocal(&result)) return;
|
|
387
|
-
info.GetReturnValue().Set(result);
|
|
388
|
-
} else {
|
|
389
|
-
v8::Local<v8::String> message;
|
|
390
|
-
if (!err->ToString(st.context).ToLocal(&message)) return;
|
|
391
|
-
st.isolate->ThrowException(v8::Exception::Error(message));
|
|
392
|
-
}
|
|
381
|
+
info.GetReturnValue().Set(result);
|
|
393
382
|
}
|
|
394
383
|
|
|
395
384
|
// response is err or empty string
|
data/lib/mini_racer/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mini_racer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.17.0.
|
|
4
|
+
version: 0.17.0.pre12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sam Saffron
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-01-
|
|
11
|
+
date: 2025-01-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -123,9 +123,9 @@ licenses:
|
|
|
123
123
|
- MIT
|
|
124
124
|
metadata:
|
|
125
125
|
bug_tracker_uri: https://github.com/discourse/mini_racer/issues
|
|
126
|
-
changelog_uri: https://github.com/discourse/mini_racer/blob/v0.17.0.
|
|
127
|
-
documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.17.0.
|
|
128
|
-
source_code_uri: https://github.com/discourse/mini_racer/tree/v0.17.0.
|
|
126
|
+
changelog_uri: https://github.com/discourse/mini_racer/blob/v0.17.0.pre12/CHANGELOG
|
|
127
|
+
documentation_uri: https://www.rubydoc.info/gems/mini_racer/0.17.0.pre12
|
|
128
|
+
source_code_uri: https://github.com/discourse/mini_racer/tree/v0.17.0.pre12
|
|
129
129
|
post_install_message:
|
|
130
130
|
rdoc_options: []
|
|
131
131
|
require_paths:
|