Skip to content

Document @LoadStatics Annotation - Value 4 #56

@LSantha

Description

@LSantha

@LoadStatics Annotation

Document the @LoadStatics Annotation JNode concept in the wiki.

Value: 4

Concept Summary

Annotation marking static fields that must be reloaded in Isolate context. @LoadStatics identifies fields that need special handling when switching between isolated execution contexts, ensuring proper static field isolation.

Key Files

  • core/src/vmmagic/org/jnode/annotation/LoadStatics.java

Occurrences

~30 annotations in codebase

Wiki Status

NOT documented

Bridges

Isolate, VM Magic, Static field management

Instructions

Skill to Use

Use the [[update-wiki|update-wiki skill]] (load with skill({ name: "update-wiki" })) for understanding JNode internals.

Context Research

Review LoadStatics.java to understand the annotation semantics and usage. Study how static fields are loaded and managed in isolates. Research the interaction between LoadStatics and IsolateThread.

Update index.md

  • Pages table: Add entry for LoadStatics-Annotation.md
  • Concepts → Pages table: Add "LoadStatics Annotation" mapping to [[LoadStatics-Annotation]]
  • Source Path → Pages table: Add mappings for core/src/vmmagic/org/jnode/annotation/LoadStatics.java
  • Task Routing table: Add relevant task route(s)

Wiki Page Structure

# @LoadStatics Annotation

> Annotation marking static fields that must be reloaded in Isolate context.

## Overview
2-3 paragraph explanation of the LoadStatics annotation, its purpose in the isolation system, and why certain static fields need special handling.

## Key Components
| Class / File | Role |
|---|---|
| `core/src/vmmagic/org/jnode/annotation/LoadStatics.java` | Annotation definition |

## How It Works
Explanation of how LoadStatics marks fields for reloading, how the VM handles these fields during isolate transitions, and the dual-statics mechanism.

## Gotchas & Non-Obvious Behavior
- Not all static fields need LoadStatics - only those accessed across isolate boundaries
- Performance overhead: Loading statics has a cost
- Field visibility vs. isolation: Balancing correct behavior with isolation

## Related Pages
- [[IsolateThread]]
- [[Isolate]]
- [[VM-Magic-Annotations]]

Related Concepts: Isolate, IsolateThread, VM Magic, Static fields, Process isolation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions