Changes for version 0.989024 - 2023-07-14

  • New Features
    • The runtime was created by the additional compile.
    • The following native APIs were added.
      • void* compiler;
  • Incompatibe Changes
    • The DESTROY method in the Runtime class was removed.
  • Incompatibe Changes
    • The DESTROY method in the Runtime class was removed.
    • The following runtime native APIs were removed.
      • void* (*new_instance)(void);
      • void (*free_instance)(void* runtime);
    • The runtime native API IDs were reordered.
      • 0 get_object_data_offset 1 get_object_ref_count_offset 2 get_object_length_offset 3 get_basic_type_by_id 4 get_basic_type_by_name 5 get_basic_types_length 6 is_object_type 7 can_assign 8 build_precompile_module_source 9 build_precompile_method_source
    • Compiler native APIs were changed.
      • void* (*build_runtime)(void* compiler);
      • void* (*get_runtime)(void* compiler);
    • The following methods in the Compiler class were changed.
      • native method build_runtime : Runtime ();
      • native method get_runtime : Runtime ();
    • The following methods and fields in the Env class were changed.
      • Fields
      • has runtime : ro Runtime;
      • has compiler : ro Compiler;
        • Class Methods
      • native static method new : Env ($runtime : Runtime = undef);
      • native static method new : Env ($compiler : Compiler = undef);
  • Incompatibe Changes
    • The Native API IDs were reordered. 0 compiler 1 runtime 2 api 3 new_env 4 free_env 5 call_init_methods 6 set_command_info_program_name 7 set_command_info_argv 8 set_command_info_base_time 9 destroy_class_vars 10 items 11 get_object_basic_type 12 get_object_basic_type_id 13 get_object_basic_type_name 14 get_object_type_dimension 15 get_basic_type 16 get_basic_type_by_name 17 get_basic_type_by_id 18 get_basic_type_id 19 get_basic_type_id_by_name 20 get_class_var 21 get_class_var_byte 22 get_class_var_short 23 get_class_var_int 24 get_class_var_long 25 get_class_var_float 26 get_class_var_double 27 get_class_var_object 28 get_class_var_string 29 set_class_var_byte 30 set_class_var_short 31 set_class_var_int 32 set_class_var_long 33 set_class_var_float 34 set_class_var_double 35 set_class_var_object 36 set_class_var_string 37 get_class_var_object_address 38 get_class_var_byte_by_name 39 get_class_var_short_by_name 40 get_class_var_int_by_name 41 get_class_var_long_by_name 42 get_class_var_float_by_name 43 get_class_var_double_by_name 44 get_class_var_object_by_name 45 get_class_var_string_by_name 46 set_class_var_byte_by_name 47 set_class_var_short_by_name 48 set_class_var_int_by_name 49 set_class_var_long_by_name 50 set_class_var_float_by_name 51 set_class_var_double_by_name 52 set_class_var_object_by_name 53 set_class_var_string_by_name 54 get_field 55 get_field_static 56 get_field_byte 57 get_field_short 58 get_field_int 59 get_field_long 60 get_field_float 61 get_field_double 62 get_field_object 63 get_field_string 64 set_field_byte 65 set_field_short 66 set_field_int 67 set_field_long 68 set_field_float 69 set_field_double 70 set_field_object 71 set_field_string 72 get_field_byte_by_name 73 get_field_short_by_name 74 get_field_int_by_name 75 get_field_long_by_name 76 get_field_float_by_name 77 get_field_double_by_name 78 get_field_object_by_name 79 get_field_string_by_name 80 set_field_byte_by_name 81 set_field_short_by_name 82 set_field_int_by_name 83 set_field_long_by_name 84 set_field_float_by_name 85 set_field_double_by_name 86 set_field_object_by_name 87 set_field_string_by_name 88 get_field_string_chars_by_name 89 get_method 90 get_class_method 91 get_instance_method_static 92 get_instance_method 93 call_method_no_mortal 94 call_method 95 call_class_method_by_name 96 call_instance_method_static_by_name 97 call_instance_method_by_name 98 new_object_no_mortal 99 new_object 100 new_object_by_name 101 new_pointer_object_no_mortal 102 new_pointer_object 103 new_pointer_object_by_name 104 get_pointer 105 set_pointer 106 new_string_nolen_no_mortal 107 new_string_nolen 108 new_string_no_mortal 109 new_string 110 new_byte_array_no_mortal 111 new_byte_array 112 new_short_array_no_mortal 113 new_short_array 114 new_int_array_no_mortal 115 new_int_array 116 new_long_array_no_mortal 117 new_long_array 118 new_float_array_no_mortal 119 new_float_array 120 new_double_array_no_mortal 121 new_double_array 122 new_object_array_no_mortal 123 new_object_array 124 new_object_array_by_name 125 new_string_array 126 new_muldim_array_no_mortal 127 new_muldim_array 128 new_muldim_array_by_name 129 new_mulnum_array_no_mortal 130 new_mulnum_array 131 new_mulnum_array_by_name 132 new_array_proto_no_mortal 133 new_array_proto 134 length 135 get_elems_byte 136 get_elems_short 137 get_elems_int 138 get_elems_long 139 get_elems_float 140 get_elems_double 141 get_elem_object 142 get_elem_string 143 set_elem_object 144 set_elem_string 145 get_chars 146 get_bool_object_value 147 concat_no_mortal 148 concat 149 shorten 150 make_read_only 151 is_read_only 152 print 153 print_stderr 154 dump_no_mortal 155 dump 156 dumpc 157 copy_no_mortal 158 copy 159 get_spvm_version_string 160 get_spvm_version_number 161 get_version_string 162 get_version_number 163 die 164 get_exception 165 set_exception 166 new_stack_trace_no_mortal 167 new_stack_trace 168 is_string 169 is_class 170 is_pointer_class 171 is_array 172 is_object_array 173 is_numeric_array 174 is_mulnum_array 175 isa 176 isa_by_name 177 is_type 178 is_type_by_name 179 elem_isa 180 get_elem_size 181 get_type_name_no_mortal 182 get_type_name 183 get_compile_type_name_no_mortal 184 get_compile_type_name 185 enter_scope 186 leave_scope 187 push_mortal 188 remove_mortal 189 weaken 190 isweak 191 unweaken 192 strerror_string 193 strerror_string_nolen 194 strerror 195 strerror_nolen 196 allocator 197 new_memory_env 198 free_memory_env 199 get_memory_blocks_count_env 200 new_memory_stack 201 free_memory_stack 202 get_memory_blocks_count_stack 203 new_stack 204 free_stack 205 get_ref_count 206 inc_ref_count 207 dec_ref_count

Documentation

Generating Excutable File
Generating SPVM Distribution

Modules

SPVM Language
Address
Array Utilities
SPVM object
Bool object
Build Dynamic Libraries for SPVM Distribution
Defining Public Functions of SPVM::Builder
Compilation and Link of Native Module
Compilation Information
SPVM Builder Compiler
Configurations of creating excutable files.
SPVM Builder Environment
Creating Executable File
Library Information
Link Information
Object File Information
SPVM Builder Runtime
SPVM Builder Stack
Builder Utilities
Defining Public Functions of SPVM::Builder::Util
The byte Object
Dynamic byte Array
Interface Type to Clone Object
Interface Type for the Callback to Clone a Object
Command Line Information
Interface Type for Object Comparation Callback
Interface Type for double Comparation Callback
Interface Type for float Comparation Callback
Interface Type for int Comparation Callback
Interface Type for long Comparation Callback
Interface Type for String Comparation Callback
Compiler
double Complex Type
float Complex Type
SPVM Exchange API
SPVM Language Specification
SPVM Language Specification
SPVM Standard Modules
Allocator Native APIs
Basic Type Native APIs
Class Variable Native APIs
SPVM Compiler Native APIs
Module File Native APIs
String Buffer Native APIs
Document of Native Module
How to write the resource class
The double Object
Dynamic double Array
Execution Environment
Interface Type for Object Equality Checking Callback
a callback implementation of EqualityChecker to check if the memory addresses of the two objects are equal.
Error
Not Supported Error
System Error
SPVM Exchange API
The float Object
Dynamic float Array
SPVM Starndard Functions
Format Utilities
SPVM Global Instance for Perl Interpreter
Hash Data Structure
Hash entry
Immutable byte Array
Immutable double Array
Immutable float Array
Immutable int Array
Immutable long Array
Immutable short Array
Immutable string array
The int Object
Dynamic int Array
Dynamic Object Array
The long Object
Dynamic long Array
Point
Point 3D
Runtime
Executing Handler at End of Scope
Handler of Scope::Guard
The short Class
Dynamic short Array
Sorting Functions
Call Stack
String Buffer
Dynamic string array
A Interface Type to Stringify a Object
Interface Type for Stringing Callback
Time Manipulation (Removed)
struct tm in C language (Removed)

Provides

in lib/SPVM/Dist.pm

Examples