Nathan Whitaker
5989346753
Allow ValueSerializerImpl
and ValueDeserializerImpl
impls to be re-entrant ( #1591 )
...
Currently, if you were to call (for instance) write_value as part of a custom write_host_object implementation, you would be forced to create aliased exclusive references to the serializer (which is instant UB).
The underlying v8 de/serializers are re-entrant, so for the most part we simply need to pass around shared references instead of exclusive references.
Also adds some bindings to some missing functions, and makes ValueSerializer (and deserializer) garbage collectable.
2024-08-28 12:44:40 -07:00
snek
48800f8216
disable pointer compression ( #1593 )
2024-08-27 17:52:27 -07:00
snek
9f9367eafa
feat: add InspectorClient::ensureDefaultContextInGroup ( #1590 )
2024-08-26 10:16:41 -07:00
denobot
3d29396d72
Rolling to V8 12.9.202.1 ( #1579 )
...
* Rolling to V8 12.9.202.1
* initial changes for 12.9
* CallbackScope for fast fns
* disable broken thing by default
* use windows 2022 runner
---------
Co-authored-by: snek <the@snek.dev>
2024-08-20 07:48:10 -07:00
snek
68b96d1cae
feat: expose v8 version constants ( #1569 )
2024-08-13 22:01:04 +00:00
snek
82301490d5
feat: add UseCounterCallback ( #1567 )
2024-08-13 19:19:27 +02:00
snek
70e18db2ff
update fast calls api ( #1564 )
2024-08-13 18:15:34 +02:00
snek
adf56a4f0f
feat: changes for vm ( #1557 )
2024-08-05 11:15:56 +02:00
Satya Rohith
93d18d3eb8
chore: upgrade to rust 1.80 ( #1553 )
2024-07-30 06:03:27 +00:00
snek
0a478a0b2a
chore: binding cleanup ( #1551 )
2024-07-26 13:37:39 -07:00
snek
d22c1f9a3c
feat: upgrade ScriptOrigin ( #1550 )
2024-07-25 22:32:11 +00:00
snek
97291d7290
Roll V8 to include new patches ( #1549 )
2024-07-25 20:34:26 +00:00
snek
d5da421046
feat: access with receiver ( #1542 )
2024-07-24 19:08:16 +00:00
snek
c9383c2184
fix: QueryCallback should use Integer ( #1545 )
2024-07-24 11:39:30 -07:00
snek
39631b31d6
feat: add String::ValueView ( #1543 )
2024-07-24 07:59:18 -07:00
snek
1e4b691905
feat: V8 12.8 ( #1539 )
2024-07-23 19:43:32 +00:00
Aapo Alasuutari
7b6451aed4
fix: ExternalOneByteStringResource is not guaranteed to be valid UTF-8 ( #1532 )
...
A subtle unsoundness / undefined behaviour made its way into the fairly recently added ExternalOneByteStringResource object: The as_str API is not sound as the data inside may be be Latin-1, not ASCII.
As the API was not used anywhere in deno or deno_core, I opted to simply remove it and replace it with an as_bytes API. I also modified the test to showcase the Latin-1 string case and added copious notes and explanations around the code to make sure this doesn't accidentally happen again. The likely reason why the API originally slipped in is because the OneByteConst has this API where it is safe because the OneByteConst creation checks the data for ASCII-ness.
I also tried to add an API to extract an Option<&'static OneByteConst> from an &ExternalOneByteStringResource but run into rust-lang/rust#119618 ie. OneByteConst is actually duplicating the vtables... which is not great.
2024-07-21 01:09:30 +02:00
Nathan Whitaker
6385bd6f32
chore: Add a couple convenience casting functions to v8::Local
( #1533 )
...
* Rename cast -> cast_unchecked
* Add cast helpers
* Change a couple tests to use it
* Add some small docs
* Fmt
* Add inline hint
* Address comments
2024-07-20 01:34:32 +00:00
snek
7107d4869e
rust 1.79.0 ( #1527 )
2024-07-12 09:30:31 -07:00
snek
815125e0b0
fix: put fslock around entire build process ( #1525 )
2024-07-11 10:00:13 -07:00
snek
57fb97a43b
feat: cppgc::Ptr ( #1523 )
2024-07-10 22:03:49 -07:00
Divy Srivastava
8820e5b4ee
Use &mut Isolate
in Object::wrap and Object::unwrap ( #1518 )
2024-07-06 19:22:45 -07:00
Bartek Iwańczuk
49b92c1e76
feat: Add Source Maps APIs ( #1514 )
...
This commit adds bindings for:
- v8::UnboundScript::get_source_mapping_url
- v8::UnboundScript::get_source_url
- v8::UnboundModuleScript::get_source_mapping_url
- v8::UnboundModuleScript::get_source_url
2024-07-04 22:13:11 +00:00
Nathan Whitaker
6bac39b579
Add non-static external onebyte string ( #1511 )
...
* Rename existing method
* Enable getting external onebyte resource + fix encoding
* Enable creating an external onebyte string that's freed by v8
* Add basic test
* Boxed str, fix as_str, doc comments
* Cleanup binding + fix adjust memory
* Use bindgen + raw api
* Rm unnecessary cast
* Rm unnecessary lines
* Revert "Use bindgen + raw api"
This reverts commit 8ea00476b6
.
* Add raw api, cleanup
* Fix unnecessary conversion
* Address comments
* Trying to retrigger CI
2024-06-28 15:39:23 -07:00
snek
e747f405a4
fix: remove use of deprecated apis ( #1488 )
2024-06-27 08:29:46 -07:00
snek
0b440db772
feat: rust bindgen and publish flow ( #1507 )
2024-06-27 02:49:06 +00:00
Divy Srivastava
a0dc5c1893
Add cppgc::InnerMember::get_mut ( #1505 )
2024-06-22 08:28:31 -07:00
denobot
4f03751d4a
Rolling to V8 12.7.224.1 ( #1502 )
...
* Rolling to V8 12.7.224.1
* fix eb0bb2596a
* idk
---------
Co-authored-by: snek <snek@deno.com>
2024-06-12 15:27:05 -07:00
Ryan Dahl
c3687bd565
chore: error on bad c++ formatting in ci ( #1499 )
2024-06-11 20:40:17 +05:30
Kedas
2bbc9053b5
Add v8::Template::set_intrinsic_data_property
( #1496 )
...
* feat: add `v8::Template::set_intrinsic_data_property`
* fix: use assert_eq instead of assert
* fix: cargo fmt
2024-06-10 10:40:14 -07:00
Divy Srivastava
ff92021910
Fix uninitialized context annex slot ( #1497 )
2024-06-10 20:55:09 +05:30
snek
2a8b117c93
feat: add DataView constructor ( #1491 )
2024-06-03 13:47:57 -07:00
liushuyu
3b4ecfdc6f
fix: fix size checking on 32-bit platforms ( #1489 )
...
fix size checking on 32-bit platforms on 32-bit platforms like armv7 or
ppc32, the size of `v8::ScriptCompiler::CompilationDetails` and
`v8::ScriptCompiler::Source` will be different than currently expected.
This is due to how those 32-bit platforms layout the 64-bit elements in
a structure.
2024-05-29 10:32:50 -04:00
Bartek Iwańczuk
cf3f19c512
chore: Update use of deprecated APIs ( #1481 )
...
This commit updates APIs related to named and indexed property
handlers to not use deprecated V8 APIs. Main change is the change
of return value in callbacks that now requires to return v8::Intercepted enum.
Towards #1478
2024-05-15 23:21:56 +00:00
Matt Mastracci
2686f237f8
fix: Re-enable pointer compression ( #1473 )
...
* fix: Re-enable pointer compression
* macos-13
* Add a tight loop test
* Better test
* Update tests/test_api.rs
2024-05-15 15:33:59 +00:00
denobot
d340cd7daf
Rolling to V8 12.6.228.3 ( #1466 )
...
* Rolling to V8 12.6.228.3
* [ci]
* -Wdeprecated-declarations
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-05-14 16:23:46 -06:00
Matt Mastracci
3324d5de6f
fix: don't pass refs to DELETE ( #1471 )
2024-05-03 17:07:20 -06:00
Matt Mastracci
44ea45d9cb
fix: add const as_str to OneByteConst and make empty slices sound ( #1453 )
2024-04-15 07:49:32 -06:00
Daniel Miller
cdeba6ac57
Refactored OwnedIsolate construction code in prep for lockers ( #1442 )
...
Pulled the isolate construction changes from the locker API to a separate PR.
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-13 08:08:18 -06:00
Aaron
f42a8e41e0
Add Drop impl for CFunctionInfo ( #1451 )
...
This deallocates the C++ allocation, preventing a memory leak
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-13 08:07:43 -06:00
Aaron
ab742578f6
Impl Drop for CTypeInfo ( #1452 )
...
This deallocates the C++ allocation, preventing a memory leak
2024-04-13 08:07:15 -06:00
Tom Ballinger
57c2338212
Add Isolate::date_time_configuration_change_notification
( #1446 )
...
* Add `Isolate::date_time_configuration_change_notification`
* write some C
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-12 23:45:46 +00:00
Matt Mastracci
2ce9b4ca09
chore: Allow Rust ASAN flags to propagate into v8 build ( #1449 )
2024-04-12 15:26:06 -06:00
Bartek Iwańczuk
943cbcb7c1
feat: Add v8::MicrotaskQueue::new() ( #1440 )
2024-03-16 04:00:57 +00:00
Bartek Iwańczuk
91bec8216a
fix: mispelling in C binding ( #1439 )
...
Fixing a mistake I made in #1428 .
Added some tests as well.
2024-03-16 03:32:28 +00:00
Bartek Iwańczuk
10d12a450e
feat: Add "v8::Object::get_real_named_property_*" methods ( #1428 )
2024-03-15 00:20:03 +01:00
Divy Srivastava
69bac645e0
Add v8::MicrotaskQueue
bindings ( #1423 )
2024-03-14 15:37:01 +00:00
Bartek Iwańczuk
b83067130f
feat: Add IndexedPropertyHandlerConfiguration::*_raw methods ( #1426 )
2024-03-13 15:59:39 +01:00
Igor Zinkovsky
2371c4534b
feat: pass source as mut ref to script_compiler::compile ( #1420 )
2024-03-12 16:55:29 -07:00
Divy Srivastava
bc5ac4d486
Add Isolate::add_message_listener_with_error_level
( #1424 )
2024-03-12 12:05:44 +00:00