void SetGlobalNameIC::patchExtraShapeGuard(Repatcher &repatcher, const Shape *shape) { JS_ASSERT(hasExtraStub); JSC::CodeLocationLabel label(JSC::MacroAssemblerCodePtr(extraStub.start())); repatcher.repatch(label.dataLabelPtrAtOffset(extraShapeGuard), shape); }
static void UpdateTraceHintSingle(Repatcher &repatcher, JSC::CodeLocationJump jump, JSC::CodeLocationLabel target) { /* * Hack: The value that will be patched is before the executable address, * so to get protection right, just unprotect the general region around * the jump. */ repatcher.relink(jump, target); JaegerSpew(JSpew_PICs, "relinking trace hint %p to %p\n", jump.executableAddress(), target.executableAddress()); }
void SetGlobalNameIC::patchInlineShapeGuard(Repatcher &repatcher, Shape *shape) { JSC::CodeLocationDataLabelPtr label = fastPathStart.dataLabelPtrAtOffset(shapeOffset); repatcher.repatch(label, shape); }