Skip to content

Commit

Permalink
Merge pull request #640 from ELENA-LANG/develop
Browse files Browse the repository at this point in the history
Release 6.0.8
  • Loading branch information
arakov authored Mar 21, 2024
2 parents f6f9859 + 3902dc4 commit 730bc59
Show file tree
Hide file tree
Showing 196 changed files with 5,697 additions and 3,070 deletions.
65 changes: 65 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,68 @@
## ELENA 6.0.8
*21.03.2024*

- ELENA
- [ADDED] an opcode LNEG

- ELC
- [ADDED] native negate operation for long integers
- [ADDED] #588 - Operation with int constant
- [ADDED] multi-profiles per a single project file; new option -l<profile-name>
- [ADDED] #638 - Accessing a variable declared in the upper scope
- [FIXED] calling a variadic method without arguments directly
- [FIXED] declaring a template based type with T is an array as a method result
- [FIXED] GC : perm generation is not included as roots for the partial collect
- [FIXED] generating a proper debug info for local structure / structure self
- [FIXED] it has to be possible to convert int literal directly to v_int8 / v_int16 / v_int64, depending on the value size
- [FIXED] x86 MTA : starting the new thread / program
- [FIXED] x86 MTA : GC routine
- [FIXED] byrefHandler : if it is not contain the explicit return, assign self to byref retVal
- [FIXED] no need for typecasting operation after if-else operation with both branches containging returning operation
- [FIXED] optimizing operation with int constants

- API
- [ADDED] sqlite module
- [FIXED] string.toUpper() : returns a string with an incorrect length
- [FIXED] windproc
- [ADDED] xforms

- SAMPLES
- [ADDED] sqlite_test
- [FIXED] Rosetta Code : Interactive programming (repl), Vigenère cipher
- [ADDED] c_a_g sample
- [ADDED] agenda sample
- [ADDED] graph sample

- Tools
- [ADDED] support for stdcall for win32

- IDE
- [ADDED] project settings - select the project profile
- [FIXED] #634 - IDE debugger: the debugger must hide trace line on wait
- [FIXED] #634 - debugger step over some expressions
- [FIXED] #636 - IDE bugs
- [FIXED] displaying stack-allocated structures
- [FIXED] warn if the source code is not compiled after the change before run / debug
- [FIXED] warn if the source code is changed and not save before run / debug
- [FIXED] the document is in read-only mode during the debugging

## ELENA 6.0.7
*11.02.2024*

- ELENA
- [ADDED]meta command #load, #clear
- [ADDED]#563:Extended statement templates
- [FIXED]#508 - working on multi-value assigning
- [FIXED]#86 - primitive operations : int + long
- [FIXED]"this self" for an extension
- [ADDED]system : Int8Number, UShortNumber
- [ADDED]#629 - Read-only fields
- [FIXED]#613 - bytecode optimization
- [FIXED]#623 - Overriding property set accessor
- [FIXED]#601 - bytecode optimization
- [ADDED]evaluate an expression in compile-time if possible
- [ADDED]#562 - Nullable support

## ELENA 6.0.6
*19.10.2023*

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2017 ELENA Language Project
Copyright (c) 2017-2024 ELENA Language Project

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.0.7
6.0.8
8 changes: 8 additions & 0 deletions asm/aarch64/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -763,6 +763,14 @@ inline %1Eh

end

// ; lneg
inline % 1Fh

mov x17, 0
sub x9, x17, x9

end

// ; coalesce
inline % 20h

Expand Down
21 changes: 21 additions & 0 deletions asm/amd64/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -631,6 +631,13 @@ inline %1Eh

end

// ; lneg
inline % 1Fh

neg rdx

end

// ; coalesce
inline % 20h

Expand Down Expand Up @@ -2909,6 +2916,20 @@ inline %7F1h

end

// ; xstoresir :0, -1
inline %9F1h

mov r10, -1

end

// ; xstoresir :1, -1
inline %0AF1h

mov r11, -1

end

// ; extopenin
inline %0F2h

Expand Down
7 changes: 7 additions & 0 deletions asm/ppc64le/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -824,6 +824,13 @@ inline %1Eh

end

// ; lneg
inline % 1Fh

neg r14, r14

end

// ; coalesce
inline % 20h

Expand Down
63 changes: 54 additions & 9 deletions asm/x32/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,13 @@ labYGCollect:
push esi
push ecx

// ; save perm roots
mov esi, [data : %CORE_GC_TABLE + gc_perm_start]
mov ecx, [data : %CORE_GC_TABLE + gc_perm_current]
sub ecx, esi
push esi
push ecx

// ; collect frames
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
mov ecx, eax
Expand Down Expand Up @@ -485,7 +492,7 @@ end

// ; exclude
inline % 10h
push ebp
mov [data : %CORE_SINGLE_CONTENT + tt_stack_frame], esp

Expand All @@ -494,7 +501,7 @@ end
// ; include
inline % 11h

add esp, 4
add esp, 4

end

Expand Down Expand Up @@ -635,6 +642,16 @@ inline %1Eh

end

// ; lneg
inline % 1Fh

not edx
not eax
add eax, 1
adc edx, 0

end

// ; coalesce
inline % 20h

Expand Down Expand Up @@ -2034,6 +2051,9 @@ inline %0CAh
pop ebp
add esp, 8
pop eax
mov [data : %CORE_SINGLE_CONTENT + tt_stack_frame], eax

pop ebp

end
Expand All @@ -2045,6 +2065,10 @@ inline %1CAh
pop ebp

add esp, 8

pop eax
mov [data : %CORE_SINGLE_CONTENT + tt_stack_frame], eax

pop ebp
end
Expand Down Expand Up @@ -3210,13 +3234,22 @@ inline %6F1h

end

// ; xstoresir :0, -1
inline %9F1h

mov esi, __ptr32_2

end

// ; extopenin
inline %0F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3239,9 +3272,11 @@ end
inline %1F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3255,9 +3290,11 @@ end
inline %2F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3272,9 +3309,11 @@ end
inline %3F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3291,9 +3330,11 @@ end
inline %4F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3311,9 +3352,11 @@ end
inline %5F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand All @@ -3332,9 +3375,11 @@ end
inline %6F2h

push ebp
mov eax, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push eax

mov ebp, eax
xor eax, eax
mov ebp, [data : %CORE_SINGLE_CONTENT + tt_stack_frame]
push ebp
push eax
mov ebp, esp
Expand Down
Loading

0 comments on commit 730bc59

Please sign in to comment.