%************************************************************************
%* *
+\subsection[seq-update-code]{Update code for seq}
+%* *
+%************************************************************************
+
+
+\begin{code}
+
+IFN_(seqDirectReturn) {
+ void *cont;
+
+ FB_
+ RetReg = (StgRetAddr) SpB[BREL(0)];
+ cont = (void *) SpB[BREL(1)];
+ /* SpB += BREL(2); */
+ JMP_(cont);
+ FE_
+}
+
+/*
+ NB: For direct returns to work properly, the name of the routine must be
+ the same as the name of the vector table with vtbl_ removed and DirectReturn
+ appended. This is all the mangler understands.
+ */
+
+const W_
+vtbl_seq[] = {
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn,
+ (W_) seqDirectReturn
+};
+\end{code}
+
+%************************************************************************
+%* *
\subsection[existing-con-update-code]{Update code for existing constructors}
%* *
%************************************************************************