GCC Code Coverage Report


Directory: ../
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 98.4% 958 / 0 / 974
Functions: 97.8% 91 / 0 / 93
Branches: 57.8% 444 / 0 / 768

src/util/BlockAllocator.h
Line Branch Exec Source
1 // Copyright (c) 2021-2026 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 446 explicit BlockAllocator(const MemoryManager &memoryManager, size_t blockSize = CommonUtil::getSystemPageSize())
17 446 : memoryManager(memoryManager), blockSize(blockSize) {
18
1/2
✓ Branch 5 → 6 taken 446 times.
✗ Branch 5 → 7 not taken.
446 allocateNewBlock();
19 446 }
20 446 ~BlockAllocator() {
21 // Destruct all objects
22
2/2
✓ Branch 8 → 4 taken 1887293 times.
✓ Branch 8 → 9 taken 446 times.
1887739 for (Base *ptr : allocatedObjects)
23 1887293 ptr->~Base();
24 446 allocatedObjects.clear();
25
26 // Free memory
27
2/2
✓ Branch 16 → 12 taken 82984 times.
✓ Branch 16 → 17 taken 446 times.
83430 for (byte *ptr : memoryBlocks)
28 82984 memoryManager.deallocate(ptr);
29 446 memoryBlocks.clear();
30 446 }
31
32 // Public methods
33 1887294 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 1887294 constexpr size_t objSize = sizeof(T);
36
86/172
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 13753 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 8234 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 4407 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 871 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::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 1040 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 17460 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 12497 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 1450 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 142 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 369 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 4263 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 22767 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::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 7769 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::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 92731 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 20483 times.
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 51093 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 21688 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::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 739 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 15540 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 9524 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 125 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 654 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 1012 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 39115 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 86876 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 247 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 738 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 822 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 768 times.
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 82390 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 97932 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::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::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::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 16 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 31 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 432 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 868 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 9975 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::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::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::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::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 2317 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::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::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 125 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 74543 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 997 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 2711 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 87009 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 51092 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::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 209 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 77273 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 1201 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 108 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 32536 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 77135 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::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 75490 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 77236 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 77224 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 18961 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 997 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 76835 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 82743 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::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 99426 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 104 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 123808 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 32 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 91335 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 75 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 224 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 998 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 486 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 1158 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 1231 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 1573 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 19348 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.
1887294 assert(objSize <= blockSize && "Object size exceeds block size");
37
38 // Check if we need a new block
39
162/172
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 305 times.
✓ Branch 4 → 6 taken 13448 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 260 times.
✓ Branch 4 → 6 taken 7974 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 191 times.
✓ Branch 4 → 6 taken 4216 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 22 times.
✓ Branch 4 → 6 taken 849 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::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 36 times.
✓ Branch 4 → 6 taken 1004 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 719 times.
✓ Branch 4 → 6 taken 16741 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 384 times.
✓ Branch 4 → 6 taken 12113 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 1418 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 140 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 361 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 202 times.
✓ Branch 4 → 6 taken 4061 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 844 times.
✓ Branch 4 → 6 taken 21923 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::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 194 times.
✓ Branch 4 → 6 taken 7575 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 69 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2185 times.
✓ Branch 4 → 6 taken 90546 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 435 times.
✓ Branch 4 → 6 taken 20048 times.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2271 times.
✓ Branch 4 → 6 taken 48822 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 819 times.
✓ Branch 4 → 6 taken 20869 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 239 times.
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 17 times.
✓ Branch 4 → 6 taken 722 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 192 times.
✓ Branch 4 → 6 taken 15348 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 131 times.
✓ Branch 4 → 6 taken 9393 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 71 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 21 times.
✓ Branch 4 → 6 taken 633 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 34 times.
✓ Branch 4 → 6 taken 978 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 410 times.
✓ Branch 4 → 6 taken 38705 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4293 times.
✓ Branch 4 → 6 taken 82583 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 243 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 48 times.
✓ Branch 4 → 6 taken 690 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 811 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 757 times.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2327 times.
✓ Branch 4 → 6 taken 80063 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4565 times.
✓ Branch 4 → 6 taken 93367 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::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::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::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 13 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 28 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 6 times.
✓ Branch 4 → 6 taken 426 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 24 times.
✓ Branch 4 → 6 taken 844 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 225 times.
✓ Branch 4 → 6 taken 9750 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 16 times.
✓ Branch 4 → 6 taken 265 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::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::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::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 89 times.
✓ Branch 4 → 6 taken 2228 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::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::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 124 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2130 times.
✓ Branch 4 → 6 taken 72413 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 31 times.
✓ Branch 4 → 6 taken 966 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 44 times.
✓ Branch 4 → 6 taken 2667 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4065 times.
✓ Branch 4 → 6 taken 82944 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1185 times.
✓ Branch 4 → 6 taken 49907 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::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 207 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2524 times.
✓ Branch 4 → 6 taken 74749 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 22 times.
✓ Branch 4 → 6 taken 1179 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 107 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 495 times.
✓ Branch 4 → 6 taken 32041 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2072 times.
✓ Branch 4 → 6 taken 75063 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::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1871 times.
✓ Branch 4 → 6 taken 73619 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1861 times.
✓ Branch 4 → 6 taken 75375 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1878 times.
✓ Branch 4 → 6 taken 75346 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 667 times.
✓ Branch 4 → 6 taken 18294 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 10 times.
✓ Branch 4 → 6 taken 987 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2070 times.
✓ Branch 4 → 6 taken 74765 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1944 times.
✓ Branch 4 → 6 taken 80799 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::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2549 times.
✓ Branch 4 → 6 taken 96877 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 103 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4980 times.
✓ Branch 4 → 6 taken 118828 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 32 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4749 times.
✓ Branch 4 → 6 taken 86586 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 74 times.
spice::compiler::StructInstantiationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructInstantiationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 219 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 17 times.
✓ Branch 4 → 6 taken 981 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 486 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 24 times.
✓ Branch 4 → 6 taken 1134 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 36 times.
✓ Branch 4 → 6 taken 1195 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 29 times.
✓ Branch 4 → 6 taken 1544 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 608 times.
✓ Branch 4 → 6 taken 18740 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.
1887294 if (offsetInBlock + objSize >= blockSize)
40 82539 allocateNewBlock();
41
42 // Construct object at the offset address
43 1887293 byte *destAddr = memoryBlocks.back() + offsetInBlock;
44
11/44
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 8234 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::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 4263 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 22767 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::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 51093 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 86876 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 738 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 87009 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 108 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 91335 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
1887293 T *ptr = new (destAddr) T(std::forward<Args>(args)...);
45
86/172
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 13753 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 8234 times.
✗ Branch 10 → 18 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 4407 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 871 times.
✗ Branch 10 → 15 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::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1040 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 17460 times.
✗ Branch 10 → 15 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 12497 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 1450 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 142 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 369 times.
✗ Branch 10 → 15 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 4263 times.
✗ Branch 10 → 18 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 22767 times.
✗ Branch 10 → 18 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::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7769 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::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 92731 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 20483 times.
✗ 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 51093 times.
✗ Branch 10 → 18 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 21688 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::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 739 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 15540 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 9524 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 125 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 654 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 1012 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 39115 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 86876 times.
✗ Branch 10 → 18 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 247 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 738 times.
✗ Branch 10 → 18 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 822 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 768 times.
✗ 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 82390 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 97932 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::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::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::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16 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 31 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 432 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 868 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 9975 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::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::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::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::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2317 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::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::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 125 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 74543 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 997 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 2711 times.
✗ Branch 10 → 15 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 87009 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 51092 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::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 209 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 77273 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 1201 times.
✗ Branch 10 → 15 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 108 times.
✗ Branch 10 → 18 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 32536 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 77135 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::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 75490 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 77236 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 77224 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 18961 times.
✗ Branch 10 → 15 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 997 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 76835 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 82743 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::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 99426 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 104 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 123808 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 32 times.
✗ Branch 10 → 15 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 91335 times.
✗ Branch 10 → 18 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 75 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 224 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 998 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 486 times.
✗ Branch 10 → 15 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 1158 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 1231 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 1573 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 19348 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.
1887293 allocatedObjects.push_back(ptr);
46
47 #ifndef NDEBUG
48
86/172
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 13753 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 8234 times.
✗ Branch 12 → 19 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 4407 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 871 times.
✗ Branch 12 → 16 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::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1040 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 17460 times.
✗ Branch 12 → 16 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 12497 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 1450 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 142 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 369 times.
✗ Branch 12 → 16 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 4263 times.
✗ Branch 12 → 19 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 22767 times.
✗ Branch 12 → 19 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::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 7769 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::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 92731 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 20483 times.
✗ 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 51093 times.
✗ Branch 12 → 19 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 21688 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::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 739 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 15540 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 9524 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 125 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 654 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 1012 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 39115 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 86876 times.
✗ Branch 12 → 19 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 247 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 738 times.
✗ Branch 12 → 19 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 822 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 768 times.
✗ 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 82390 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 97932 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::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::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::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16 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 31 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 432 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 868 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 9975 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::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::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::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::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2317 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::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::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 125 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 74543 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 997 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 2711 times.
✗ Branch 12 → 16 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 87009 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 51092 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::ContinueStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ContinueStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 209 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 77273 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 1201 times.
✗ Branch 12 → 16 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 108 times.
✗ Branch 12 → 19 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 32536 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 77135 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::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 75490 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 77236 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 77224 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 18961 times.
✗ Branch 12 → 16 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 997 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 76835 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 82743 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::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 99426 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 104 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 123808 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 32 times.
✗ Branch 12 → 16 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 91335 times.
✗ Branch 12 → 19 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 75 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 224 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 998 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 486 times.
✗ Branch 12 → 16 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 1158 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 1231 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 1573 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 19348 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.
1887293 ++allocatedClassStatistic[typeid(T).name()];
49 #endif
50
51 // Update offset to be ready to store the next object
52 1887293 offsetInBlock += objSize;
53 1887293 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 82985 void allocateNewBlock() {
80 // Allocate new block
81
1/2
✓ Branch 2 → 3 taken 82985 times.
✗ Branch 2 → 28 not taken.
82985 byte *ptr = memoryManager.allocate(blockSize);
82
2/2
✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 14 taken 82984 times.
82985 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 82984 times.
✗ Branch 14 → 28 not taken.
82984 memoryBlocks.push_back(ptr);
88 82984 offsetInBlock = 0;
89 82984 }
90 };
91
92 } // namespace spice::compiler
93