0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2024-11-29 16:31:01 -05:00
Commit graph

1193 commits

Author SHA1 Message Date
Chengzhong Wu
5f90045ad0
feat: add Context::get_extras_binding_object (#975) 2022-05-24 15:57:35 +02:00
Bert Belder
9b1bb41d86
chore: reduce size of distributed static library (#918)
Closes: #974
2022-05-24 10:28:23 +02:00
Bert Belder
a9567bc31a
chore: clean up and remove redundant gn args (#981) 2022-05-24 10:28:15 +02:00
Bert Belder
9cc57eb44d
chore: update README to reflect Python 3 requirement (#980) 2022-05-24 00:27:13 +02:00
Bert Belder
e7105d4eff
chore: actually run unit tests in build.rs (#980) 2022-05-24 00:27:13 +02:00
Bert Belder
973c986411
chore: auto-format Cargo.toml (#980) 2022-05-24 00:27:13 +02:00
Colin Ihrig
0605e9bc34
feat: add ObjectTemplate::set_immutable_proto() (#977)
This commit exposes SetImmutableProto().
2022-05-19 18:15:32 -04:00
Andreu Botella
15ac9f4533
feat: Context slots (#937) 2022-05-19 23:24:58 +02:00
Bert Belder
356a07c8f6
chore: upgrade Rust crates (#972) 2022-05-18 12:06:19 +02:00
Bert Belder
8b36e84060
test: make the 'heap_limits' test run a lot faster (#972) 2022-05-18 12:06:12 +02:00
Bert Belder
2f189e1668
Upgrade V8 to 10.3.174.3 (#969) 2022-05-18 10:53:34 +02:00
Divy Srivastava
740f751408
Set v8::Promise internal field count to 1 (#967) 2022-05-15 17:40:44 +05:30
Divy Srivastava
9d0c3e4603
ci: use xxl windows runners (#966) 2022-05-14 15:26:53 +05:30
Divy Srivastava
86c8eb4ec2
v0.42.1 2022-05-13 22:26:13 +05:30
Divy Srivastava
afc2dc4596
chore: Upgrade Rust to 1.60.0 (#965) 2022-05-13 20:15:54 +05:30
Timo
242e4cf97f
Fix misuse of MaybeUninit and avoid refs to uninit memory (#954) 2022-05-11 02:22:10 +02:00
Ryan Dahl
f36d8dae7f
print gn args --list (#962) 2022-05-09 16:44:34 -04:00
Spencer
0cd8ae6f16
feat: add FunctionTemplate::instance_template binding (#952) 2022-05-09 19:43:33 +02:00
Andreu Botella
1ed35fd22e
feat: Weak handles and finalizers (#895)
This change adds support for weak handles that don't prevent GC of the
referenced objects, through the `v8::Weak<T>` API. A weak handle can
be empty (if it was created empty or its object was GC'd) or
non-empty, and if non-empty it allows getting its object as a global
or local.

When creating a `v8::Weak` you can also set a finalizer that will be
called at some point after the object is GC'd, as long as the weak
handle is still alive at that point. This finalization corresponds to
the second-pass callback in `kParameter` mode in the C++ API, so it
will only be called after the object is GC'd. The finalizer function
is a `FnOnce` that may close over data, and which takes a
`&mut Isolate` as an argument.

The C++ finalization API doesn't guarantee _when_ or even _if_ the
finalizer will ever be called, but in order to prevent memory leaks,
the rusty_v8 wrapper ensures that it will be called at some point,
even if it's just before the isolate gets dropped.

`v8::Weak<T>` implements `Clone`, but a finalizer is tied to a single
weak handle, so its clones won't be able to keep the finalizer alive.
And in fact, cloning will create a new weak handle that isn't tied to
a finalizer at all. `v8::Weak::clone_with_finalizer` can be used to
make a clone of a weak handle which has a finalizer tied to it.

Note that `v8::Weak<T>` doesn't implement `Hash`, because the hash
would have to change once the handle's object is GC'd, which is a big
gotcha and would break some of the algorithms that rely on hashes,
such as the Rust std's `HashMap`.
2022-05-09 12:20:55 +02:00
Ryan Dahl
ebb10e5368
refactor: small build.rs clean ups (#961) 2022-05-07 13:47:17 -04:00
Luca Casonato
2dcced58d1
feat: add WasmModuleObject::compile bindings (#960)
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-05-07 18:02:39 +02:00
legendecas
196145abf1
feat: add binding for Context::SetPromiseHooks (#938) 2022-05-05 18:31:29 +02:00
Aaron O'Mullan
64ce32392a
fix(build): avoid redownloads (#956)
Fixes #955
2022-05-02 09:14:24 +02:00
Ryan Dahl
9b2d8c68ad
v0.42.0 2022-04-20 16:12:38 -04:00
Aaron O'Mullan
7772779210
feat: v8::ArrayBuffer::new_backing_store_from_vec (#946)
So we can avoid `.into_boxed_slice()` calls which may require a (costly) memmove when instantiating from a Vec
2022-04-20 19:36:10 +02:00
Bert Belder
7a5d1cd10c
Rolling to V8 10.0.139.17 (#944)
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2022-04-20 11:52:46 -04:00
DjDeveloper
aa9f78e09c
feat: ArrayBuffer::new_backing_store_from_ptr (#926) 2022-04-05 15:55:25 +02:00
Eliaz Bobadilla
b01e9de8c1
chore: bump actions/checkout (#928)
https://github.com/actions/checkout\#checkout-v3
2022-03-30 22:24:54 +05:30
github-actions[bot]
4256f960d5
Rolling to V8 10.0.139.7 (#930) 2022-03-25 16:40:25 +01:00
Bert Belder
48cc6cb791
Sync V8 heap object type hierarchy with C++ (#929) 2022-03-25 03:15:30 +01:00
Bert Belder
25dd770570
perf: avoid double boxing of Arc/Box/Rc in Isolate slot (#925) 2022-03-21 11:50:45 +01:00
Arthur Silva
43893f726d
Add crate feature that controls whether custom libcxx is used (#924)
The `use_custom_libcxx` feature is enabled by default. When this feature
is disabled, the crate will link with the system libcxx instead.
2022-03-16 16:20:09 +01:00
Luca Casonato
0c43be27a1
Ignore more unnecessary ICU data (#923) 2022-03-11 13:39:35 +01:00
Luca Casonato
0e3f9c574a
v0.41.0 2022-03-10 23:54:15 +01:00
Aaron O'Mullan
aaacaa292f
feat: raw APIs to build v8::Functions from ptrs (#917)
Unblocks https://github.com/denoland/deno/pull/13861

The MapFnTo trait is quite contrived and can't be turned into a trait object thus blocking declarative ops
2022-03-10 23:04:48 +01:00
Ryan Dahl
184467a9cc
Upgrade to ICU 70 (#919) 2022-03-10 09:27:22 -08:00
Luca Casonato
15bf751387
chore: track v8 10.0 (#914) 2022-03-09 14:42:04 +01:00
github-actions[bot]
b91d363d2f
Rolling to V8 10.0.139.6 (#915)
Co-authored-by: Luca Casonato <hello@lcas.dev>
2022-03-09 14:41:46 +01:00
github-actions[bot]
482bf615e3
Rolling to V8 9.9.115.9 (#913) 2022-03-08 11:44:18 +01:00
Divy Srivastava
2d01b02591
v0.40.2 2022-03-03 08:28:08 +05:30
github-actions[bot]
9b7780da1d
Rolling to V8 9.9.115.8 (#907) 2022-03-02 17:16:07 -08:00
Divy Srivastava
6b0dcdb440
chore: upgrade Rust to 1.59.0 (#909) 2022-03-02 17:30:58 +05:30
Divy Srivastava
90f2f79c42
Add ObjectTemplate::set_accessor_property (#908) 2022-03-02 15:40:54 +05:30
Bert Belder
0ce68a675f
fix: Global::from_raw() should not create a new Global (#906) 2022-02-24 18:15:54 -08:00
Divy Srivastava
07bd917803
v0.40.1 2022-02-23 13:13:03 +05:30
Romain Marcadier
2404d208f5
feat: add bindings for String::kMaxLength and TypedArray::kMaxLength (#904) 2022-02-22 21:23:28 -08:00
Divy Srivastava
fe447c88df
feat: support adding raw pointers to ExternalReferences (#901) 2022-02-18 16:08:54 -08:00
Bartek Iwańczuk
da7ef32ead
feat: v8::Global::from_raw, v8::Global::into_raw (#902)
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2022-02-18 01:26:00 +01:00
Luca Casonato
4c0ee77600
v0.40.0 2022-02-16 11:57:00 +01:00
Divy Srivastava
41003d097d
Add v8::FunctionCallbackInfo::NewTarget bindings (#898) 2022-02-11 20:51:13 +05:30