The Perl Toolchain Summit 2025 Needs You: You can help 🙏 Learn more

0.0246 2017-08-17
- array element is initialized by zero.
0.0245 2017-08-16
- fix get object byte field bug
- fix set object byte field bug
- fix bug that compiler can't load source file over 0xFF bytes
0.0244 2017-08-15
- implement weak reference to resolve recursive reference
weaken $obj->{foo};
- Field become have any object
0.0243 2017-08-12
- add SPVM::new_object_array_len function
- add SPVM::Array::Object::set function
- add SPVM::Array::Object::get function
0.0242 2017-08-11
- array malloc length + 1. and last value is 0. This is for C level string API.
- add debug mode.
use SPVM::Debug;
0.0241 2017-08-08
- fix void subroutine bug that if return value is not exists, runtime error occur.
0.0240 2017-08-07
- fix number literal bug that hex number e and E is floating point specifier
- add byte and short number literal syntax
123b
123s
- hex number only allow A, B, C, D, E, F because f is used to specify the number is floating point
and b is used to specify the number is byte
- fix array float store and load bug
- support underline in number literal
123_123
0xFF_FF
0.0239 2017-08-05
- cleanup enum internal logic
- fix clang compiler error
- fix all warnings
0.0238 2017-08-04
- Support nested switch statement
0.0237 2017-08-03
- improve SPVM call_sub performance
0.0236 2017-08-01
- add __END__
- SPVM exception can be cached from Perl's eval { ... }
- fix one character string bug.
0.0235 2017-07-31
- fix default return value
- imporve exception message
0.0234 2017-07-29
- rename malloc to new. you can also define new function for object initialization.
my $obj = new Foo;
my $obj = Foo::new(3);
package Foo {
sub new($var1 : int) {
# ...
return new Foo;
}
}
- object's fields are initialized by zero.
0.0233 2017-07-28
- support package template.
- support over 4G memory allocation
0.0232 2017-07-26
- add len keyword to get array length
reason is that
foo(@$nums) looks like passing array itself, not array length.
you can use len keyword for readability.
foo(len $nums);
- Fix bug that error occur when near small base_object_max_byte_size_use_memory_pool is malloced
0.0231 2017-07-25
- Fix clang compile error
0.0230 2017-07-25
- Fix POSIX function import bug
- Package name must be start with upper case. Lowercase is reserved for core package.
- Add SPVM/stdout.pm as Perl module
0.0229 2017-07-25
- support array initialization
my $nums = [1, 2, 3];
- fix memory breaking bug when object is assigned from freelist
0.0228 2017-07-22
- fix enum constant bug
- support float enum
- support double enum
0.0227 2017-07-21
- fix tests bug
0.0226 2017-07-20
- fix float convertion bugs
- fix convert double to short bug
- fix floating number which don't have point(for example, 346638529e+38) parsing bug.
- rename std package to stdout
- fix enum default type. Correct type is int.
- fix enum { FOO = 1 } syntax.
0.0225 2017-07-19
- add SPVM::Array::Byte::get_elements method
- add SPVM::Array::Short::get_elements method
- add SPVM::Array::Int::get_elements method
- add SPVM::Array::Long::get_elements method
- add SPVM::Array::Float::get_elements method
- add SPVM::Array::Double::get_elements method
0.0224 2017-07-19
- fix memory leak bugs. fix reference count.
0.0223 2017-07-18
- fix hash segmentation fault bug when many hash is created.
0.0222 2017-07-18
- add SPVM::Object::set
- add SPVM::Object::get
- rename SPVM::byte_array to SPVM::new_byte_array
- rename SPVM::short_array to SPVM::new_short_array
- rename SPVM::int_array to SPVM::new_int_array
- rename SPVM::long_array to SPVM::new_long_array
- rename SPVM::float_array to SPVM::new_float_array
- rename SPVM::double_array to SPVM::new_double_array
- rename SPVM::string_raw to SPVM::new_string_raw
- rename SPVM::string to SPVM::new_string
- rename SPVM::object to SPVM::new_object
0.0221 2017-07-15
- fix && not working bug
- fix || not working bug
- fix ! not working bug
0.0220 2017-07-14
- Support array return type in SPVM::call_sub
0.0219 2017-07-13
- Support constant floating point E expression
0.5E3
0.5e3
0.5E+3
0.5e+3
0.5E-3
0.5e-3
- add SPVM::string function
- add SPVM::string_raw function
0.0218 2017-07-13
- Fix float culcuration bugs
- add SPVM::byte_array, SPVM::short_array, SPVM::long_array, SPVM::float_array, SPVM::double_array function
to create SPVM array object.
0.0217 2017-07-12
- Support SPVM::int_array([1, 2, 3]) function
This values can be passed to SPVM function.
0.0216 2017-07-12
- Fix constant sign is not initialized bug
0.0215 2017-07-11
- Support while (my $var = 3) { ... }
- Support long min constant -9223372036854775808
- Fix array malloc bug
0.0214 2017-07-11
- Fix for statement segmentaion fault bug
- VAR = TERM return VAR. For example, allow the syntax "if (my $error = $@) { ... }
- Fix if condition (byte, short, long, float) bugs.
0.0213 2017-07-10
- Fix MANIFEST
0.0212 2017-07-10
- Fix hex literal bug. 0xFFFFFFFFFFFFFFFFL is OK.
- Fix bit shift bugs. <<, >>, >>> work well now.
0.0211 2017-07-08
- Fix if statement condition not working bugs
- try { } catch () { } syntax is replaced with eval { }; if ($@) { ... } syntax.
0.0210 2017-07-08
- Fix reference count bugs
0.0209 2017-07-07
- len $nums is replaced with @$nums
- $nums[0] is replaced with $nums->[0]
- $obj{x} is replaced with $obj->{x}
0.0208 2017-07-06
- add die logic when 32 bit Perl
- add several SPVM internal functions
0.0207 2017-06-30
- Fix amd64 segfault bug.
0.0206 2017-06-20
- Argument and return value become normal SV which have IV or NV.
# Example
my $total = SPVM::MyModule2::foo(3, 5);
print $total . "\n";
0.0205 2017-06-29
- Only support 64 bit Perl.
In 32 bit Perl, 64 bit integer is not supported. This means that Perl can not express 64 bit integers on source code.
0.0204 2017-06-28
- add env interface. This is similar as JAVA JNI
0.0203 2017-06-26
- build SPVM using same CCFLAG as Perl itself
0.0202 2017-06-25
- use same CCFLAG in Makefile.PL
0.0201 2017-06-20
- fix memset 0 bug
0.02 2017-06-20
- improve XS type convertion logic
0.01 2017-06-17(DEVELOPMENT RELEASE
- Fisrt development release