Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pr #18

Closed
wants to merge 344 commits into from
Closed

Pr #18

wants to merge 344 commits into from

Conversation

clover2123
Copy link
Owner

No description provided.

ksh8281 and others added 30 commits October 31, 2023 15:55
* running time quick sort case change 0.3s to 0.18s

Signed-off-by: Seonghyun Kim <[email protected]>
* every ModuleFunction should have its functonType
* VMStack element should have position info for future implemention

Signed-off-by: Seonghyun Kim <[email protected]>
Signed-off-by: HyukWoo Park <[email protected]>
* Not every 2 or more reference of local variable needs copy to stack
* Fix computing RefCount bug

Signed-off-by: Seonghyun Kim <[email protected]>
Zoltan Herczeg and others added 26 commits January 10, 2024 16:53
* remove unused options
* run simd tests by default
* add memory measurement logic

Signed-off-by: HyukWoo Park <[email protected]>
Allocate array for return values according to the size of the
return values of the function (and not according to the expected
size of return).
The new approach does not require to reserve a register for exception handling.
Also it does not generate handlers when they are not needed.

Signed-off-by: Zoltan Herczeg [email protected]
Walrus Interp uses reinterpret_cast for data movement in load and
store instructions. On ARM32, if the size of the data to be moved
is 8 bytes, then compiler generates LDRD and STRD instructions.
Address for these instructions has to be word-aligned, whilst
Walrus has to support non-aligned data movement.

To achieve this, Walrus now uses memcpyEndianAware function for
moving 8 byte-long data (int64, uint64 and double) in Interp on
ARM32. This function generates two LDR and two STR instructions
that can cope with non-aligned addresses.

Moreover, memory.wast test has been improved in order to check
unaligned memory access.

Co-authored-by: Peter Pronai <[email protected]>
Refactor the importing of WASI functions to be clearer.
Implement path_open, fd_seek, fd_read, environ_sizes_get, environ_get for file acces.
Implement the mapping of real directories to virtual ones so that WASI can use different directories.
Add flag '--mapdirs' 'real' 'virtual' for mapping directories.
Add flag '--env' for sharing host envrionment variables.
Add flag '--help' for printing available walrus options.
Also improve random_get test to not have a result.

Signed-off-by: Adam Laszlo Kulcsar <[email protected]>
Signed-off-by: HyukWoo Park <[email protected]>
In some JIT functions, some registers that are used temporary, have
been changed to the (inner) temporary registers used by SLJIT. It's
useful for further register allocation optimalisation.
The new description is more fine grained. A simple
register allocation is added to test the descriptors.

Signed-off-by: Zoltan Herczeg [email protected]
Signed-off-by: Zoltan Herczeg [email protected]
From now, memory handling function are included in Huffman test.

Signed-off-by: Görög Péter Sándor [email protected]
An I32.eqz instruction followed by a JumpIf instruction whose
input is the output of the EqualZero, can be unified.
(i32.eqz + jumpIfTrue == jumpIfFalse)
(i32.eqz + jumpIfFalse == jumpIfTrue)

A test has been added to ensure that the unification is correct.

A getter function has been made const.
The dump function of End bytecode has been improved.

Signed-off-by: Görög Péter Sándor [email protected]
Signed-off-by: HyukWoo Park <[email protected]>
- unify names (e.g. "engine" insted of "e")
- unify naming convention (snake_case everywhere)
- unify string markers (double quotation mark everywhere)
- fstring (instead of string concatenation)
- remove default values (they were unused)
- raise error insted of terminating

Moreover, 2 typos have been fixed in FloatConvInl.h.

Signed-off-by: Görög Péter Sándor [email protected]
Compute full data dependency to get the live range of variables.

Signed-off-by: Zoltan Herczeg [email protected]
Signed-off-by: HyukWoo Park <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants