Skip to content

Commit

Permalink
Merge pull request #653 from ELENA-LANG/develop
Browse files Browse the repository at this point in the history
Iteration22 (#652)
  • Loading branch information
arakov authored May 7, 2024
2 parents 83ca56f + 4e8e314 commit 375a95e
Show file tree
Hide file tree
Showing 168 changed files with 5,646 additions and 3,040 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/msbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ jobs:
platform: [x86, x64]

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
uses: microsoft/setup-msbuild@v2

- name: Setup Nuget
uses: Nuget/[email protected]
Expand Down
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,46 @@
## ELENA 6.0.10
*07.05.2024*

- ELENA
- [ADDED] #646 : Calling own method directly without target
- [ADDED] #651 : Template Expression - typecasting
- [ADDED] #497 : a static method must have an access to private methods

- ELC
- [FIXED] aarch64 : xstorefir opcode
- [FIXED] ppc64le : open opcode
- [ADDED] new option : auto-preloaded module extension ("-xm")
- [FIXED] reducing the total size of an executable by ignoring module extensions by default
- [FIXED] #401 - += operator with array
- [FIXED] #488 : Declaring auto struct variable
- [FIXED] #522 : single dispatch variadic message
- [FIXED] x86-64 : calling from external
- [FIXED] #608 : single dispatch for constructors
- [FIXED] #504 : Support an array operation with external function arguments
- [FIXED] #589 : Supporting ?: operator inside ??
- [ADDED] #569 : Ignoring order of declaration
- [FIXED] xhookdpr for x86-64 mode

- VM
- [ADDED] #635 : new entry point to invoke the functionality from another program

- API
- [FIXED] toJson extension
- [FIXED] try statement does not allocate an exception
- [ADDED] extensions'io:ByteArrayReader,ByteArrayWriter

- SAMPLES
- [ADDED] #635 : new tutorial to call an ELENA library from C++ / C#
- [ADDED] chat sample

- Tools
- [ADDED] ecv-cli : adding a filter for listing members
- [FIXED]elt-cli : fixing support for extension methods

- IDE
- [FIXED] watch : displaying stack-allocated classes
- [ADDED] syntax highlighting

## ELENA 6.0.9
*19.04.2024*

Expand Down
20 changes: 2 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,25 +55,9 @@ The compiler code is implemented in C++ and does not require external dependenci

You have to add a path to _BIN_ folder to the system environment *PATH* or copy elenavm.dll and elenart.dll to _Windows\System32_ folder.

To build the compiler under VS2019 you have to go to the root folder and type:
To build the compiler and API under VS2019 / VS2022 you have to go to the root folder and type:

recompile60.bat

To build the ELENA libraries type the following command:

rebuild_lib60.bat

To build ELENA samples type the following command:

rebuild_examples60.bat

To build ELENA Rosetta-code samples type the following command:

examples\rosetta\build.bat

To run unit-tests type the following command:

lib_tests.bat
recompile60.bat

## Source Code Organization

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
6.0.9
6.0.10
58 changes: 45 additions & 13 deletions asm/aarch64/core60.asm
Original file line number Diff line number Diff line change
Expand Up @@ -3594,6 +3594,16 @@ inline %2F1h

end

// ; xstoresir i, 0
inline %5F1h

mov x11, #0

add x12, sp, __arg12_1
str x11, [x12]

end

// ; xstoresir :0, 0
inline %6F1h

Expand All @@ -3611,9 +3621,7 @@ end
// ; xstoresir :n, -1
inline %8F1h

movz x11, __n16lo_1
movk x11, __n16hi_1, lsl #16
sxtw x11, w11
mov x11, #-1

add x12, sp, __arg12_1
str x11, [x12]
Expand All @@ -3623,22 +3631,14 @@ end
// ; xstoresir :0, -1
inline %9F1h

movz x11, __n16lo_1
movk x11, __n16hi_1, lsl #16
sxtw x11, w11

mov x0, x11
mov x0, #-1

end

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

movz x11, __n16lo_1
movk x11, __n16hi_1, lsl #16
sxtw x11, w11

mov x1, x11
mov x1, #-1

end

Expand Down Expand Up @@ -4054,10 +4054,42 @@ labEnd:
end

// ; xstorefir
// ; NOTE : it is presumed that arg1 < 0 (it is inverted in jitcompiler)
inline %0F9h

movz x11, __ptr32lo_2
movk x11, __ptr32hi_2, lsl #16
sub x12, x29, -__arg12_1
str x11, [x12]

end

// ; xstorefir
// ; NOTE : it is presumed that arg1 > 0 (it is inverted in jitcompiler)
inline %4F9h

movz x11, __ptr32lo_2
movk x11, __ptr32hi_2, lsl #16
add x12, x29, __arg12_1
str x11, [x12]

end

// ; xstorefir i, 0
// ; NOTE : it is presumed that arg1 < 0 (it is inverted in jitcompiler)
inline %5F9h

mov x11, #0
sub x12, x29, -__arg12_1
str x11, [x12]

end

// ; xstorefir i, 0
// ; NOTE : it is presumed that arg1 > 0 (it is inverted in jitcompiler)
inline %9F9h

mov x11, #0
add x12, x29, __arg12_1
str x11, [x12]

Expand Down
Loading

0 comments on commit 375a95e

Please sign in to comment.