author | Jan de Mooij <jdemooij@mozilla.com> |
Wed, 20 Mar 2013 15:22:11 +0100 | |
changeset 127431 | 787d817bf96ab99106e62235f30b3f2626fe2eff |
parent 127430 | 609cec014f3bd9dba6665946f5d1131297a7b244 |
child 127432 | e9103474ab60a620b33e766934f4b8b667539f26 |
push id | 24503 |
push user | jandemooij@gmail.com |
push date | Wed, 03 Apr 2013 15:43:00 +0000 |
treeherder | mozilla-central@b5cb88ccd907 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
milestone | 22.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/js/src/jsinterp.cpp +++ b/js/src/jsinterp.cpp @@ -46,17 +46,20 @@ #include "vm/Shape.h" #ifdef JS_METHODJIT #include "methodjit/MethodJIT.h" #include "methodjit/Logging.h" #endif #include "ion/Ion.h" #include "ion/BaselineJIT.h" + +#ifdef JS_ION #include "ion/IonFrames-inl.h" +#endif #include "jsatominlines.h" #include "jsboolinlines.h" #include "jsinferinlines.h" #include "jsinterpinlines.h" #include "jsobjinlines.h" #include "jsopcodeinlines.h" #include "jsprobes.h" @@ -3507,21 +3510,21 @@ js::Lambda(JSContext *cx, HandleFunction { RootedObject clone(cx, CloneFunctionObjectIfNotSingleton(cx, fun, parent)); if (!clone) return NULL; if (fun->isArrow()) { // Note that this will assert if called from Ion code. Ion can't yet // emit code for a bound arrow function (bug 851913). - AbstractFramePtr frame = NullFramePtr(); + AbstractFramePtr frame = cx->fp(); +#ifdef JS_ION if (cx->fp()->runningInIon()) frame = ion::GetTopBaselineFrame(cx); - else - frame = cx->fp(); +#endif if (!ComputeThis(cx, frame)) return NULL; RootedValue thisval(cx, frame.thisValue()); clone = js_fun_bind(cx, clone, thisval, NULL, 0); if (!clone) return NULL;