< prev index next > src/hotspot/cpu/zero/stubGenerator_zero.cpp
Print this page
StubRoutines::_oop_disjoint_arraycopy;
StubRoutines::_arrayof_oop_arraycopy =
StubRoutines::_oop_arraycopy;
}
+ void generate_preuniverse_stubs() {
+ StubRoutines::_fence_entry = ShouldNotCallThisStub();
+ StubRoutines::_atomic_xchg_entry = ShouldNotCallThisStub();
+ StubRoutines::_atomic_cmpxchg_entry = ShouldNotCallThisStub();
+ StubRoutines::_atomic_cmpxchg_long_entry = ShouldNotCallThisStub();
+ StubRoutines::_atomic_add_entry = ShouldNotCallThisStub();
+ }
+
void generate_initial_stubs() {
// entry points that exist in all platforms Note: This is code
// that could be shared among different platforms - however the
// benefit seems to be smaller than the disadvantage of having a
// much more complicated generator structure. See also comment in
// stubRoutines.hpp.
StubRoutines::_forward_exception_entry = ShouldNotCallThisStub();
StubRoutines::_call_stub_entry = (address) call_stub;
StubRoutines::_catch_exception_entry = ShouldNotCallThisStub();
-
- // atomic calls
- StubRoutines::_atomic_xchg_entry = ShouldNotCallThisStub();
- StubRoutines::_atomic_cmpxchg_entry = ShouldNotCallThisStub();
- StubRoutines::_atomic_cmpxchg_long_entry = ShouldNotCallThisStub();
- StubRoutines::_atomic_add_entry = ShouldNotCallThisStub();
- StubRoutines::_fence_entry = ShouldNotCallThisStub();
}
void generate_continuation_stubs() {
// do nothing
}
}
public:
StubGenerator(CodeBuffer* code, StubGenBlobId blob_id) : StubCodeGenerator(code, blob_id) {
switch(blob_id) {
+ case preuniverse_id:
+ generate_preuniverse_stubs();
+ break;
case initial_id:
generate_initial_stubs();
break;
case continuation_id:
generate_continuation_stubs();
< prev index next >