Clening up GrBinHashKey. Removing unnecessary streaming capability

BUG=http://code.google.com/p/skia/issues/detail?id=278
REVIEW=http://codereview.appspot.com/4910045/



git-svn-id: http://skia.googlecode.com/svn/trunk@2136 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrGpuGLShaders.cpp b/gpu/src/GrGpuGLShaders.cpp
index 5afd77e..96b03da 100644
--- a/gpu/src/GrGpuGLShaders.cpp
+++ b/gpu/src/GrGpuGLShaders.cpp
@@ -24,18 +24,14 @@
 private:
     class Entry;
 
-#if GR_DEBUG
-    typedef GrBinHashKey<Entry, 4> ProgramHashKey; // Flex the dynamic allocation muscle in debug
-#else
-    typedef GrBinHashKey<Entry, 64> ProgramHashKey;
-#endif
+    typedef GrBinHashKey<Entry, GrGLProgram::kProgramKeySize> ProgramHashKey;
 
     class Entry : public ::GrNoncopyable {
     public:
         Entry() {}
         void copyAndTakeOwnership(Entry& entry) {
             fProgramData.copyAndTakeOwnership(entry.fProgramData);
-            fKey.copyAndTakeOwnership(entry.fKey); // ownership transfer
+            fKey = entry.fKey; // ownership transfer
             fLRUStamp = entry.fLRUStamp;
         }
 
@@ -84,9 +80,8 @@
 
     GrGLProgram::CachedData* getProgramData(const GrGLProgram& desc) {
         Entry newEntry;
-        while (newEntry.fKey.doPass()) {
-            desc.buildKey(newEntry.fKey);
-        }
+        newEntry.fKey.setKeyData(desc.keyData());
+        
         Entry* entry = fHashCache.find(newEntry.fKey);
         if (NULL == entry) {
             if (!desc.genProgram(&newEntry.fProgramData)) {