diff --git a/tools/clang-cc/ASTConsumers.cpp b/tools/clang-cc/ASTConsumers.cpp
index c3828a9..c040a54 100644
--- a/tools/clang-cc/ASTConsumers.cpp
+++ b/tools/clang-cc/ASTConsumers.cpp
@@ -977,7 +977,18 @@
   virtual void HandleTranslationUnit(TranslationUnit& TU) {
     if (Diags.hasErrorOccurred())
       return;
-    EmitASTBitcodeFile(&TU, FName);
+    
+    // Reserve 256K for bitstream buffer.
+    std::vector<unsigned char> Buffer;
+    Buffer.reserve(256*1024);
+    
+    EmitASTBitcodeBuffer(TU,Buffer);
+    
+    // Write the bits to disk. 
+    if (FILE* fp = fopen(FName.c_str(),"wb")) {
+      fwrite((char*)&Buffer.front(), sizeof(char), Buffer.size(), fp);
+      fclose(fp);
+    }
   }
 };
 
@@ -1016,7 +1027,19 @@
     sprintf(&buf[0], "%s-%llX.ast", FE->getName(),
             (unsigned long long) FE->getInode());
     FName.appendComponent(&buf[0]);    
-    EmitASTBitcodeFile(&TU, FName);
+    
+    
+    // Reserve 256K for bitstream buffer.
+    std::vector<unsigned char> Buffer;
+    Buffer.reserve(256*1024);
+    
+    EmitASTBitcodeBuffer(TU,Buffer);
+    
+    // Write the bits to disk. 
+    if (FILE* fp = fopen(FName.c_str(),"wb")) {
+      fwrite((char*)&Buffer.front(), sizeof(char), Buffer.size(), fp);
+      fclose(fp);
+    }
     
     // Now emit the sources.
     
diff --git a/tools/clang-cc/SerializationTest.cpp b/tools/clang-cc/SerializationTest.cpp
index fcc047e..aa3163f 100644
--- a/tools/clang-cc/SerializationTest.cpp
+++ b/tools/clang-cc/SerializationTest.cpp
@@ -74,7 +74,21 @@
   }
   
   // Serialize the translation unit.
-  return EmitASTBitcodeFile(TU,Filename);
+  
+  // Reserve 256K for bitstream buffer.
+  std::vector<unsigned char> Buffer;
+  Buffer.reserve(256*1024);
+  
+  EmitASTBitcodeBuffer(TU,Buffer);
+  
+  // Write the bits to disk. 
+  if (FILE* fp = fopen(Filename.c_str(),"wb")) {
+    fwrite((char*)&Buffer.front(), sizeof(char), Buffer.size(), fp);
+    fclose(fp);
+    return true;
+  }
+  
+  return false;
 }
 
 bool SerializationTest::Deserialize(llvm::sys::Path& Filename,
