static inline void AssertMatchesCallSite(const AsmJSModule &module, const AsmJSModule::CodeRange *calleeCodeRange, void *callerPC, void *callerFP, void *fp) { #ifdef DEBUG const AsmJSModule::CodeRange *callerCodeRange = module.lookupCodeRange(callerPC); JS_ASSERT(callerCodeRange); if (callerCodeRange->isEntry()) { JS_ASSERT(callerFP == nullptr); return; } const CallSite *callsite = module.lookupCallSite(callerPC); if (calleeCodeRange->isThunk()) { JS_ASSERT(!callsite); JS_ASSERT(callerCodeRange->isFunction()); } else { JS_ASSERT(callsite); JS_ASSERT(callerFP == (uint8_t*)fp + callsite->stackDepth()); } #endif }