GCC Code Coverage Report


Directory: ../
File: src/util/BlockAllocator.h
Date: 2025-11-11 23:26:16
Coverage Exec Excl Total
Lines: 98.4% 958 0 974
Functions: 97.8% 91 0 93
Branches: 57.8% 444 0 768

Line Branch Exec Source
1 // Copyright (c) 2021-2025 ChilliBits. All rights reserved.
2
3 #pragma once
4
5 #include <vector>
6
7 #include <exception/CompilerError.h>
8 #include <util/CommonUtil.h>
9 #include <util/Memory.h>
10
11 namespace spice::compiler {
12
13 template <typename Base> class BlockAllocator {
14 public:
15 // Constructors
16 430 explicit BlockAllocator(const MemoryManager &memoryManager, size_t blockSize = CommonUtil::getSystemPageSize())
17 430 : memoryManager(memoryManager), blockSize(blockSize) {
18
1/2
✓ Branch 5 → 6 taken 430 times.
✗ Branch 5 → 7 not taken.
430 allocateNewBlock();
19 430 }
20 430 ~BlockAllocator() {
21 // Destruct all objects
22
2/2
✓ Branch 8 → 4 taken 1771404 times.
✓ Branch 8 → 9 taken 430 times.
1771834 for (Base *ptr : allocatedObjects)
23 1771404 ptr->~Base();
24 430 allocatedObjects.clear();
25
26 // Free memory
27
2/2
✓ Branch 16 → 12 taken 79256 times.
✓ Branch 16 → 17 taken 430 times.
79686 for (byte *ptr : memoryBlocks)
28 79256 memoryManager.deallocate(ptr);
29 430 memoryBlocks.clear();
30 430 }
31
32 // Public methods
33 1771405 template <typename T, typename... Args> T *allocate(Args &&...args) {
34 static_assert(std::is_base_of_v<Base, T>, "T must be derived from Base");
35 1771405 constexpr size_t objSize = sizeof(T);
36
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 746 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 53 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 30 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 21874 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 7119 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 978 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 957 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 9142 times.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12808 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 68 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1533 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 236 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 20613 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 14480 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 31309 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 37678 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 356 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 461 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 16 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 833 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1191 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1190 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 418 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 7974 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 4026 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12000 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 712 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 103 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 68 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 957 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1108 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1020 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 640 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2585 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1385 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 124 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 786 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 9 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 4263 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 249 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 17863 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71740 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 76987 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 80949 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 81080 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 85209 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 86534 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 92873 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 116408 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 91575 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 18245 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71704 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 16399 times.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 70 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 223 times.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 27 times.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 48155 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 48154 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 18220 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 70 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 9637 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 119 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 199 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 716 times.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2280 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 856 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 281 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 11 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 88 times.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 137 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 992 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 76647 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 69102 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 70027 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71312 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71605 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71693 times.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 101009 times.
1771405 assert(objSize <= blockSize && "Object size exceeds block size");
37
38 // Check if we need a new block
39
162/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 18 times.
✓ Branch 4 → 6 taken 728 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 52 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 6 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 30 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 816 times.
✓ Branch 4 → 6 taken 21058 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 162 times.
✓ Branch 4 → 6 taken 6957 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 15 times.
✓ Branch 4 → 6 taken 963 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 925 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 116 times.
✓ Branch 4 → 6 taken 9026 times.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 292 times.
✓ Branch 4 → 6 taken 12516 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 68 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 12 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 1501 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 231 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 762 times.
✓ Branch 4 → 6 taken 19851 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 182 times.
✓ Branch 4 → 6 taken 14298 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 456 times.
✓ Branch 4 → 6 taken 30853 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 402 times.
✓ Branch 4 → 6 taken 37276 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 348 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 459 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 16 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 19 times.
✓ Branch 4 → 6 taken 814 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 21 times.
✓ Branch 4 → 6 taken 1170 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 1158 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 413 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 252 times.
✓ Branch 4 → 6 taken 7722 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 214 times.
✓ Branch 4 → 6 taken 3812 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 363 times.
✓ Branch 4 → 6 taken 11637 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 44 times.
✓ Branch 4 → 6 taken 668 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 102 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 64 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 946 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 68 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25 times.
✓ Branch 4 → 6 taken 1083 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 35 times.
✓ Branch 4 → 6 taken 985 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 19 times.
✓ Branch 4 → 6 taken 621 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 43 times.
✓ Branch 4 → 6 taken 2542 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 33 times.
✓ Branch 4 → 6 taken 1352 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 123 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 778 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 8 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 202 times.
✓ Branch 4 → 6 taken 4061 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 241 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 312 times.
✓ Branch 4 → 6 taken 17551 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2376 times.
✓ Branch 4 → 6 taken 69364 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1811 times.
✓ Branch 4 → 6 taken 75176 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4030 times.
✓ Branch 4 → 6 taken 76919 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3808 times.
✓ Branch 4 → 6 taken 77272 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4483 times.
✓ Branch 4 → 6 taken 80726 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2073 times.
✓ Branch 4 → 6 taken 84461 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2466 times.
✓ Branch 4 → 6 taken 90407 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4657 times.
✓ Branch 4 → 6 taken 111751 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4303 times.
✓ Branch 4 → 6 taken 87272 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 536 times.
✓ Branch 4 → 6 taken 17709 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1675 times.
✓ Branch 4 → 6 taken 70029 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 665 times.
✓ Branch 4 → 6 taken 15734 times.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 69 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 6 times.
✓ Branch 4 → 6 taken 217 times.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 9 times.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 24 times.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2200 times.
✓ Branch 4 → 6 taken 45955 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1083 times.
✓ Branch 4 → 6 taken 47071 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 612 times.
✓ Branch 4 → 6 taken 17608 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 2 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 67 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 217 times.
✓ Branch 4 → 6 taken 9420 times.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 54 times.
✓ Branch 4 → 6 taken 65 times.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 197 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 5 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 706 times.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 90 times.
✓ Branch 4 → 6 taken 2190 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25 times.
✓ Branch 4 → 6 taken 831 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 270 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 11 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 88 times.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 135 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 29 times.
✓ Branch 4 → 6 taken 963 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2203 times.
✓ Branch 4 → 6 taken 74444 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2030 times.
✓ Branch 4 → 6 taken 67072 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1610 times.
✓ Branch 4 → 6 taken 68417 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1955 times.
✓ Branch 4 → 6 taken 69357 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1923 times.
✓ Branch 4 → 6 taken 69682 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1662 times.
✓ Branch 4 → 6 taken 70031 times.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25252 times.
✓ Branch 4 → 6 taken 75757 times.
1771405 if (offsetInBlock + objSize >= blockSize)
40 78827 allocateNewBlock();
41
42 // Construct object at the offset address
43 1771404 byte *destAddr = memoryBlocks.back() + offsetInBlock;
44
11/44
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 21874 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 7974 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 4026 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 712 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 103 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 68 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 71 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 80949 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 81080 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 85209 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 48155 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
1771404 T *ptr = new (destAddr) T(std::forward<Args>(args)...);
45
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 746 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 53 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 30 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 21874 times.
✗ Branch 10 → 18 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7119 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 978 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 957 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9142 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12808 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1533 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 236 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 20613 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 14480 times.
✗ Branch 10 → 15 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 31309 times.
✗ Branch 10 → 15 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 37678 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 356 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 461 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 833 times.
✗ Branch 10 → 15 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1191 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1190 times.
✗ Branch 10 → 15 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 418 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7974 times.
✗ Branch 10 → 18 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4026 times.
✗ Branch 10 → 18 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12000 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 712 times.
✗ Branch 10 → 18 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 103 times.
✗ Branch 10 → 18 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 18 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 957 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71 times.
✗ Branch 10 → 18 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1108 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1020 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 640 times.
✗ Branch 10 → 15 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2585 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1385 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 124 times.
✗ Branch 10 → 15 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 786 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9 times.
✗ Branch 10 → 15 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4263 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 249 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 17863 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71740 times.
✗ Branch 10 → 15 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 76987 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 80949 times.
✗ Branch 10 → 18 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 81080 times.
✗ Branch 10 → 18 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 85209 times.
✗ Branch 10 → 18 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 86534 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 92873 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 116408 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 91575 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 18245 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71704 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16399 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 70 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 223 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 27 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 48155 times.
✗ Branch 10 → 18 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 48154 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 18220 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 70 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9637 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 119 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 199 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 716 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2280 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 856 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 281 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 11 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 88 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 137 times.
✗ Branch 10 → 15 not taken.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 992 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 76647 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 69102 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 70027 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71312 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71605 times.
✗ Branch 10 → 15 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71693 times.
✗ Branch 10 → 15 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 101008 times.
✗ Branch 10 → 15 not taken.
1771404 allocatedObjects.push_back(ptr);
46
47 #ifndef NDEBUG
48
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 746 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 53 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 30 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 21874 times.
✗ Branch 12 → 19 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 7119 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 978 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 957 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9142 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12808 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1533 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 236 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 20613 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 14480 times.
✗ Branch 12 → 16 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 31309 times.
✗ Branch 12 → 16 not taken.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 37678 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 356 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 461 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 833 times.
✗ Branch 12 → 16 not taken.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1191 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1190 times.
✗ Branch 12 → 16 not taken.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 418 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 7974 times.
✗ Branch 12 → 19 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4026 times.
✗ Branch 12 → 19 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12000 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 712 times.
✗ Branch 12 → 19 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 103 times.
✗ Branch 12 → 19 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 19 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 957 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71 times.
✗ Branch 12 → 19 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1108 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1020 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 640 times.
✗ Branch 12 → 16 not taken.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2585 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1385 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 124 times.
✗ Branch 12 → 16 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 786 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9 times.
✗ Branch 12 → 16 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4263 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 249 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 17863 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71740 times.
✗ Branch 12 → 16 not taken.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 76987 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 80949 times.
✗ Branch 12 → 19 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 81080 times.
✗ Branch 12 → 19 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 85209 times.
✗ Branch 12 → 19 not taken.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 86534 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 92873 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 116408 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 91575 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 18245 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71704 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16399 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 70 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 223 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaProcNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaProcNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 27 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 48155 times.
✗ Branch 12 → 19 not taken.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 48154 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 18220 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 70 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9637 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BreakStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BreakStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 119 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 199 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 716 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2280 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 856 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 281 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 11 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 88 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LenCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LenCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 137 times.
✗ Branch 12 → 16 not taken.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 992 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 76647 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 69102 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 70027 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71312 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71605 times.
✗ Branch 12 → 16 not taken.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71693 times.
✗ Branch 12 → 16 not taken.
spice::testing::DummyNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::testing::DummyNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 101008 times.
✗ Branch 12 → 16 not taken.
1771404 ++allocatedClassStatistic[typeid(T).name()];
49 #endif
50
51 // Update offset to be ready to store the next object
52 1771404 offsetInBlock += objSize;
53 1771404 return ptr;
54 }
55
56 2 [[nodiscard]] size_t getTotalAllocatedSize() const { return memoryBlocks.size() * blockSize; }
57 2 [[nodiscard]] size_t getAllocationCount() const { return allocatedObjects.size(); }
58 #ifndef NDEBUG
59 void printAllocatedClassStatistic() const {
60 std::vector<std::pair<const char *, size_t>> elements(allocatedClassStatistic.begin(), allocatedClassStatistic.end());
61 std::sort(elements.begin(), elements.end(), [](const auto &left, const auto &right) { return left.second > right.second; });
62 for (const auto &[mangledName, count] : elements)
63 std::cout << CommonUtil::demangleTypeName(mangledName) << ": " << count << std::endl;
64 }
65 #endif
66
67 private:
68 // Private members
69 const MemoryManager &memoryManager;
70 std::vector<byte *> memoryBlocks;
71 std::vector<Base *> allocatedObjects;
72 #ifndef NDEBUG
73 std::unordered_map<const char *, size_t> allocatedClassStatistic;
74 #endif
75 size_t blockSize;
76 size_t offsetInBlock = 0;
77
78 // Private methods
79 79257 void allocateNewBlock() {
80 // Allocate new block
81
1/2
✓ Branch 2 → 3 taken 79257 times.
✗ Branch 2 → 28 not taken.
79257 byte *ptr = memoryManager.allocate(blockSize);
82
2/2
✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 14 taken 79256 times.
79257 if (!ptr)
83
2/4
✓ Branch 7 → 8 taken 1 time.
✗ Branch 7 → 21 not taken.
✓ Branch 9 → 10 taken 1 time.
✗ Branch 9 → 16 not taken.
4 throw CompilerError(OOM, "Could not allocate memory for BlockAllocator. Already allocated " +
84
2/4
✓ Branch 6 → 7 taken 1 time.
✗ Branch 6 → 23 not taken.
✓ Branch 8 → 9 taken 1 time.
✗ Branch 8 → 19 not taken.
4 std::to_string(memoryBlocks.size()) + " blocks.");
85
86 // Store pointer and reset offset
87
1/2
✓ Branch 14 → 15 taken 79256 times.
✗ Branch 14 → 28 not taken.
79256 memoryBlocks.push_back(ptr);
88 79256 offsetInBlock = 0;
89 79256 }
90 };
91
92 } // namespace spice::compiler
93