Utilities

Overview

Helper classes for the compiler.

Location

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

Utilities()

 

init()

 

Utilities()

AbstractCall

Used in the VMT of abstract methods; this should never trigger.

 

class method AbstractCall

 

static void AbstractCall()

 

static func AbstractCall()

 

static void AbstractCall()

CalcHash

calculate the hash of a byte buffer; used by the String type.

 

class method CalcHash(buf: ^void; len: Int32): Int32

 

static Int32 CalcHash(void* buf, Int32 len)

 

static func CalcHash(_ buf: UnsafeMutablePointer<void>, _ len: Int32) -> Int32

 

static Int32 CalcHash(void* buf, Int32 len)

Parameters:

  • buf:
  • len:

CreateDivideByZeroException

Creates a divide by zero exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateDivideByZeroException: Exception

 

static Exception CreateDivideByZeroException()

 

static func CreateDivideByZeroException() -> Exception

 

static Exception CreateDivideByZeroException()

CreateIndexOutOfRangeException

Creates an index out of range exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateIndexOutOfRangeException(aIndex: NativeUInt; aMax: NativeUInt): Exception

 

static Exception CreateIndexOutOfRangeException(NativeUInt aIndex, NativeUInt aMax)

 

static func CreateIndexOutOfRangeException(_ aIndex: NativeUInt, _ aMax: NativeUInt) -> Exception

 

static Exception CreateIndexOutOfRangeException(NativeUInt aIndex, NativeUInt aMax)

Parameters:

  • aIndex:
  • aMax:

CreateInvalidCastException

Creates an invalid cast exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateInvalidCastException: Exception

 

static Exception CreateInvalidCastException()

 

static func CreateInvalidCastException() -> Exception

 

static Exception CreateInvalidCastException()

CreateNullReferenceException

Creates a null reference exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateNullReferenceException: Exception

 

static Exception CreateNullReferenceException()

 

static func CreateNullReferenceException() -> Exception

 

static Exception CreateNullReferenceException()

CreateNullReferenceExceptionEx

Creates a null reference exception with information on what was null and returns it. Used by the compiler to trigger this exception.

 

class method CreateNullReferenceExceptionEx(s: String): Exception

 

static Exception CreateNullReferenceExceptionEx(String s)

 

static func CreateNullReferenceExceptionEx(_ s: String) -> Exception

 

static Exception CreateNullReferenceExceptionEx(String s)

Parameters:

  • s:

DebugInvoke

Used by the debugger to safely evaluate code. On Win64 and Linux/Darwin injected code can't have exception tables. This method ensures the exception is caught and properly passed to the right place.

 

class method DebugInvoke(data: ^void; invk: DebugInvokeCallback; ex: DebugExceptionCallback)

 

static void DebugInvoke(void* data, DebugInvokeCallback invk, DebugExceptionCallback ex)

 

static func DebugInvoke(_ data: UnsafeMutablePointer<void>, _ invk: DebugInvokeCallback, _ ex: DebugExceptionCallback)

 

static void DebugInvoke(void* data, DebugInvokeCallback invk, DebugExceptionCallback ex)

Parameters:

  • data:
  • invk:
  • ex:

Equals  virtual    (declared in Object)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

FinalizerIndex

Contains the index of the finalizer in the VMT, based on the size of pointers.

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
const FinalizerIndex: Int32 = 6;
// Android-x86, Windows-i386
const FinalizerIndex: Int32 = 8;

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
const Int32 FinalizerIndex = 6
// Android-x86, Windows-i386
const Int32 FinalizerIndex = 8

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
static let FinalizerIndex: Int32 = 6
// Android-x86, Windows-i386
static let FinalizerIndex: Int32 = 8

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
static final Int32 FinalizerIndex = 6
// Android-x86, Windows-i386
static final Int32 FinalizerIndex = 8

GetCocoaObjectToString iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, UIKit for Mac, watchOS, watchOS Simulator

Converts a Cocoa object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetCocoaObjectToString(aObj: NSObject): ^Char

 

static Char* GetCocoaObjectToString(NSObject aObj)

 

static func GetCocoaObjectToString(_ aObj: NSObject) -> UnsafeMutablePointer<Char>

 

static Char* GetCocoaObjectToString(NSObject aObj)

Parameters:

  • aObj:

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

GetObjectToString

Converts a Island object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetObjectToString(aObj: Object): ^Char

 

static Char* GetObjectToString(Object aObj)

 

static func GetObjectToString(_ aObj: Object) -> UnsafeMutablePointer<Char>

 

static Char* GetObjectToString(Object aObj)

Parameters:

  • aObj:

GetObjectTypeName

Converts the type of an Island object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetObjectTypeName(aObj: Object): ^Char

 

static Char* GetObjectTypeName(Object aObj)

 

static func GetObjectTypeName(_ aObj: Object) -> UnsafeMutablePointer<Char>

 

static Char* GetObjectTypeName(Object aObj)

Parameters:

  • aObj:

GetReturnAddress  External

Returns the return address of this call. Maps to llvm.returnaddress.

 

class method GetReturnAddress(aLevel: Int32): ^void

 

static void* GetReturnAddress(Int32 aLevel)

 

static func GetReturnAddress(_ aLevel: Int32) -> UnsafeMutablePointer<void>

 

static void* GetReturnAddress(Int32 aLevel)

Parameters:

  • aLevel:

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

Initialize

Called by the Posix runtime to initialize; doesn't do anything.

 

class method Initialize

 

static void Initialize()

 

static func Initialize()

 

static void Initialize()

IsInstance

Used by the compiler to check if a type is an instance of a specific class (not interface).

 

class method IsInstance(aInstance: Object; aType: ^void): Object

 

static Object IsInstance(Object aInstance, void* aType)

 

static func IsInstance(_ aInstance: Object, _ aType: UnsafeMutablePointer<void>) -> Object

 

static Object IsInstance(Object aInstance, void* aType)

Parameters:

  • aInstance:
  • aType:

IsInterfaceInstance

Used by the compiler to check if a type is an instance of a specific interface (not class).

 

class method IsInterfaceInstance(aInstance: Object; aType: ^void; aHashCode: UInt32): ^void

 

static void* IsInterfaceInstance(Object aInstance, void* aType, UInt32 aHashCode)

 

static func IsInterfaceInstance(_ aInstance: Object, _ aType: UnsafeMutablePointer<void>, _ aHashCode: UInt32) -> UnsafeMutablePointer<void>

 

static void* IsInterfaceInstance(Object aInstance, void* aType, UInt32 aHashCode)

Parameters:

  • aInstance:
  • aType:
  • aHashCode:

NewArray

Creates a new array of the specific size. aTy should point to the concrete array type, not the element type.

 

class method NewArray(aTY: ^void; aElementSize: NativeInt; aElements: NativeInt): ^void

 

static void* NewArray(void* aTY, NativeInt aElementSize, NativeInt aElements)

 

static func NewArray(_ aTY: UnsafeMutablePointer<void>, _ aElementSize: NativeInt, _ aElements: NativeInt) -> UnsafeMutablePointer<void>

 

static void* NewArray(void* aTY, NativeInt aElementSize, NativeInt aElements)

Parameters:

  • aTY:
  • aElementSize:
  • aElements:

NewDelegate

Creates a new delegate given a type, a Self pointer and a method pointer.

 

class method NewDelegate(aTY: ^void; aSelf: Object; aPtr: ^void): Delegate

 

static Delegate NewDelegate(void* aTY, Object aSelf, void* aPtr)

 

static func NewDelegate(_ aTY: UnsafeMutablePointer<void>, _ aSelf: Object, _ aPtr: UnsafeMutablePointer<void>) -> Delegate

 

static Delegate NewDelegate(void* aTY, Object aSelf, void* aPtr)

Parameters:

  • aTY:
  • aSelf:
  • aPtr:

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

Parameters:

  • a: left value
  • b: right value

RegisterThread

Registers the current thread. Use this to register threads not managed by Island.

 

class method RegisterThread

 

static void RegisterThread()

 

static func RegisterThread()

 

static void RegisterThread()

RegisterThreadHandlers

Register a register/unregister handler for threads.

 

class method RegisterThreadHandlers(aRegister: Action; aUnregister: Action)

 

static void RegisterThreadHandlers(Action aRegister, Action aUnregister)

 

static func RegisterThreadHandlers(_ aRegister: Action, _ aUnregister: Action)

 

static void RegisterThreadHandlers(Action aRegister, Action aUnregister)

Parameters:

  • aRegister:
  • aUnregister:

SpinLockClassEnter

This is used by the class constructor code to decide if it should run the class constructor; this returns true if the class constructor, false if it should not.

The integer value passed should default to 0. If it's 0, it (safely) initializes it to the current thread id, until SpinLockClassExit is called, which sets it to -1. If the value at the time of entry is the current thread id, it returns false (it's already running and we're calling it recursively). If it's any other value the class constructor is already running in another thread, so does a spin lock loop, with yields, until that thread is done.

 

class method SpinLockClassEnter(var x: NativeInt): Boolean

 

static Boolean SpinLockClassEnter(ref NativeInt x)

 

static func SpinLockClassEnter(_ x: NativeInt) -> Boolean

 

static Boolean SpinLockClassEnter(__ref NativeInt x)

Parameters:

  • x:

SpinLockClassExit

This is used by the class constructor logic to exit the spin lock loop.

 

class method SpinLockClassExit(var x: NativeInt)

 

static void SpinLockClassExit(ref NativeInt x)

 

static func SpinLockClassExit(_ x: NativeInt)

 

static void SpinLockClassExit(__ref NativeInt x)

Parameters:

  • x:

SpinLockEnter

Does a spin lock loop until the lock help by X is release.d X should be initialzed to zero.

 

class method SpinLockEnter(var x: Int32)

 

static void SpinLockEnter(ref Int32 x)

 

static func SpinLockEnter(_ x: Int32)

 

static void SpinLockEnter(__ref Int32 x)

Parameters:

  • x:

SpinLockExit

Exits the spinlock loop.

 

class method SpinLockExit(var x: Int32)

 

static void SpinLockExit(ref Int32 x)

 

static func SpinLockExit(_ x: Int32)

 

static void SpinLockExit(__ref Int32 x)

Parameters:

  • x:

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()

UnregisterThread

Unregisters the current thread. Use this to register threads not managed by Island.

 

class method UnregisterThread

 

static void UnregisterThread()

 

static func UnregisterThread()

 

static void UnregisterThread()

 

FinalizerIndex

Contains the index of the finalizer in the VMT, based on the size of pointers.

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
const FinalizerIndex: Int32 = 6;
// Android-x86, Windows-i386
const FinalizerIndex: Int32 = 8;

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
const Int32 FinalizerIndex = 6
// Android-x86, Windows-i386
const Int32 FinalizerIndex = 8

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
static let FinalizerIndex: Int32 = 6
// Android-x86, Windows-i386
static let FinalizerIndex: Int32 = 8

 

// Android-arm64-v8a, Android-armeabi, Android-armeabi-v7a, Android-x86_64, iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, Ubuntu, UIKit for Mac, watchOS, watchOS Simulator, WebAssembly, Windows-x86_64
static final Int32 FinalizerIndex = 6
// Android-x86, Windows-i386
static final Int32 FinalizerIndex = 8

 

AbstractCall

Used in the VMT of abstract methods; this should never trigger.

 

class method AbstractCall

 

static void AbstractCall()

 

static func AbstractCall()

 

static void AbstractCall()

CalcHash

calculate the hash of a byte buffer; used by the String type.

 

class method CalcHash(buf: ^void; len: Int32): Int32

 

static Int32 CalcHash(void* buf, Int32 len)

 

static func CalcHash(_ buf: UnsafeMutablePointer<void>, _ len: Int32) -> Int32

 

static Int32 CalcHash(void* buf, Int32 len)

Parameters:

  • buf:
  • len:

CreateDivideByZeroException

Creates a divide by zero exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateDivideByZeroException: Exception

 

static Exception CreateDivideByZeroException()

 

static func CreateDivideByZeroException() -> Exception

 

static Exception CreateDivideByZeroException()

CreateIndexOutOfRangeException

Creates an index out of range exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateIndexOutOfRangeException(aIndex: NativeUInt; aMax: NativeUInt): Exception

 

static Exception CreateIndexOutOfRangeException(NativeUInt aIndex, NativeUInt aMax)

 

static func CreateIndexOutOfRangeException(_ aIndex: NativeUInt, _ aMax: NativeUInt) -> Exception

 

static Exception CreateIndexOutOfRangeException(NativeUInt aIndex, NativeUInt aMax)

Parameters:

  • aIndex:
  • aMax:

CreateInvalidCastException

Creates an invalid cast exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateInvalidCastException: Exception

 

static Exception CreateInvalidCastException()

 

static func CreateInvalidCastException() -> Exception

 

static Exception CreateInvalidCastException()

CreateNullReferenceException

Creates a null reference exception and returns it. Used by the compiler to trigger this exception.

 

class method CreateNullReferenceException: Exception

 

static Exception CreateNullReferenceException()

 

static func CreateNullReferenceException() -> Exception

 

static Exception CreateNullReferenceException()

CreateNullReferenceExceptionEx

Creates a null reference exception with information on what was null and returns it. Used by the compiler to trigger this exception.

 

class method CreateNullReferenceExceptionEx(s: String): Exception

 

static Exception CreateNullReferenceExceptionEx(String s)

 

static func CreateNullReferenceExceptionEx(_ s: String) -> Exception

 

static Exception CreateNullReferenceExceptionEx(String s)

Parameters:

  • s:

DebugInvoke

Used by the debugger to safely evaluate code. On Win64 and Linux/Darwin injected code can't have exception tables. This method ensures the exception is caught and properly passed to the right place.

 

class method DebugInvoke(data: ^void; invk: DebugInvokeCallback; ex: DebugExceptionCallback)

 

static void DebugInvoke(void* data, DebugInvokeCallback invk, DebugExceptionCallback ex)

 

static func DebugInvoke(_ data: UnsafeMutablePointer<void>, _ invk: DebugInvokeCallback, _ ex: DebugExceptionCallback)

 

static void DebugInvoke(void* data, DebugInvokeCallback invk, DebugExceptionCallback ex)

Parameters:

  • data:
  • invk:
  • ex:

GetCocoaObjectToString iOS, iOS Simulator, macOS, tvOS, tvOS Simulator, UIKit for Mac, watchOS, watchOS Simulator

Converts a Cocoa object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetCocoaObjectToString(aObj: NSObject): ^Char

 

static Char* GetCocoaObjectToString(NSObject aObj)

 

static func GetCocoaObjectToString(_ aObj: NSObject) -> UnsafeMutablePointer<Char>

 

static Char* GetCocoaObjectToString(NSObject aObj)

Parameters:

  • aObj:

GetObjectToString

Converts a Island object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetObjectToString(aObj: Object): ^Char

 

static Char* GetObjectToString(Object aObj)

 

static func GetObjectToString(_ aObj: Object) -> UnsafeMutablePointer<Char>

 

static Char* GetObjectToString(Object aObj)

Parameters:

  • aObj:

GetObjectTypeName

Converts the type of an Island object to a string and return the utf16 string pointer value of it. Used by the debugger.

 

class method GetObjectTypeName(aObj: Object): ^Char

 

static Char* GetObjectTypeName(Object aObj)

 

static func GetObjectTypeName(_ aObj: Object) -> UnsafeMutablePointer<Char>

 

static Char* GetObjectTypeName(Object aObj)

Parameters:

  • aObj:

GetReturnAddress  External

Returns the return address of this call. Maps to llvm.returnaddress.

 

class method GetReturnAddress(aLevel: Int32): ^void

 

static void* GetReturnAddress(Int32 aLevel)

 

static func GetReturnAddress(_ aLevel: Int32) -> UnsafeMutablePointer<void>

 

static void* GetReturnAddress(Int32 aLevel)

Parameters:

  • aLevel:

Initialize

Called by the Posix runtime to initialize; doesn't do anything.

 

class method Initialize

 

static void Initialize()

 

static func Initialize()

 

static void Initialize()

IsInstance

Used by the compiler to check if a type is an instance of a specific class (not interface).

 

class method IsInstance(aInstance: Object; aType: ^void): Object

 

static Object IsInstance(Object aInstance, void* aType)

 

static func IsInstance(_ aInstance: Object, _ aType: UnsafeMutablePointer<void>) -> Object

 

static Object IsInstance(Object aInstance, void* aType)

Parameters:

  • aInstance:
  • aType:

IsInterfaceInstance

Used by the compiler to check if a type is an instance of a specific interface (not class).

 

class method IsInterfaceInstance(aInstance: Object; aType: ^void; aHashCode: UInt32): ^void

 

static void* IsInterfaceInstance(Object aInstance, void* aType, UInt32 aHashCode)

 

static func IsInterfaceInstance(_ aInstance: Object, _ aType: UnsafeMutablePointer<void>, _ aHashCode: UInt32) -> UnsafeMutablePointer<void>

 

static void* IsInterfaceInstance(Object aInstance, void* aType, UInt32 aHashCode)

Parameters:

  • aInstance:
  • aType:
  • aHashCode:

NewArray

Creates a new array of the specific size. aTy should point to the concrete array type, not the element type.

 

class method NewArray(aTY: ^void; aElementSize: NativeInt; aElements: NativeInt): ^void

 

static void* NewArray(void* aTY, NativeInt aElementSize, NativeInt aElements)

 

static func NewArray(_ aTY: UnsafeMutablePointer<void>, _ aElementSize: NativeInt, _ aElements: NativeInt) -> UnsafeMutablePointer<void>

 

static void* NewArray(void* aTY, NativeInt aElementSize, NativeInt aElements)

Parameters:

  • aTY:
  • aElementSize:
  • aElements:

NewDelegate

Creates a new delegate given a type, a Self pointer and a method pointer.

 

class method NewDelegate(aTY: ^void; aSelf: Object; aPtr: ^void): Delegate

 

static Delegate NewDelegate(void* aTY, Object aSelf, void* aPtr)

 

static func NewDelegate(_ aTY: UnsafeMutablePointer<void>, _ aSelf: Object, _ aPtr: UnsafeMutablePointer<void>) -> Delegate

 

static Delegate NewDelegate(void* aTY, Object aSelf, void* aPtr)

Parameters:

  • aTY:
  • aSelf:
  • aPtr:

ReferenceEquals    (declared in Object)

Compares two references for equivalence (even if they have an equals operator)

 

class method ReferenceEquals(a: Object; b: Object): Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

 

static func ReferenceEquals(_ a: Object, _ b: Object) -> Boolean

 

static Boolean ReferenceEquals(Object a, Object b)

Parameters:

  • a: left value
  • b: right value

RegisterThread

Registers the current thread. Use this to register threads not managed by Island.

 

class method RegisterThread

 

static void RegisterThread()

 

static func RegisterThread()

 

static void RegisterThread()

RegisterThreadHandlers

Register a register/unregister handler for threads.

 

class method RegisterThreadHandlers(aRegister: Action; aUnregister: Action)

 

static void RegisterThreadHandlers(Action aRegister, Action aUnregister)

 

static func RegisterThreadHandlers(_ aRegister: Action, _ aUnregister: Action)

 

static void RegisterThreadHandlers(Action aRegister, Action aUnregister)

Parameters:

  • aRegister:
  • aUnregister:

SpinLockClassEnter

This is used by the class constructor code to decide if it should run the class constructor; this returns true if the class constructor, false if it should not.

The integer value passed should default to 0. If it's 0, it (safely) initializes it to the current thread id, until SpinLockClassExit is called, which sets it to -1. If the value at the time of entry is the current thread id, it returns false (it's already running and we're calling it recursively). If it's any other value the class constructor is already running in another thread, so does a spin lock loop, with yields, until that thread is done.

 

class method SpinLockClassEnter(var x: NativeInt): Boolean

 

static Boolean SpinLockClassEnter(ref NativeInt x)

 

static func SpinLockClassEnter(_ x: NativeInt) -> Boolean

 

static Boolean SpinLockClassEnter(__ref NativeInt x)

Parameters:

  • x:

SpinLockClassExit

This is used by the class constructor logic to exit the spin lock loop.

 

class method SpinLockClassExit(var x: NativeInt)

 

static void SpinLockClassExit(ref NativeInt x)

 

static func SpinLockClassExit(_ x: NativeInt)

 

static void SpinLockClassExit(__ref NativeInt x)

Parameters:

  • x:

SpinLockEnter

Does a spin lock loop until the lock help by X is release.d X should be initialzed to zero.

 

class method SpinLockEnter(var x: Int32)

 

static void SpinLockEnter(ref Int32 x)

 

static func SpinLockEnter(_ x: Int32)

 

static void SpinLockEnter(__ref Int32 x)

Parameters:

  • x:

SpinLockExit

Exits the spinlock loop.

 

class method SpinLockExit(var x: Int32)

 

static void SpinLockExit(ref Int32 x)

 

static func SpinLockExit(_ x: Int32)

 

static void SpinLockExit(__ref Int32 x)

Parameters:

  • x:

UnregisterThread

Unregisters the current thread. Use this to register threads not managed by Island.

 

class method UnregisterThread

 

static void UnregisterThread()

 

static func UnregisterThread()

 

static void UnregisterThread()

 

constructor    (declared in Object)

Default constructor.

 

constructor

 

Utilities()

 

init()

 

Utilities()

Equals  virtual    (declared in Object)

Returns true if the target object matches this one, by default compares the reference.

 

method Equals(obj: Object): Boolean

 

Boolean Equals(Object obj)

 

func Equals(_ obj: Object) -> Boolean

 

Boolean Equals(Object obj)

Parameters:

  • obj: the reference to compare this with.

Finalize  protected virtual    (declared in Object)

Finalizer implementation. If not overriden it's not called at all, the runtime checks if there is an override before calling a finalizer.

 

method Finalize

 

void Finalize()

 

func Finalize()

 

void Finalize()

GetHashCode  virtual    (declared in Object)

Returns a hashcode for this object. Overriden implementations should make sure that the number returned here is constant given the same object.

 

method GetHashCode: Int32

 

Int32 GetHashCode()

 

func GetHashCode() -> Int32

 

Int32 GetHashCode()

GetType    (declared in Object)

Returns the actual type of this class

 

method GetType: Type

 

Type GetType()

 

func GetType() -> Type

 

Type GetType()

ToString  virtual    (declared in Object)

Gets the string representation of this method.

 

method ToString: String

 

String ToString()

 

func ToString() -> String

 

String ToString()