diff options
Diffstat (limited to 'ARMeilleure/IntermediateRepresentation/OperationHelper.cs')
| -rw-r--r-- | ARMeilleure/IntermediateRepresentation/OperationHelper.cs | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/ARMeilleure/IntermediateRepresentation/OperationHelper.cs b/ARMeilleure/IntermediateRepresentation/OperationHelper.cs index 538bdac4..0e560ee0 100644 --- a/ARMeilleure/IntermediateRepresentation/OperationHelper.cs +++ b/ARMeilleure/IntermediateRepresentation/OperationHelper.cs @@ -4,11 +4,6 @@ namespace ARMeilleure.IntermediateRepresentation { static class OperationHelper { - public static Operation Operation() - { - return ThreadStaticPool<Operation>.Instance.Allocate(); - } - public static Operation Operation(Instruction instruction, Operand destination) { return Operation().With(instruction, destination); @@ -46,19 +41,26 @@ namespace ARMeilleure.IntermediateRepresentation return Operation().With(instruction, destinations, sources); } - public static void PrepareOperationPool(bool highCq) + #region "ThreadStaticPool" + public static void PrepareOperationPool(int groupId = 0) { - ThreadStaticPool<Operation>.PreparePool(highCq ? 1 : 0); + ThreadStaticPool<Operation>.PreparePool(groupId, ChunkSizeLimit.Medium); + } + + private static Operation Operation() + { + return ThreadStaticPool<Operation>.Instance.Allocate(); } - public static void ReturnOperationPool(bool highCq) + public static void ResetOperationPool(int groupId = 0) { - ThreadStaticPool<Operation>.ReturnPool(highCq ? 1 : 0); + ThreadStaticPool<Operation>.ResetPool(groupId); } - public static void ResetOperationPools() + public static void DisposeOperationPools() { - ThreadStaticPool<Operation>.ResetPools(); + ThreadStaticPool<Operation>.DisposePools(); } + #endregion } } |
