<commit_before>// ; --- Predefined References  --
define INVOKER               10001h
define GC_ALLOC	             10002h

define CORE_TOC              20001h
define SYSTEM_ENV            20002h
define CORE_GC_TABLE         20003h
define VOID           	     2000Dh
define VOIDPTR               2000Eh

define ACTION_ORDER              9

// ; --- Object header fields ---
define elSizeOffset          0004h
define elVMTOffset           0010h 
define elObjectOffset        0010h

// ; --- VMT header fields ---
define elVMTSizeOffset       0008h
define elVMTFlagOffset       0018h
define elPackageOffset       0020h

// ; --- GC TABLE OFFSETS ---
define gc_header             0000h
define gc_start              0008h
define gc_yg_current         0010h
define gc_yg_current         0018h
define gc_yg_end             0020h
define gc_mg_start           0038h
define gc_mg_current         0040h
define gc_end                0048h
define gc_mg_wbar            0050h

// ; --- System Core Preloaded Routines --

structure % CORE_TOC

  dq 0         // ; address of import section

end
 
structure %CORE_GC_TABLE

  dq 0 // ; gc_header             : +00h
  dq 0 // ; gc_start              : +08h
  dq 0 // ; gc_yg_start           : +10h
  dq 0 // ; gc_yg_current         : +18h
  dq 0 // ; gc_yg_end             : +20h
  dq 0 // ; gc_shadow             : +28h
  dq 0 // ; gc_shadow_end         : +30h
  dq 0 // ; gc_mg_start           : +38h
  dq 0 // ; gc_mg_current         : +40h
  dq 0 // ; gc_end                : +48h
  dq 0 // ; gc_mg_wbar            : +50h

end

// ; NOTE : the table is tailed with GCMGSize,GCYGSize and MaxThread fields
structure %SYSTEM_ENV

  dq data : %CORE_GC_TABLE
  dq code : %INVOKER

end

structure %VOID

  dq 0
  dq 0  // ; a reference to the super class class
  dq 0
  dq 0  
  dq 0

end

structure %VOIDPTR

  dq rdata : %VOID + elPackageOffset
  dq 0
  dq 0

end

// ; --- GC_ALLOC ---
// ; in: x11 - size ; out: x10 - created object
inline % GC_ALLOC

  ldr     x23, [x23, #8]



  movz    x12,  data_ptr32lo : %CORE_GC_TABLE
  movk    x12,  data_ptr32hi : %CORE_GC_TABLE, lsl #16
  add     x13, x12, gc_yg_current
  ldr     x15, [x13]
  add     x14, x12, gc_yg_end
  ldr     x14, [x14]
  add     x11, x11, x15
  cmp     x11, x14
  bge     labYGCollect
  str     x14, [x13]
  add     x10, x15, elObjectOffset
  ret     x30

labYGCollect:
  mov     x10, #0                 //; ecx
  ret     x30

end
 
// ; ==== Command Set ==

// ; redirect
inline % 03h //; (r15 - object, r14 - message)

  sub     x14, x10, elVMTOffset              
  ldr     x11, [x14]              //; edi
  mov     x12, #0                 //; ecx
  sub     x15, x11, elVMTSizeOffset<commit_msg>removing debug code<commit_after>// ; --- Predefined References  --
define INVOKER               10001h
define GC_ALLOC	             10002h

define CORE_TOC              20001h
define SYSTEM_ENV            20002h
define CORE_GC_TABLE         20003h
define VOID           	     2000Dh
define VOIDPTR               2000Eh

define ACTION_ORDER              9

// ; --- Object header fields ---
define elSizeOffset          0004h
define elVMTOffset           0010h 
define elObjectOffset        0010h

// ; --- VMT header fields ---
define elVMTSizeOffset       0008h
define elVMTFlagOffset       0018h
define elPackageOffset       0020h

// ; --- GC TABLE OFFSETS ---
define gc_header             0000h
define gc_start              0008h
define gc_yg_current         0010h
define gc_yg_current         0018h
define gc_yg_end             0020h
define gc_mg_start           0038h
define gc_mg_current         0040h
define gc_end                0048h
define gc_mg_wbar            0050h

// ; --- System Core Preloaded Routines --

structure % CORE_TOC

  dq 0         // ; address of import section

end
 
structure %CORE_GC_TABLE

  dq 0 // ; gc_header             : +00h
  dq 0 // ; gc_start              : +08h
  dq 0 // ; gc_yg_start           : +10h
  dq 0 // ; gc_yg_current         : +18h
  dq 0 // ; gc_yg_end             : +20h
  dq 0 // ; gc_shadow             : +28h
  dq 0 // ; gc_shadow_end         : +30h
  dq 0 // ; gc_mg_start           : +38h
  dq 0 // ; gc_mg_current         : +40h
  dq 0 // ; gc_end                : +48h
  dq 0 // ; gc_mg_wbar            : +50h

end

// ; NOTE : the table is tailed with GCMGSize,GCYGSize and MaxThread fields
structure %SYSTEM_ENV

  dq data : %CORE_GC_TABLE
  dq code : %INVOKER

end

structure %VOID

  dq 0
  dq 0  // ; a reference to the super class class
  dq 0
  dq 0  
  dq 0

end

structure %VOIDPTR

  dq rdata : %VOID + elPackageOffset
  dq 0
  dq 0

end

// ; --- GC_ALLOC ---
// ; in: x11 - size ; out: x10 - created object
inline % GC_ALLOC

  movz    x12,  data_ptr32lo : %CORE_GC_TABLE
  movk    x12,  data_ptr32hi : %CORE_GC_TABLE, lsl #16
  add     x13, x12, gc_yg_current
  ldr     x15, [x13]
  add     x14, x12, gc_yg_end
  ldr     x14, [x14]
  add     x11, x11, x15
  cmp     x11, x14
  bge     labYGCollect
  str     x14, [x13]
  add     x10, x15, elObjectOffset
  ret     x30

labYGCollect:
  mov     x10, #0                 //; ecx
  ret     x30

end
 
// ; ==== Command Set ==

// ; redirect
inline % 03h //; (r15 - object, r14 - message)

  sub     x14, x10, elVMTOffset              
  ldr     x11, [x14]              //; edi
  mov     x12, #0                 //; ecx
  sub     x15, x11, elVMTSizeOffset
{'fraction_non_alphanumeric': 0.07899628252788105, 'fraction_numerical': 0.07936802973977695, 'mean_word_length': 1.4912037037037038, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5357906', 'n_tokens_mistral': 2262, 'n_tokens_neox': 1910, 'n_words': 557}