• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1' Copyright (c) 2021-2022 Huawei Device Co., Ltd.
2' Licensed under the Apache License, Version 2.0 (the "License");
3' you may not use this file except in compliance with the License.
4' You may obtain a copy of the License at
5'
6' http://www.apache.org/licenses/LICENSE-2.0
7'
8' Unless required by applicable law or agreed to in writing, software
9' distributed under the License is distributed on an "AS IS" BASIS,
10' WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11' See the License for the specific language governing permissions and
12' limitations under the License.
13
14@startuml
15
16skinparam monochrome true
17title Generational GC
18[*] -> PreForkInit
19PreForkInit -> NormalExecution : forked
20NormalExecution -> STWState
21STWState --> NormalExecution
22NormalExecution -> [*]
23
24state NormalExecution {
25    [*] -> CodeExecution1
26    --
27    [*] -> CodeExecutionN
28    --
29    state "GCThread in concurrent mode" as GCConcurrent
30    [*] -> GCConcurrent
31    --
32    [*] -> CompilerThread
33}
34
35state STWState {
36    [*] -> CodeExecution1Paused
37    --
38    [*] -> CodeExecutionNPaused
39    --
40    state "GCThread in STW mode" as GCSTW
41    [*] -> GCSTW
42    --
43    state "Compiler thread will be blocked at the Mutator Lock" as CompilerThreadWillBeBlocked
44    [*] -> CompilerThreadWillBeBlocked
45}
46
47@enduml
48