Skip to content

Commit a1f0de2

Browse files
committed
Update mmtk-core, cargo fmt
1 parent d3f2176 commit a1f0de2

File tree

6 files changed

+18
-19
lines changed

6 files changed

+18
-19
lines changed

mmtk/Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,15 @@ openjdk_version = "67d5d2b16aacb2ea948552fab2323ebd0abbe924"
2020
[dependencies]
2121
libc = "0.2"
2222
lazy_static = "1.1"
23-
log = {version = "0.4", features = ["max_level_trace", "release_max_level_off"] }
2423
# Be very careful to commit any changes to the following mmtk dependency, as our CI scripts (including mmtk-core CI)
2524
# rely on matching these lines to modify them: e.g. comment out the git dependency and use the local path.
2625
# These changes are safe:
2726
# - change branch
2827
# - change repo name
2928
# But other changes including adding/removing whitespaces in commented lines may break the CI.
30-
# mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev = "dbd152b29ff54c3f028318e73ac182d681deda9a" }
29+
mmtk = { git = "https://github.com/mmtk/mmtk-core.git", rev = "63e1fdace31caf8494c612f56e0aced7af7eb644" }
3130
# Uncomment the following to build locally
32-
mmtk = { path = "/home/yilin/Code/mmtk-core" }
31+
# mmtk = { path = "../repos/mmtk-core" }
3332

3433
[features]
3534
default = []

mmtk/src/abi.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,12 @@ pub struct InstanceKlass {
151151
#[derive(Copy, Clone, Debug)]
152152
#[allow(dead_code)]
153153
pub enum ReferenceType {
154-
None, // Regular class
155-
Other, // Subclass of java/lang/ref/Reference, but not subclass of one of the classes below
156-
Soft, // Subclass of java/lang/ref/SoftReference
157-
Weak, // Subclass of java/lang/ref/WeakReference
158-
Final, // Subclass of java/lang/ref/FinalReference
159-
Phantom // Subclass of java/lang/ref/PhantomReference
154+
None, // Regular class
155+
Other, // Subclass of java/lang/ref/Reference, but not subclass of one of the classes below
156+
Soft, // Subclass of java/lang/ref/SoftReference
157+
Weak, // Subclass of java/lang/ref/WeakReference
158+
Final, // Subclass of java/lang/ref/FinalReference
159+
Phantom, // Subclass of java/lang/ref/PhantomReference
160160
}
161161

162162
impl InstanceKlass {

mmtk/src/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ extern crate libc;
99
extern crate mmtk;
1010
#[macro_use]
1111
extern crate lazy_static;
12-
#[macro_use]
13-
extern crate log;
1412

1513
use std::ptr::null_mut;
1614

mmtk/src/object_scanning.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,18 +111,22 @@ impl OopIterate for TypeArrayKlass {
111111
impl OopIterate for InstanceRefKlass {
112112
#[inline]
113113
fn oop_iterate(&self, oop: Oop, closure: &mut impl TransitiveClosure) {
114-
use crate::api::{add_weak_candidate, add_soft_candidate, add_phantom_candidate};
115114
use crate::abi::*;
115+
use crate::api::{add_phantom_candidate, add_soft_candidate, add_weak_candidate};
116116
self.instance_klass.oop_iterate(oop, closure);
117117

118118
let reference = ObjectReference::from(oop);
119119
let referent = unsafe { Self::referent_address(oop).load::<ObjectReference>() };
120120
match self.instance_klass.reference_type {
121-
ReferenceType::None => panic!("oop_iterate on InstanceRefKlass with reference_type as None"),
121+
ReferenceType::None => {
122+
panic!("oop_iterate on InstanceRefKlass with reference_type as None")
123+
}
122124
ReferenceType::Weak => add_weak_candidate(reference, referent),
123125
ReferenceType::Soft => add_soft_candidate(reference, referent),
124126
ReferenceType::Phantom => add_phantom_candidate(reference, referent),
125-
_ => {
127+
// Process these two types normally (as if they are strong refs)
128+
// We will handle final reference later
129+
ReferenceType::Final | ReferenceType::Other => {
126130
let referent_addr = Self::referent_address(oop);
127131
closure.process_edge(referent_addr);
128132
let discovered_addr = Self::discovered_address(oop);

mmtk/src/reference_glue.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
use crate::OpenJDK;
21
use crate::abi::{InstanceRefKlass, Oop};
3-
use mmtk::util::opaque_pointer::VMWorkerThread;
2+
use crate::OpenJDK;
3+
use crate::UPCALLS;
44
use mmtk::util::ObjectReference;
55
use mmtk::vm::ReferenceGlue;
6-
use mmtk::scheduler::ProcessEdgesWork;
7-
use crate::UPCALLS;
86

97
pub struct VMReferenceGlue {}
108

openjdk/mmtkUpcalls.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ static void mmtk_prepare_for_roots_re_scanning() {
320320
}
321321

322322
static void mmtk_enqueue_reference(void* object) {
323-
printf("enqueue object: %p\n", object);
323+
// printf("enqueue object: %p\n", object);
324324
MutexLocker x(Heap_lock);
325325
oop reff = (oop) object;
326326
oop old = Universe::swap_reference_pending_list(reff);

0 commit comments

Comments
 (0)