Andreu Botella
aac37a6d4f
refactor: Have BackingStore::data
return Option<NonNull<c_void>>
( #817 )
...
The pointer returned by `BackingStore::data` might be null if the
backing store has zero length, but the return type `*mut c_void` does
not force the user to consider this case. This change makes the return
type `Option<NonNull<c_void>>`, which is semantically equivalent, but
which forces users of the API to handle the `None` case.
This is a breaking API change.
2021-11-17 12:14:03 +01:00
Rafael Ávila de Espíndola
a043407ae8
Make lifetime in FunctionCallback
signature more restrictive ( #822 )
...
This makes the callbacks themselves less restrictive. A test is added
the would fail to compile before.
2021-11-08 12:51:53 -08:00
Luca Casonato
5ee0a375f2
chore: rename rusty_v8 to v8 ( #803 )
2021-10-27 14:32:12 +02:00
Andreu Botella
2a21f5abf9
fix: Make derefing a zero-size BackingStore
no longer UB ( #809 )
...
For zero-size `BackingStore`s, it seems like `BackingStore::data` always
returns a null pointer. The `Deref` impl for `BackingStore` called
`std::slice::from_raw_parts` on that pointer, even though it is UB to
call that function on a null pointer even for empty slices. This change
fixes that by obtaining a valid pointer from `NonNull::dangling()` if
the original is null.
Reported in
https://github.com/denoland/rusty_v8/issues/711#issuecomment-950637136 .
2021-10-25 22:40:14 +02:00
Bert Belder
d478c450dd
Rename Handle::get() to Handle::open() instead ( #806 )
...
This also adds a deprecated `Global::get()` method to avoid unnecessarily
breaking a lot of users code.
Ref: #799
2021-10-13 21:45:10 +02:00
Rafael Ávila de Espíndola
8285b3da34
Rename Handle::get() to Handle::inner() ( #799 )
2021-10-13 16:47:34 +02:00
Aaron O'Mullan
6ccf15c69d
feat: Function::get/set_name() ( #792 )
...
Add bindings for v8::Function::GetName() and v8::Function::SetName()
2021-10-01 22:38:05 +02:00
Andreu Botella
b32d0b0540
feat: WasmStreaming::set_url
, CompiledWasmModule::source_url
( #786 )
...
Needed for denoland/deno#12151
2021-09-22 14:34:39 -04:00
Ben Noordhuis
09347d32c8
Throw DataCloneError if SAB cannot be cloned ( #781 )
...
Best case, it produces serialized output that cannot be deserialized.
Worst case, it hits this assert in V8:
# Fatal error in v8::FromJust
# Maybe value is Nothing.
2021-09-18 15:21:04 +02:00
Andreu Botella
babe41a990
feat: Add v8::CompiledWasmModule
( #776 )
...
`v8::CompiledWasmModule` is a representation of a compiled WebAssembly
module, which can be shared by multiple `v8::WasmModuleObject`s.
Closes #759 .
2021-09-17 12:02:40 -04:00
Yusuke Tanaka
674f44449f
chore: upgrade Rust to 1.55.0 ( #770 )
2021-09-10 12:32:29 +02:00
Rami Sabbagh
16708359bc
feat: Implement Isolate::remove_slot ( #769 )
2021-09-09 00:41:50 +02:00
Ben Noordhuis
cb07d4f914
feat: implement counter_lookup_callback ( #756 )
2021-08-19 14:05:48 +02:00
Bartek Iwańczuk
c525555e42
feat: add V8InspectorSession::can_dispatch_method ( #746 )
2021-08-09 15:53:30 +02:00
Ben Noordhuis
24bef1e54b
chore: test String object serialization ( #747 )
...
Serializing `new String("")` requires that the wire format header is
written, otherwise V8 assumes an incompatible legacy wire format when
deserializing.
2021-08-07 23:33:53 +02:00
Ben Noordhuis
b56902c306
fix: remove race in terminate_execution test ( #736 )
...
The test started a new thread that slept for a bit, then terminated the
isolate, assuming that the delay was long enough for the isolate and the
context to get fully initialized. It wasn't.
Fixes #710 .
2021-07-11 22:32:34 +02:00
Bartek Iwańczuk
45006fb7e7
Add Isolate::has_pending_background_tasks ( #724 )
2021-07-02 20:17:48 +02:00
Tim Ramlot
14bcf04bef
Add support for Platform::pump_message_loop and Platform::run_idle_tasks ( #706 )
...
Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
2021-07-01 16:05:07 +02:00
Jomer
89c8ae8af3
feat: add various FunctionTemplate methods ( #718 )
...
This commit adds the following methods:
* `FunctionTemplate::inherit()`
* `FunctionTemplate::prototype_template()`
* `FunctionTemplate::read_only_prototype()`
* `FunctionTemplate::remove_prototype()`
2021-06-30 16:55:14 +02:00
Luca Casonato
cfa5d7060f
fix: pass serializer helpers as mut refs ( #712 )
...
They are only useful in read_host_object and write_host_object if
the helpers are available as a mut ref.
2021-06-24 15:59:03 +02:00
Andreu Botella
dfd5842913
Add missing methods for one- and two-byte strings ( #704 )
...
Fixes #703 .
2021-06-22 14:11:38 +02:00
Yusuke Tanaka
f85508868e
chore: upgrade Rust to 1.53.0 ( #705 )
2021-06-18 11:35:53 -04:00
Ryan Dahl
fca78fb0c1
Rename set_common_data to set_common_data_69 ( #702 )
2021-06-18 06:55:38 -04:00
Matthew McAllister
6d25d19b4c
Add ObjectTemplate::set_accessor{_with_setter}
( #687 )
2021-05-11 16:40:53 +02:00
Ben Noordhuis
92ea90bdbf
Add ScriptCompiler::compile_function_in_context() ( #670 )
2021-04-27 20:32:40 +02:00
Ben Noordhuis
efa6c71b10
Add Signature::new() ( #666 )
...
Refs #478 .
2021-04-20 12:48:20 +02:00
Ben Noordhuis
03e74c6f1b
Add new_single_threaded_default_platform() ( #659 )
...
This is a v8::Platform implementation that doesn't spawn additional
threads. Useful in combination with the --single_threaded flag.
2021-04-12 21:40:52 +02:00
Bert Belder
de9a7e2698
String::new_external_onebyte_static() should take &[u8]
instead of &str
( #658 )
2021-04-09 19:49:55 +02:00
Ryan Dahl
d78cc3df87
Upgrade V8 to 9.1.246 ( #655 )
2021-04-03 09:46:38 -04:00
Ryan Dahl
d520fe85bd
Add String::new_from_one_byte ( #654 )
2021-04-02 16:23:05 -04:00
Ben Noordhuis
7d514ae4cb
Add ArrayBuffer::detach() and is_detachable() ( #648 )
...
Fixes #646 .
2021-03-16 23:35:27 +01:00
Ben Noordhuis
25608cc000
build: upgrade Rust to 1.50.0 ( #645 )
2021-03-16 21:05:14 +01:00
Aaron O'Mullan
f2766ed1af
Support for external v8 strings ( #641 )
2021-03-07 10:21:59 -05:00
Heyang Zhou
a6d36d1193
Add more ScriptCompiler APIs ( #638 )
2021-03-07 08:05:50 -05:00
Heyang Zhou
be89cfc131
Add code cache API ( #635 )
2021-03-05 05:26:37 -05:00
Kohei Ueno
dcca57b986
chore: add tests for return values of a function ( #634 )
2021-02-25 10:18:06 -05:00
Bartek Iwańczuk
8551c62511
Add Module::source_offset_to_location, deprecate old APIs ( #624 )
2021-02-15 12:08:39 +01:00
Bartek Iwańczuk
ec54f28bfd
feat: Add ModuleRequest ( #623 )
2021-02-14 19:49:37 +01:00
Ryan Dahl
50a15085f7
update copyrights to 2021 ( #620 )
2021-02-13 07:31:18 -05:00
Ryan Dahl
753b92fd96
ICU data must be 16-bit aligned ( #617 )
2021-02-12 05:45:02 -05:00
Ben Noordhuis
5dc6117dd7
Fix ValueDeserializer::read_value() lifetime ( #609 )
...
The return value should have the lifetime of the context, not the
deserializer.
Fixes #607 .
2021-02-10 07:27:27 +01:00
Ryan Dahl
d60489c395
Support ICU ( #603 )
...
Co-authored-by: Kunihiro Ishiguro <kunihiro@zebra.dev>
2021-02-09 09:17:02 -05:00
Ben Noordhuis
64aa11e34d
Add Isolate::set_prepare_stack_trace_callback() ( #594 )
...
Refs: https://github.com/denoland/deno/issues/7644
2021-02-08 13:11:48 +01:00
Bartek Iwańczuk
d6be279a06
Add support for import assertions ( #598 )
...
This commit adds support for import assertions.
Major changes include:
- removal of "ResolveCallback" (deprecated in V8)
in favor of "ModuleResolveCallback"
- removal of "HostImportModuleDynamicallyCallback" (deprecated in V8)
in favor of "HostImportModuleDynamicallyWithImportAssertionsCallback"
2021-02-05 00:22:26 +01:00
Ben Noordhuis
30ad399f9b
Add V8InspectorClientImpl::generate_unique_id() ( #590 )
2021-01-21 10:06:34 +01:00
Ben Noordhuis
0d093a02f6
Upgrade V8 to 8.9.255.3 ( #567 )
...
This floats https://chromium-review.googlesource.com/c/v8/v8/+/2608209
because it just missed the merge window for 8.9.
2021-01-18 21:46:44 +01:00
Heyang Zhou
bcbe7e9348
Support setting OOM callback on Isolate
( #585 )
2021-01-16 10:30:38 +01:00
Heyang Zhou
3fd7cae994
Expose ArrayBuffer::Allocator interface ( #578 )
2021-01-14 23:29:06 +01:00
Ben Noordhuis
5cb14847aa
Expose v8::WriteOptions ( #583 )
...
Without it, v8::String::write_utf8() is pretty much unusable.
2021-01-13 00:49:59 +01:00
Heyang Zhou
584a037800
Add Script::get_unbound_script() and UnboundScript::bind_to_current_context() ( #572 )
2021-01-11 19:39:51 -08:00