--- a/src/hotspot/share/gc/z/zDriver.hpp Tue Jan 29 10:23:38 2019 +0100
+++ b/src/hotspot/share/gc/z/zDriver.hpp Tue Jan 29 10:23:38 2019 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,18 +28,31 @@
#include "gc/shared/gcCause.hpp"
#include "gc/z/zMessagePort.hpp"
-class ZOperationClosure;
+class VM_ZOperation;
class ZDriver : public ConcurrentGCThread {
private:
ZMessagePort<GCCause::Cause> _gc_cycle_port;
ZRendezvousPort _gc_locker_port;
- bool vm_operation(ZOperationClosure* cl);
+ template <typename T> bool pause();
- GCCause::Cause start_gc_cycle();
- void run_gc_cycle(GCCause::Cause cause);
- void end_gc_cycle();
+ void pause_mark_start();
+ void concurrent_mark();
+ bool pause_mark_end();
+ void concurrent_mark_continue();
+ void concurrent_process_non_strong_references();
+ void concurrent_reset_relocation_set();
+ void concurrent_destroy_detached_pages();
+ void pause_verify();
+ void concurrent_select_relocation_set();
+ void concurrent_prepare_relocation_set();
+ void pause_relocate_start();
+ void concurrent_relocate();
+
+ void check_out_of_memory();
+
+ void gc(GCCause::Cause cause);
protected:
virtual void run_service();