// Test the size of the assembler generated sendDesc in // EnterSelf (<machine>.runtime.s). Lars July 92 void sendDesc::init() { sendDesc::init_platform(); # if HOST_ARCH == PPC_ARCH && TARGET_ARCH == I386_ARCH if (true) return; // just testing asm # endif sendDesc* f = sendDesc::first_sendDesc(); // cannot do this test on sparc, it has a register-call which does not read as a call // if (!isCall((int32*)f->jump_addr_addr())) // fatal("first_sendDesc() does not have a call"); if (f->raw_lookupType() != StaticNormalLookupType) fatal5("first_sendDesc() has wrong lookup type: 0x%x, should be: 0x%x\n" " firstSelfFrame_returnPC: 0x%x, first_inst_addr: 0x%x, first_sendDesc 0x%x", f->raw_lookupType(), StaticNormalLookupType, firstSelfFrame_returnPC, first_inst_addr((void*)firstSelfFrame_returnPC), sendDesc::first_sendDesc()); char* computedEnd = (char*) f + f->endOffset(); char* realEnd = first_inst_addr((void*)firstSelfFrameSendDescEnd); if (computedEnd != realEnd) fatal2("sendDesc of firstSelfFrame has wrong size, " "computedEnd = 0x%x, realEnd = 0x%x", computedEnd, realEnd); }
void fatal3x(const char *a, const char *b, const char *c) { fatal5(a, b, c, ": ", strerror(errno)); }