6526d1676b
Pos objects are somewhat wasteful as they duplicate the origin file name and input type for each object. on files that produce more than one Pos when parsed this a sizeable waste of memory (one pointer per Pos). the same goes for ptr<Pos> on 64 bit machines: parsing enough source to require 8 bytes to locate a position would need at least 8GB of input and 64GB of expression memory. it's not likely that we'll hit that any time soon, so we can use a uint32_t index to locate positions instead.
16 lines
187 B
C++
16 lines
187 B
C++
#pragma once
|
|
|
|
#include "eval.hh"
|
|
|
|
#include <chrono>
|
|
|
|
namespace nix {
|
|
|
|
struct FunctionCallTrace
|
|
{
|
|
const Pos pos;
|
|
FunctionCallTrace(const Pos & pos);
|
|
~FunctionCallTrace();
|
|
};
|
|
}
|