Bug 1198224 - OdinMonkey: hash the signatures, not their addresses (r=bbouvier) a=sylvestre
authorLuke Wagner <luke@mozilla.com>
Mon, 31 Aug 2015 09:06:58 -0500
changeset 289107 1cb1b8329d35a3896ffcbdc00d9ff889ad91eb52
parent 289106 de1f4476b12cac70c2b08d711c4d35dc4d438d17
child 289108 6a1945ebef4166ab8517d765a06657d749e3805d
push id5067
push userraliiev@mozilla.com
push dateMon, 21 Sep 2015 14:04:52 +0000
treeherdermozilla-beta@14221ffe5b2f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbbouvier, sylvestre
bugs1198224
milestone42.0a2
Bug 1198224 - OdinMonkey: hash the signatures, not their addresses (r=bbouvier) a=sylvestre
js/src/asmjs/AsmJSValidate.cpp
--- a/js/src/asmjs/AsmJSValidate.cpp
+++ b/js/src/asmjs/AsmJSValidate.cpp
@@ -1339,17 +1339,17 @@ class MOZ_STACK_CLASS ModuleCompiler
         static HashNumber hash(const ExitDescriptor& d) {
             HashNumber hn = HashGeneric(d.name_, d.sig_->retType().which());
             const VarTypeVector& args = d.sig_->args();
             for (unsigned i = 0; i < args.length(); i++)
                 hn = AddToHash(hn, args[i].which());
             return hn;
         }
         static bool match(const ExitDescriptor& lhs, const ExitDescriptor& rhs) {
-            return lhs.name_ == rhs.name_ && lhs.sig_ == rhs.sig_;
+            return lhs.name_ == rhs.name_ && *lhs.sig_ == *rhs.sig_;
         }
     };
 
     typedef HashMap<ExitDescriptor, unsigned, ExitDescriptor> ExitMap;
 
     struct MathBuiltin
     {
         enum Kind { Function, Constant };