Skip to content

Commit d419c70

Browse files
committed
Write barrier API change
Upstream PR: mmtk/mmtk-core#1130
1 parent 309a6ae commit d419c70

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

mmtk/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mmtk/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ lazy_static = "1.1"
3131
# - change branch
3232
# - change repo name
3333
# But other changes including adding/removing whitespaces in commented lines may break the CI
34-
mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev="a02803b4104519ff2289234101a2dd8ceedd1bc7" }
34+
mmtk = { git = "https://github.com/wks/mmtk-core.git", rev = "cc008e6e27627cafc30f81a3ffc19b984a1f88a7" }
3535
# Uncomment the following to build locally
3636
# mmtk = { path = "../repos/mmtk-core" }
3737
log = {version = "0.4", features = ["max_level_trace", "release_max_level_off"] }

mmtk/src/api.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use libc::c_char;
1212
use log::*;
1313
use mmtk::memory_manager;
1414
use mmtk::scheduler::GCWorker;
15+
use mmtk::util::api_util::NullableObjectReference;
1516
use mmtk::util::opaque_pointer::*;
1617
use mmtk::util::{Address, ObjectReference, OpaquePointer};
1718
use mmtk::AllocationSemantics;
@@ -395,7 +396,7 @@ fn set_side_log_bit_for_region(start: Address, size: usize) {
395396
pub extern "C" fn mmtk_object_reference_write_post(
396397
mutator: *mut Mutator<JuliaVM>,
397398
src: ObjectReference,
398-
target: ObjectReference,
399+
target: NullableObjectReference,
399400
) {
400401
let mutator = unsafe { &mut *mutator };
401402
memory_manager::object_reference_write_post(
@@ -404,23 +405,23 @@ pub extern "C" fn mmtk_object_reference_write_post(
404405
crate::edges::JuliaVMEdge::Simple(mmtk::vm::edge_shape::SimpleEdge::from_address(
405406
Address::ZERO,
406407
)),
407-
target,
408+
target.into(),
408409
)
409410
}
410411

411412
#[no_mangle]
412413
pub extern "C" fn mmtk_object_reference_write_slow(
413414
mutator: &'static mut Mutator<JuliaVM>,
414415
src: ObjectReference,
415-
target: ObjectReference,
416+
target: NullableObjectReference,
416417
) {
417418
use mmtk::MutatorContext;
418419
mutator.barrier().object_reference_write_slow(
419420
src,
420421
crate::edges::JuliaVMEdge::Simple(mmtk::vm::edge_shape::SimpleEdge::from_address(
421422
Address::ZERO,
422423
)),
423-
target,
424+
target.into(),
424425
);
425426
}
426427

0 commit comments

Comments
 (0)