Ryujinx-git/ARMeilleure/IntermediateRepresentation
FICTURE7 89791ba68d
Add inlined on translation call counting (#2190)
* Add EntryTable<TEntry>

* Add on translation call counting

* Add Counter

* Add PPTC support

* Make Counter a generic & use a 32-bit counter instead

* Return false on overflow

* Set PPTC version

* Print more information about the rejit queue

* Make Counter<T> disposable

* Remove Block.TailCall since it is not used anymore

* Apply suggestions from code review

Address gdkchan's feedback

Co-authored-by: gdkchan <gab.dark.100@gmail.com>

* Fix more stale docs

* Remove rejit requests queue logging

* Make Counter<T> finalizable

Most certainly quite an odd use case.

* Make EntryTable<T>.TryAllocate set entry to default

* Re-trigger CI

* Dispose Counters before they hit the finalizer queue

* Re-trigger CI

Just for good measure...

* Make EntryTable<T> expandable

* EntryTable is now expandable instead of being a fixed slab.
* Remove EntryTable<T>.TryAllocate
* Remove Counter<T>.TryCreate

Address LDj3SNuD's feedback

* Apply suggestions from code review

Address LDj3SNuD's feedback

Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>

* Remove useless return

* POH approach, but the sequel

* Revert "POH approach, but the sequel"

This reverts commit 5f5abaa24735726ff2db367dc74f98055d4f4cba.

The sequel got shelved

* Add extra documentation

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: LDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>
2021-04-18 23:43:53 +02:00
..
BasicBlock.cs Implement block placement (#1549) 2020-09-19 20:00:24 -03:00
BasicBlockFrequency.cs Implement block placement (#1549) 2020-09-19 20:00:24 -03:00
Comparison.cs Improve branch operations (#1442) 2020-08-05 08:52:33 +10:00
IIntrusiveListNode.cs Replace LinkedList by IntrusiveList to avoid allocations on JIT (#931) 2020-02-17 22:30:54 +01:00
Instruction.cs Relax block ordering constraints (#1535) 2020-09-12 12:32:53 -03:00
Intrinsic.cs CPU (A64): Add Fmaxnmp & Fminnmp Scalar Inst.s, Fast & Slow Paths; with Tests. (#1894) 2021-01-20 09:12:33 +11:00
IntrinsicOperation.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
IntrusiveList.cs Replace LinkedList by IntrusiveList to avoid allocations on JIT (#931) 2020-02-17 22:30:54 +01:00
MemoryOperand.cs CodeGen Optimisations (LSRA and Translator) (#978) 2020-03-18 22:44:32 +11:00
Multiplier.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
Node.cs Fix Node Uses/Assignments (#1376) 2020-07-13 20:20:07 +10:00
Operand.cs Reduce allocation during SSA construction (#2162) 2021-04-02 19:26:16 +02:00
OperandHelper.cs Add inlined on translation call counting (#2190) 2021-04-18 23:43:53 +02:00
OperandKind.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
OperandType.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
Operation.cs CodeGen Optimisations (LSRA and Translator) (#978) 2020-03-18 22:44:32 +11:00
OperationHelper.cs PPTC & Pool Enhancements. (#1968) 2021-02-22 03:23:48 +01:00
PhiNode.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
Register.cs Add a new JIT compiler for CPU code (#693) 2019-08-08 21:56:22 +03:00
RegisterType.cs Add most of the A32 instruction set to ARMeilleure (#897) 2020-02-24 08:20:40 +11:00