ObjectSlots

The layout of object slots for my instances.

Entries

Link copied to clipboard

The current state of execution of the fiber. This is a continuation, or nil while the fiber is running or completed.

Link copied to clipboard

The A_Function that suspended this fiber, or nil if it's not suspended.

Link copied to clipboard

The result type of this fiber's type.

Link copied to clipboard

A map from atoms to values. Each fiber has its own unique such map, which allows processes to record fiber-specific values. The atom identities ensure modularity and non-interference of these keys.

Link copied to clipboard

A map from atoms to heritable values. When a fiber forks a new fiber, the new fiber inherits this map. The atom identities ensure modularity and non-interference of these keys.

Link copied to clipboard

The result of having running this fiber to completion. Always nil if the fiber has not yet completed.

Link copied to clipboard

Not yet implemented. This will be a function that should be invoked after the fiber executes each nybblecode. Using nil here means run without this special single-stepping mode enabled.

Link copied to clipboard

A set of fibers waiting to join the current fiber. That is, these are fibers that are waiting for this fiber to end its execution, in either success or failure.

Properties

Link copied to clipboard

In Java it was possible to define this interface in such a way that the name method was abstract and implemented by each specific Enum, but Kotlin breaks this mechanism. BUT – we're able to cast this to Enum to get to that field. I believe this code gets copied down into each specific Enum subclass, so the dynamic type check for the cast is trivially eliminated in each case. And worst case, Hotspot will be able to inline calls to this from sites that are known to be Enums.

Link copied to clipboard

In Java it was possible to define this interface in such a way that the ordinal() method was abstract and implemented by each specific Enum, but Kotlin breaks this mechanism. BUT – we're able to cast this to Enum to get to that field. I believe this code gets copied down into each specific Enum subclass, so the dynamic type check for the cast is trivially eliminated in each case. And worst case, Hotspot will be able to inline calls to this from sites that are known to be Enums.

Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Link copied to clipboard

Returns an array containing the constants of this enum type, in the order they're declared.