socsvn commit: r272268 - soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw

dpl at FreeBSD.org dpl at FreeBSD.org
Tue Aug 12 11:15:17 UTC 2014


Author: dpl
Date: Tue Aug 12 11:15:15 2014
New Revision: 272268
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=272268

Log:
  Corrected some wrong allocas and the PointerTypes names.

Modified:
  soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc

Modified: soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc
==============================================================================
--- soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc	Tue Aug 12 11:05:16 2014	(r272267)
+++ soc2014/dpl/netmap-ipfwjit/sys/netpfil/ipfw/jit.cc	Tue Aug 12 11:15:15 2014	(r272268)
@@ -62,7 +62,7 @@
 	Value *retval;
 
 	// Packet matching variables.
-	Value *mbuf;
+	Value *m;
 	Value *ip;
 	Value *ucred;
 	Value *ucred_lookup;
@@ -130,17 +130,17 @@
 	StructType *ucredTy;
 
 	// Pointer to structs type.
-	PointerType *ifnetTy;
-	PointerType *in_addrTy;
-	PointerType *ipTy;
-	PointerType *ip_fw_argsTy;
-	PointerType *ip_fw_chainTy;
-	PointerType *ip_fwTy;
-	PointerType *ip_fw_insnTy;
-	PointerType *ipfw_dyn_ruleTy;
-	PointerType *ipfw_insn_ifTy;
-	PointerType *mbufTy;
-	PointerType *ucredTy;
+	PointerType *ifnetPtrTy;
+	PointerType *in_addrPtrTy;
+	PointerType *ipPtrTy;
+	PointerType *ip_fw_argsPtrTy;
+	PointerType *ip_fw_chainPtrTy;
+	PointerType *ip_fwPtrTy;
+	PointerType *ip_fw_insnPtrTy;
+	PointerType *ipfw_dyn_rulePtrTy;
+	PointerType *ipfw_insn_ifPtrTy;
+	PointerType *mbufPtrTy;
+	PointerType *ucredPtrTy;
 
 	// Load the bc for JIT compilation.
 	Module *
@@ -214,20 +214,22 @@
 		retval = irb.CreateAlloca(int32Ty);
 		irb.CreateStore(ConstantInt::get(int32Ty, 0), retval);
 
-		mbuf = irb.CreateAlloca(mbufTy); // Init: args->m
+		m = irb.CreateAlloca(mbufPtrTy); // Init: args->m
 		// ip = mtod(m, struct ip *)
 		// #define	mtod(m, t)	((t)((m)->m_data))
-		ip = irb.CreateAlloca(ipTy);
+		ip = irb.CreateAlloca(ipPtrTy);
 
-		ucred = irb.CreateAlloca(ucredTy); // Init: NULL if type ucred.
 #ifdef __FreeBSD__
+		ucred = irb.CreateAlloca(ucredPtrTy); // Init: NULL if type ucred.
 		irb.CreateStore(ConstantPointerNull::get(null), ucred);
+#else
+		ucred = irb.CreateAlloca(ucredTy); // Init: NULL if type ucred.
 #endif
 
 		ucred_lookup = irb.CreateAlloca(int32Ty);
 		irb.CreateStore(ConstantInt::get(int32Ty, 0), ucred_lookup);
 
-		oif = irb.CreateAlloca(ifnetTy); // Init: args->oif
+		oif = irb.CreateAlloca(ifnetPtrTy); // Init: args->oif
 
 		hlen = irb.CreateAlloca(int32Ty);
 		irb.CreateStore(ConstantInt::get(int32Ty, 0), hlen);
@@ -259,7 +261,7 @@
 		dyn_dir = irb.CreateAlloca(int32Ty);
 		irb.CreateStore(ConstantInt::get(int32Ty, MATCH_UNKNOWN), dyn_dir);
 
-		q = irb.CreateAlloca(ipfw_dyn_ruleTy);
+		q = irb.CreateAlloca(ipfw_dyn_rulePtrTy);
 		irb.CreateStore(ConstantPointerNull::get(null), q);
 
 		// There are no (void *), we use i8*


More information about the svn-soc-all mailing list