mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-18 01:11:32 +00:00
inherent acylic data structure detection
this will become useful for the pure collector eventually
This commit is contained in:
@ -29,32 +29,34 @@ export const enum RTTIFlags {
|
||||
SET = 1 << 1,
|
||||
/** Type is a `Map`. */
|
||||
MAP = 1 << 2,
|
||||
/** Type is inherently acyclic. */
|
||||
ACYCLIC = 1 << 3,
|
||||
/** Value alignment of 1 byte. */
|
||||
VALUE_ALIGN_0 = 1 << 3,
|
||||
VALUE_ALIGN_0 = 1 << 4,
|
||||
/** Value alignment of 2 bytes. */
|
||||
VALUE_ALIGN_1 = 1 << 4,
|
||||
VALUE_ALIGN_1 = 1 << 5,
|
||||
/** Value alignment of 4 bytes. */
|
||||
VALUE_ALIGN_2 = 1 << 5,
|
||||
VALUE_ALIGN_2 = 1 << 6,
|
||||
/** Value alignment of 8 bytes. */
|
||||
VALUE_ALIGN_3 = 1 << 6,
|
||||
VALUE_ALIGN_3 = 1 << 7,
|
||||
/** Value alignment of 16 bytes. */
|
||||
VALUE_ALIGN_4 = 1 << 7,
|
||||
VALUE_ALIGN_4 = 1 << 8,
|
||||
/** Value type is nullable. */
|
||||
VALUE_NULLABLE = 1 << 8,
|
||||
VALUE_NULLABLE = 1 << 9,
|
||||
/** Value type is managed. */
|
||||
VALUE_MANAGED = 1 << 9,
|
||||
VALUE_MANAGED = 1 << 10,
|
||||
/** Key alignment of 1 byte. */
|
||||
KEY_ALIGN_0 = 1 << 10,
|
||||
KEY_ALIGN_0 = 1 << 11,
|
||||
/** Key alignment of 2 bytes. */
|
||||
KEY_ALIGN_1 = 1 << 11,
|
||||
KEY_ALIGN_1 = 1 << 12,
|
||||
/** Key alignment of 4 bytes. */
|
||||
KEY_ALIGN_2 = 1 << 12,
|
||||
KEY_ALIGN_2 = 1 << 13,
|
||||
/** Key alignment of 8 bytes. */
|
||||
KEY_ALIGN_3 = 1 << 13,
|
||||
KEY_ALIGN_3 = 1 << 14,
|
||||
/** Key alignment of 16 bytes. */
|
||||
KEY_ALIGN_4 = 1 << 14,
|
||||
KEY_ALIGN_4 = 1 << 15,
|
||||
/** Key type is nullable. */
|
||||
KEY_NULLABLE = 1 << 15,
|
||||
KEY_NULLABLE = 1 << 16,
|
||||
/** Key type is managed. */
|
||||
KEY_MANAGED = 1 << 16
|
||||
KEY_MANAGED = 1 << 17
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ export namespace runtime {
|
||||
return newObject(byteLength, __runtime_id<ArrayBuffer>());
|
||||
}
|
||||
|
||||
/** Allocates and registers a new `Array` of the specified kind using the given backing buffer.*/
|
||||
/** Allocates and registers a new `Array` of the specified kind using the given backing buffer. */
|
||||
// @ts-ignore: decorator
|
||||
@unsafe
|
||||
export function newArray(id: u32, buffer: usize): usize {
|
||||
|
Reference in New Issue
Block a user