diff options
author | Ben Becker <ben.becker@10gen.com> | 2013-03-05 09:21:18 -0800 |
---|---|---|
committer | Ben Becker <ben.becker@10gen.com> | 2013-03-05 09:21:18 -0800 |
commit | 18de1d56412bfb89a6b3f95b18eeb770184fda15 (patch) | |
tree | 8ca18ab0e4c9e4b17fdbc831bbd824fe46da2062 | |
parent | 8b37c220e98451d67d89f2a8e6b3c08bec442221 (diff) | |
download | mongo-18de1d56412bfb89a6b3f95b18eeb770184fda15.tar.gz |
SERVER-8827: fix SpiderMonkey function cache map
-rw-r--r-- | src/mongo/scripting/engine.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/scripting/engine.cpp b/src/mongo/scripting/engine.cpp index 0a592933de0..fc4d042c2af 100644 --- a/src/mongo/scripting/engine.cpp +++ b/src/mongo/scripting/engine.cpp @@ -219,16 +219,16 @@ namespace mongo { } } - map<string, ScriptingFunction>::iterator i = _cachedFunctions.find(code); + FunctionCacheMap::iterator i = _cachedFunctions.find(code); if (i != _cachedFunctions.end()) return i->second; // NB: we calculate the function number for v8 so the cache can be utilized to // lookup the source on an exception, but SpiderMonkey uses the value // returned by JS_CompileFunction. - ScriptingFunction functionNumber = getFunctionCache().size() + 1; - _cachedFunctions[code] = functionNumber; - ScriptingFunction f = _createFunction(code, functionNumber); - return f; + ScriptingFunction defaultFunctionNumber = getFunctionCache().size() + 1; + ScriptingFunction& actualFunctionNumber = _cachedFunctions[code]; + actualFunctionNumber = _createFunction(code, defaultFunctionNumber); + return actualFunctionNumber; } namespace JSFiles { |