-static void fixupPCforExceptionIfNeeded(ExecState* exec)
-{
- CodeBlock* codeBlock = exec->codeBlock();
- ASSERT(!!codeBlock);
- Instruction* pc = exec->currentVPC();
- exec->setCurrentVPC(codeBlock->adjustPCIfAtCallSite(pc));
-}
-
-void interpreterThrowInCaller(ExecState* exec, ReturnAddressPtr pc)
-{
- VM* vm = &exec->vm();
- NativeCallFrameTracer tracer(vm, exec);
-#if LLINT_SLOW_PATH_TRACING
- dataLog("Throwing exception ", vm->exception, ".\n");
-#endif
- fixupPCforExceptionIfNeeded(exec);
- genericThrow(
- vm, exec, vm->exception,
- exec->codeBlock()->bytecodeOffset(exec, pc));
-}
-