GCC Code Coverage Report


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

Line Branch Exec Source
1 // Copyright (c) 2021-2025 ChilliBits. All rights reserved.
2
3 #pragma once
4
5 #include <vector>
6
7 #include <exception/CompilerError.h>
8 #include <util/CommonUtil.h>
9 #include <util/Memory.h>
10
11 namespace spice::compiler {
12
13 template <typename Base> class BlockAllocator {
14 public:
15 // Constructors
16 436 explicit BlockAllocator(const MemoryManager &memoryManager, size_t blockSize = CommonUtil::getSystemPageSize())
17 436 : memoryManager(memoryManager), blockSize(blockSize) {
18
1/2
✓ Branch 5 → 6 taken 436 times.
✗ Branch 5 → 7 not taken.
436 allocateNewBlock();
19 436 }
20 436 ~BlockAllocator() {
21 // Destruct all objects
22
2/2
✓ Branch 8 → 4 taken 1850858 times.
✓ Branch 8 → 9 taken 436 times.
1851294 for (Base *ptr : allocatedObjects)
23 1850858 ptr->~Base();
24 436 allocatedObjects.clear();
25
26 // Free memory
27
2/2
✓ Branch 16 → 12 taken 81806 times.
✓ Branch 16 → 17 taken 436 times.
82242 for (byte *ptr : memoryBlocks)
28 81806 memoryManager.deallocate(ptr);
29 436 memoryBlocks.clear();
30 436 }
31
32 // Public methods
33 1850859 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 1850859 constexpr size_t objSize = sizeof(T);
36
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 746 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 53 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 32 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 22279 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 7656 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 986 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 972 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 9328 times.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 13495 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 68 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 12 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1544 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 236 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 21196 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 15234 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 31891 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 38340 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 360 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 469 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 16 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 845 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 1195 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 1203 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 422 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 8070 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 4170 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 12240 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 717 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 103 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 68 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 972 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 71 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1120 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 1028 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 643 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 2640 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 1411 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 124 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 800 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 9 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 4319 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 249 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 20079 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 75700 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 81061 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 85093 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 85226 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 89439 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 90795 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 97285 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 121115 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 95849 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 19022 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 75663 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 17151 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 223 times.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 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::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 50121 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 50120 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 18666 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 2 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 70 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 9767 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 121 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 203 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 6 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 766 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 2295 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 861 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 281 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 11 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 104 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 139 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 1000 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 1 time.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 2 → 3 not taken.
✓ Branch 2 → 4 taken 80691 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 73025 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 73958 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 75267 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 75562 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 75651 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.
1850859 assert(objSize <= blockSize && "Object size exceeds block size");
37
38 // Check if we need a new block
39
162/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 18 times.
✓ Branch 4 → 6 taken 728 times.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 52 times.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 6 times.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 32 times.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 824 times.
✓ Branch 4 → 6 taken 21455 times.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 189 times.
✓ Branch 4 → 6 taken 7467 times.
spice::compiler::TypeLstWithEllipsisNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstWithEllipsisNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 16 times.
✓ Branch 4 → 6 taken 970 times.
spice::compiler::TypeAltsLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeAltsLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 940 times.
spice::compiler::ParamLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ParamLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 120 times.
✓ Branch 4 → 6 taken 9208 times.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 304 times.
✓ Branch 4 → 6 taken 13191 times.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 68 times.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 12 times.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 31 times.
✓ Branch 4 → 6 taken 1513 times.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 231 times.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 799 times.
✓ Branch 4 → 6 taken 20397 times.
spice::compiler::ExprStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExprStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 191 times.
✓ Branch 4 → 6 taken 15043 times.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 466 times.
✓ Branch 4 → 6 taken 31425 times.
spice::compiler::QualifierNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 405 times.
✓ Branch 4 → 6 taken 37935 times.
spice::compiler::ModAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ModAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 7 times.
✓ Branch 4 → 6 taken 353 times.
spice::compiler::TopLevelDefinitionAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TopLevelDefinitionAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2 times.
✓ Branch 4 → 6 taken 467 times.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 16 times.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 19 times.
✓ Branch 4 → 6 taken 826 times.
spice::compiler::GlobalVarDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GlobalVarDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 21 times.
✓ Branch 4 → 6 taken 1174 times.
spice::compiler::EntryNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EntryNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 1171 times.
spice::compiler::MainFctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MainFctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 5 times.
✓ Branch 4 → 6 taken 417 times.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 253 times.
✓ Branch 4 → 6 taken 7817 times.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 215 times.
✓ Branch 4 → 6 taken 3955 times.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 376 times.
✓ Branch 4 → 6 taken 11864 times.
spice::compiler::StructDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StructDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 44 times.
✓ Branch 4 → 6 taken 673 times.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 102 times.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4 times.
✓ Branch 4 → 6 taken 64 times.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 961 times.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 68 times.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25 times.
✓ Branch 4 → 6 taken 1095 times.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 35 times.
✓ Branch 4 → 6 taken 993 times.
spice::compiler::ImportDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ImportDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 19 times.
✓ Branch 4 → 6 taken 624 times.
spice::compiler::UnsafeBlockNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::UnsafeBlockNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 42 times.
✓ Branch 4 → 6 taken 2598 times.
spice::compiler::ForLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 34 times.
✓ Branch 4 → 6 taken 1377 times.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 123 times.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 792 times.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 8 times.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 201 times.
✓ Branch 4 → 6 taken 4118 times.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 8 times.
✓ Branch 4 → 6 taken 241 times.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 432 times.
✓ Branch 4 → 6 taken 19647 times.
spice::compiler::EqualityExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EqualityExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2481 times.
✓ Branch 4 → 6 taken 73219 times.
spice::compiler::RelationalExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::RelationalExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1906 times.
✓ Branch 4 → 6 taken 79155 times.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4212 times.
✓ Branch 4 → 6 taken 80881 times.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3929 times.
✓ Branch 4 → 6 taken 81297 times.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4660 times.
✓ Branch 4 → 6 taken 84779 times.
spice::compiler::CastExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CastExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2153 times.
✓ Branch 4 → 6 taken 88642 times.
spice::compiler::PrefixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrefixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2537 times.
✓ Branch 4 → 6 taken 94748 times.
spice::compiler::PostfixUnaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PostfixUnaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4920 times.
✓ Branch 4 → 6 taken 116195 times.
spice::compiler::AtomicExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AtomicExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 4465 times.
✓ Branch 4 → 6 taken 91384 times.
spice::compiler::ValueNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ValueNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 564 times.
✓ Branch 4 → 6 taken 18458 times.
spice::compiler::BitwiseAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1789 times.
✓ Branch 4 → 6 taken 73874 times.
spice::compiler::FctCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 710 times.
✓ Branch 4 → 6 taken 16441 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 6 times.
✓ Branch 4 → 6 taken 217 times.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 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::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2273 times.
✓ Branch 4 → 6 taken 47848 times.
spice::compiler::BaseDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BaseDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1132 times.
✓ Branch 4 → 6 taken 48988 times.
spice::compiler::CustomDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CustomDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 640 times.
✓ Branch 4 → 6 taken 18026 times.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 2 times.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 3 times.
✓ Branch 4 → 6 taken 67 times.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 220 times.
✓ Branch 4 → 6 taken 9547 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 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 201 times.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1 time.
✓ Branch 4 → 6 taken 5 times.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 11 times.
✓ Branch 4 → 6 taken 755 times.
spice::compiler::BuiltinCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BuiltinCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 88 times.
✓ Branch 4 → 6 taken 2207 times.
spice::compiler::PrintfCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PrintfCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 25 times.
✓ Branch 4 → 6 taken 836 times.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 12 times.
✓ Branch 4 → 6 taken 269 times.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 11 times.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 104 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 137 times.
spice::compiler::PanicCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::PanicCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 32 times.
✓ Branch 4 → 6 taken 968 times.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✗ Branch 4 → 5 not taken.
✓ Branch 4 → 6 taken 1 time.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2302 times.
✓ Branch 4 → 6 taken 78389 times.
spice::compiler::TernaryExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TernaryExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2109 times.
✓ Branch 4 → 6 taken 70916 times.
spice::compiler::LogicalOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1791 times.
✓ Branch 4 → 6 taken 72167 times.
spice::compiler::LogicalAndExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LogicalAndExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 2045 times.
✓ Branch 4 → 6 taken 73222 times.
spice::compiler::BitwiseOrExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseOrExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1989 times.
✓ Branch 4 → 6 taken 73573 times.
spice::compiler::BitwiseXorExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::BitwiseXorExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 4 → 5 taken 1849 times.
✓ Branch 4 → 6 taken 73802 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.
1850859 if (offsetInBlock + objSize >= blockSize)
40 81371 allocateNewBlock();
41
42 // Construct object at the offset address
43 1850858 byte *destAddr = memoryBlocks.back() + offsetInBlock;
44
11/44
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 22279 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::FctDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 8070 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 4170 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 717 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 103 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 68 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 71 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
spice::compiler::ShiftExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ShiftExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 9 → 10 taken 85093 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 85226 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 89439 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 50121 times.
✗ Branch 9 → 15 not taken.
✗ Branch 15 → 16 not taken.
✗ Branch 15 → 17 not taken.
1850858 T *ptr = new (destAddr) T(std::forward<Args>(args)...);
45
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 746 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 53 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 32 times.
✗ Branch 10 → 15 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 22279 times.
✗ Branch 10 → 18 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 7656 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 986 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 972 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 9328 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 13495 times.
✗ Branch 10 → 15 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1544 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 236 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 21196 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 15234 times.
✗ Branch 10 → 15 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 31891 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 38340 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 360 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 469 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 16 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 845 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 1195 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 1203 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 422 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 8070 times.
✗ Branch 10 → 18 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4170 times.
✗ Branch 10 → 18 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 12240 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 717 times.
✗ Branch 10 → 18 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 103 times.
✗ Branch 10 → 18 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 68 times.
✗ Branch 10 → 18 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 972 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 71 times.
✗ Branch 10 → 18 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1120 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1028 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 643 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 2640 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 1411 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 124 times.
✗ Branch 10 → 15 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 800 times.
✗ Branch 10 → 15 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9 times.
✗ Branch 10 → 15 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 4319 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 249 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 20079 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 75700 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 81061 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 85093 times.
✗ Branch 10 → 18 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 85226 times.
✗ Branch 10 → 18 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 89439 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 90795 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 97285 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 121115 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 95849 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 19022 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 75663 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 17151 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 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 223 times.
✗ Branch 10 → 15 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 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::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 50121 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 50120 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 18666 times.
✗ Branch 10 → 15 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 2 times.
✗ Branch 10 → 15 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 70 times.
✗ Branch 10 → 15 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 9767 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 121 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 203 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 6 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 766 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 2295 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 861 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 281 times.
✗ Branch 10 → 15 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 11 times.
✗ Branch 10 → 15 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 104 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 139 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 1000 times.
✗ Branch 10 → 15 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 1 time.
✗ Branch 10 → 15 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 10 → 11 taken 80691 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 73025 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 73958 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 75267 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 75562 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 75651 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.
1850858 allocatedObjects.push_back(ptr);
46
47 #ifndef NDEBUG
48
86/172
spice::compiler::EnumItemNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 746 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 53 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DefaultBranchNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DefaultBranchNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AnonymousBlockStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AnonymousBlockStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 32 times.
✗ Branch 12 → 16 not taken.
spice::compiler::StmtLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::StmtLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 22279 times.
✗ Branch 12 → 19 not taken.
spice::compiler::TypeLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 7656 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 986 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 972 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 9328 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ArgLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArgLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 13495 times.
✗ Branch 12 → 16 not taken.
spice::compiler::EnumItemLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumItemLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SwitchStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SwitchStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FieldNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FieldNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1544 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SignatureNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SignatureNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 236 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DeclStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DeclStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 21196 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 15234 times.
✗ Branch 12 → 16 not taken.
spice::compiler::QualifierLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::QualifierLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 31891 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 38340 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 360 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 469 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaAttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaAttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 16 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AttrLstNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrLstNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 845 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 1195 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 1203 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 422 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 8070 times.
✗ Branch 12 → 19 not taken.
spice::compiler::ProcDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ProcDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4170 times.
✗ Branch 12 → 19 not taken.
spice::compiler::FctNameNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FctNameNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 12240 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 717 times.
✗ Branch 12 → 19 not taken.
spice::compiler::InterfaceDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::InterfaceDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 103 times.
✗ Branch 12 → 19 not taken.
spice::compiler::EnumDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::EnumDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 68 times.
✗ Branch 12 → 19 not taken.
spice::compiler::GenericTypeDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::GenericTypeDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 972 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AliasDefNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AliasDefNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 71 times.
✗ Branch 12 → 19 not taken.
spice::compiler::AttrNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AttrNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1120 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ExtDeclNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ExtDeclNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1028 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 643 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 2640 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 1411 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ForeachLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ForeachLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 124 times.
✗ Branch 12 → 16 not taken.
spice::compiler::WhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::WhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 800 times.
✗ Branch 12 → 16 not taken.
spice::compiler::DoWhileLoopNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DoWhileLoopNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9 times.
✗ Branch 12 → 16 not taken.
spice::compiler::IfStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::IfStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 4319 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ElseStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ElseStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 249 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 20079 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 75700 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 81061 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 85093 times.
✗ Branch 12 → 19 not taken.
spice::compiler::AdditiveExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AdditiveExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 85226 times.
✗ Branch 12 → 19 not taken.
spice::compiler::MultiplicativeExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::MultiplicativeExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 89439 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 90795 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 97285 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 121115 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 95849 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 19022 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 75663 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 17151 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ArrayInitializationNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ArrayInitializationNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 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 223 times.
✗ Branch 12 → 16 not taken.
spice::compiler::LambdaFuncNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaFuncNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 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::LambdaExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::LambdaExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::DataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::DataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 50121 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 50120 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 18666 times.
✗ Branch 12 → 16 not taken.
spice::compiler::TypeidCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::TypeidCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 2 times.
✗ Branch 12 → 16 not taken.
spice::compiler::CaseConstantNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::CaseConstantNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 70 times.
✗ Branch 12 → 16 not taken.
spice::compiler::ReturnStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::ReturnStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 9767 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 121 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 203 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FallthroughStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FallthroughStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 6 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AssertStmtNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssertStmtNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 766 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 2295 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 861 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SizeofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SizeofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 281 times.
✗ Branch 12 → 16 not taken.
spice::compiler::AlignofCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AlignofCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 11 times.
✗ Branch 12 → 16 not taken.
spice::compiler::FunctionDataTypeNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::FunctionDataTypeNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 104 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 139 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 1000 times.
✗ Branch 12 → 16 not taken.
spice::compiler::SysCallNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::SysCallNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 1 time.
✗ Branch 12 → 16 not taken.
spice::compiler::AssignExprNode* spice::compiler::BlockAllocator<spice::compiler::ASTNode>::allocate<spice::compiler::AssignExprNode, spice::compiler::CodeLoc>(spice::compiler::CodeLoc&&):
✓ Branch 12 → 13 taken 80691 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 73025 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 73958 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 75267 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 75562 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 75651 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.
1850858 ++allocatedClassStatistic[typeid(T).name()];
49 #endif
50
51 // Update offset to be ready to store the next object
52 1850858 offsetInBlock += objSize;
53 1850858 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 81807 void allocateNewBlock() {
80 // Allocate new block
81
1/2
✓ Branch 2 → 3 taken 81807 times.
✗ Branch 2 → 28 not taken.
81807 byte *ptr = memoryManager.allocate(blockSize);
82
2/2
✓ Branch 3 → 4 taken 1 time.
✓ Branch 3 → 14 taken 81806 times.
81807 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 81806 times.
✗ Branch 14 → 28 not taken.
81806 memoryBlocks.push_back(ptr);
88 81806 offsetInBlock = 0;
89 81806 }
90 };
91
92 } // namespace spice::compiler
93