[vmkit-commits] [vmkit] r53594 - /vmkit/trunk/lib/N3/VMCore/CLISignature.cpp

Nicolas Geoffray nicolas.geoffray at lip6.fr
Tue Jul 15 01:49:05 PDT 2008


Author: geoffray
Date: Tue Jul 15 03:49:05 2008
New Revision: 53594

URL: http://llvm.org/viewvc/llvm-project?rev=53594&view=rev
Log:
Bugfix for ElementTypePINNED and don't add it to the list of locals.
Currenty, the PINNED info is ignored.


Modified:
    vmkit/trunk/lib/N3/VMCore/CLISignature.cpp

Modified: vmkit/trunk/lib/N3/VMCore/CLISignature.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/VMCore/CLISignature.cpp?rev=53594&r1=53593&r2=53594&view=diff

==============================================================================
--- vmkit/trunk/lib/N3/VMCore/CLISignature.cpp (original)
+++ vmkit/trunk/lib/N3/VMCore/CLISignature.cpp Tue Jul 15 03:49:05 2008
@@ -279,7 +279,6 @@
 }
 
 static VMCommonClass* METHOD_ElementTypePinned(uint32 op, Assembly* ass, uint32& offset) {
-  VMThread::get()->vm->error("implement me");
   return 0;
 }
 
@@ -353,6 +352,7 @@
   unimplemented,                   // 0x3D
   unimplemented,                   // 0x3E
   unimplemented,                   // 0x3F
+  unimplemented,                   // 0x40
   METHOD_ElementTypeSentinel,      // 0x41
   unimplemented,                   // 0x42
   unimplemented,                   // 0x43
@@ -406,7 +406,9 @@
   }
   
   for (uint32 i = 0; i < nbLocals; ++i) {
-    locals.push_back(exploreType(offset));
+    VMCommonClass* cl = exploreType(offset);
+    if (!cl) --i; // PINNED
+    else locals.push_back(cl);
   }
 }
 
@@ -434,7 +436,7 @@
 
 VMCommonClass* Assembly::exploreType(uint32& offset) {
   uint32 op = READ_U1(bytes, offset);
-  //printf("reading %s\n", signatureNames[op]);
+  assert(op < 0x46 && "unknown signature type");
   return (signatureVector[op])(op, this, offset);
 }
 





More information about the vmkit-commits mailing list