MCPcopy Create free account
hub / github.com/ReadyTalk/avian / copyFrameMap

Function copyFrameMap

src/compile.cpp:6659–6690  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6657}
6658
6659void copyFrameMap(int32_t* dst,
6660 uintptr_t* src,
6661 unsigned mapSizeInBits,
6662 unsigned offset,
6663 TraceElement* p)
6664{
6665 if (DebugFrameMaps) {
6666 fprintf(stderr, " orig roots at ip %3d: ", p->ip);
6667 printSet(src, ceilingDivide(mapSizeInBits, BitsPerWord));
6668 fprintf(stderr, "\n");
6669
6670 fprintf(stderr, " final roots at ip %3d: ", p->ip);
6671 }
6672
6673 for (unsigned j = 0; j < p->argumentIndex; ++j) {
6674 if (getBit(src, j)) {
6675 if (DebugFrameMaps) {
6676 fprintf(stderr, "1");
6677 }
6678 setBit(dst, offset + j);
6679 } else {
6680 if (DebugFrameMaps) {
6681 fprintf(stderr, "_");
6682 }
6683 clearBit(dst, offset + j);
6684 }
6685 }
6686
6687 if (DebugFrameMaps) {
6688 fprintf(stderr, "\n");
6689 }
6690}
6691
6692class FrameMapTableHeader {
6693 public:

Callers 1

makeSimpleFrameMapTableFunction · 0.85

Calls 5

printSetFunction · 0.85
ceilingDivideFunction · 0.85
getBitFunction · 0.85
setBitFunction · 0.85
clearBitFunction · 0.70

Tested by

no test coverage detected