gc/javaxfc.h@3:0c3bcea5b4d0, 2012-03-05 (annotated)
- Committer:
- sca8er
- Date:
- Mon Mar 05 04:56:58 2012 +0000
- Revision:
- 3:0c3bcea5b4d0
- Parent:
- 1:75777c91f4d4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sca8er | 1:75777c91f4d4 | 1 | # ifndef GC_H |
sca8er | 1:75777c91f4d4 | 2 | # include "gc.h" |
sca8er | 1:75777c91f4d4 | 3 | # endif |
sca8er | 1:75777c91f4d4 | 4 | |
sca8er | 1:75777c91f4d4 | 5 | /* |
sca8er | 1:75777c91f4d4 | 6 | * Invoke all remaining finalizers that haven't yet been run. |
sca8er | 1:75777c91f4d4 | 7 | * This is needed for strict compliance with the Java standard, |
sca8er | 1:75777c91f4d4 | 8 | * which can make the runtime guarantee that all finalizers are run. |
sca8er | 1:75777c91f4d4 | 9 | * This is problematic for several reasons: |
sca8er | 1:75777c91f4d4 | 10 | * 1) It means that finalizers, and all methods calle by them, |
sca8er | 1:75777c91f4d4 | 11 | * must be prepared to deal with objects that have been finalized in |
sca8er | 1:75777c91f4d4 | 12 | * spite of the fact that they are still referenced by statically |
sca8er | 1:75777c91f4d4 | 13 | * allocated pointer variables. |
sca8er | 1:75777c91f4d4 | 14 | * 1) It may mean that we get stuck in an infinite loop running |
sca8er | 1:75777c91f4d4 | 15 | * finalizers which create new finalizable objects, though that's |
sca8er | 1:75777c91f4d4 | 16 | * probably unlikely. |
sca8er | 1:75777c91f4d4 | 17 | * Thus this is not recommended for general use. |
sca8er | 1:75777c91f4d4 | 18 | */ |
sca8er | 1:75777c91f4d4 | 19 | void GC_finalize_all(); |
sca8er | 1:75777c91f4d4 | 20 | |
sca8er | 1:75777c91f4d4 | 21 |