Releases: dolphinsmalltalk/DolphinVM
Releases · dolphinsmalltalk/DolphinVM
v7.0.57
v7.1.0
Includes Unicode support.
v7.0.56
v7.0.56
v7.0.55
Include wcsncpy_s in stubs
7.0.54.1
This VM adds a number of useful enhancements in the support of UTF8 and UTF16 string encodings.
- String or Utf8String instances passed as arguments to DLL calls that are declared as expecting wide string arguments will automatically be converted to UTF16 encoded strings. This should dramatically simplify calling the W (wide string) versions of Windows API functions such that in many cases these can be used in preference.
- When a Utf16String (formerly UnicodeString) is passed for an "lpstr" argument, it will be converted to an Ansi string automatically. The general assumption is that Ansi APIs are not expecting to handle UTF8. There is no auto-conversion of Utf8String to Ansi for lpstr, so UTF8 encoded strings can be passed. A future enhancement would be to add arg types that are more explicit about the type of byte string encoding expected (ansi or utf8). Similarly for lpstr return values; currently these will always create a String (ansi string) instance.
- There are fast (primitive) conversions between "Ansi", UTF8 and UTF16 strings.
- The bug is fixed that Utf16String instances were not always correctly terminated with two null bytes. Intermittently this could result in apparently corrupt strings.
- This VM also has a significant number of primitives that were implemented directly in assembler rewritten in C++. This has been done carefully so that the performance hit is at worse negligible. In some cases performance will be improved due to the compiler's use of more recent instruction set extensions.
7.0.53.1
v7.0.53 Wide Characters
v7.0.51
Memory prims respect non-instantiable flag
v7.0.50
Remove at:[:put] caches
v7.0.49
v7.0.49
v7.0.48
v7.0.48