Fabian
58f9902057
merge updates to last_op_size and flags_changed
2022-11-15 10:14:28 +09:00
Fabian
c6ef3c4c68
cache state flags
2022-11-15 10:14:28 +09:00
Fabian
e1b6e34c19
wip code tlb
2022-11-15 10:14:28 +09:00
Fabian
85df1ec798
Expect tests: tlb offset is not stable
2021-09-23 20:13:08 +02:00
Fabian
cd4c5bd49e
Update expect tests
2021-05-22 23:59:23 -05:00
viorelcanja
757d95b6be
Mem fast path optimization ( #469 )
...
Remove one addition from the memory access fast path
2021-05-23 06:03:34 +02:00
viorelcanja
0297f48346
resize tlb_data to proper size ( #468 )
...
Resize tlb_data to proper size
Reduce initial memory size
2021-05-08 22:49:37 +02:00
Fabian
5f3453acf9
Update expect tests
2021-04-04 23:47:40 -05:00
Fabian
472e53fec6
Update expect tests
2020-12-31 19:14:33 -06:00
Fabian
39eb650ff3
Update expect tests
2020-12-31 19:14:33 -06:00
Fabian
faadca9f35
Update expect tests
2020-12-31 19:14:32 -06:00
Fabian
14214fe113
Update expect tests
2020-12-31 19:14:32 -06:00
Fabian
1f1474680b
Update expect tests
2020-12-31 19:14:32 -06:00
Fabian
584ab0cca0
Support null segment #gp in jit mode (Windows 98 / Windows ME / QNX)
2020-12-31 19:14:32 -06:00
Fabian
46cb7eb212
Accept expect tests (order of types changed)
2020-12-31 19:14:31 -06:00
Fabian
cd65ecca9e
Optimise safe_write* by using tlb info to skip dirty page check
2020-12-31 19:14:31 -06:00
Fabian
69238b96a7
Update expect tests
2020-12-31 19:14:30 -06:00
Fabian
e498b4a1c5
Add expect test for STI
2020-12-31 19:14:30 -06:00
Fabian
073f2d03e9
Expect tests: Remove interactive mode
2020-12-31 19:14:30 -06:00
Fabian
d0b04863f6
Accept expect test changes
2020-12-31 19:14:30 -06:00
Fabian
5ca991b929
Add ./tests/expect/run.js --accept-all as a nicer workflow to accept changes
2020-12-31 19:14:30 -06:00
Fabian
8a0e31da16
Update expect tests (inc32)
2020-12-31 19:14:30 -06:00
Fabian
acb8ad5423
Avoid console.assert (doesn't throw)
2020-12-31 19:14:30 -06:00
Fabian
3a473aad79
Remove prefix handling from jit and exceptions
2020-12-31 19:14:30 -06:00
Fabian
ae3a652333
jit_add_seg_offset: Assert that segment is not null
2020-12-31 19:14:29 -06:00
Fabian
3f1ba044ed
Increment timestamp_counter before running basic block
2020-12-31 19:14:29 -06:00
Fabian
e2eecc7295
task_switch_test*_jit: assert that jit agrees
2020-12-31 19:14:29 -06:00
Fabian
492a2cf78e
Update previous_ip only if page fault is going to happen
2020-12-31 19:14:29 -06:00
Fabian
c47b4b252c
Optimise cr0 access in task_switch_test (only low byte needed)
2020-12-31 19:14:29 -06:00
Fabian
c5cd93678e
Pass local to gen_safe_read, add single function for modrm_resolve and gen_safe_read (preparation for later optimisations)
2020-12-31 19:14:29 -06:00
Fabian
aad8072aa7
Optimise push reg
2020-12-31 19:14:28 -06:00
Fabian
43fcdf9fc2
Introduce LocalOrImmediate for more efficient parameter passing to cmp/test instructions
2020-12-31 19:14:28 -06:00
Fabian
bc3c73a607
wasm state machine: Fallthrough
2020-12-31 19:14:28 -06:00
Fabian
63afa77167
Global pointers: Align general purpose registers, sse registers and flags
2020-12-31 19:14:28 -06:00
Fabian
5f31a8aba2
Update expect tests for flags and arithmetic code generation (last two commits)
2020-12-31 19:14:28 -06:00
Fabian
b5a72061fb
Custom codegen for absolute jmp/call (FF_2/FF_4)
2020-12-31 19:14:28 -06:00
Fabian
aadaf13854
Update expect tests
2020-08-30 19:37:15 -05:00
Fabian
c2508bc61e
Update expect tests
2020-08-30 19:37:15 -05:00
Fabian
fc954cecea
Update libwabt (fix failing decoding of large generated modules)
2020-08-30 19:37:15 -05:00
Fabian
958fb7b9d6
Update expect tests
2020-08-30 19:37:15 -05:00
Fabian
29395181d2
Update expect test results
2020-08-30 19:37:15 -05:00
Fabian
9e13650c19
fixup expect tests
2020-08-30 19:37:15 -05:00
Fabian
5b95165de2
Add TEST_RELEASE_BUILD to run tests on release build
2020-08-30 19:37:15 -05:00
Fabian
52b6e0caae
Normalise memory offset in output wast in expect tests
2020-08-30 19:37:15 -05:00
Fabian
0798a0b40e
Don't create unnecessary entry points
...
This commit prevents creation of entry points for jumps within the same
page. In interpreted mode, execution is continued on these kinds of
jumps.
Since this prevents the old hotness detection from working efficiently,
hotness detection has also been changed to work based on instruction
counters, and is such more precise (longer basic blocks are compiled
earlier).
This also breaks the old detection loop safety mechanism and causes
Linux to sometimes loop forever on "calibrating delay loop", so
JIT_ALWAYS_USE_LOOP_SAFETY has been set to 1.
2020-08-30 19:29:54 -05:00
Fabian
b70a5c081a
Allow fast path for memory reads from pages that contain code
2020-08-30 19:29:54 -05:00
Fabian
295985e8e0
Remove code section: Only a single buffer is used for generating code
2020-08-30 19:29:54 -05:00
Fabian
12eb838939
Expect tests: Catch libwabt errors and try to help
2020-08-30 19:29:54 -05:00
Fabian
3b1063d58a
Expect tests: Accept TEST_NAME env variable
2020-08-30 19:29:54 -05:00
Fabian
3706bcac12
Use jit for read-modify-write arithmetic instructions
2020-08-30 19:29:54 -05:00