diff --git a/js/src/jit/AsmJS.cpp b/js/src/jit/AsmJS.cpp index ab2c92f8421..a6965839482 100644 --- a/js/src/jit/AsmJS.cpp +++ b/js/src/jit/AsmJS.cpp @@ -6521,7 +6521,7 @@ GenerateFFIIonExit(ModuleCompiler &m, const ModuleCompiler::ExitDescriptor &exit masm.reserveStack(stackDec - extraBytes); // 1. Descriptor - uint32_t descriptor = MakeFrameDescriptor(masm.framePushed() + extraBytes, IonFrame_Entry); + uint32_t descriptor = MakeFrameDescriptor(masm.framePushed() + extraBytes, JitFrame_Entry); masm.storePtr(ImmWord(uintptr_t(descriptor)), Address(StackPointer, 0)); // 2. Callee diff --git a/js/src/jit/Bailouts.cpp b/js/src/jit/Bailouts.cpp index 0accd41eb9f..a55bd49e64b 100644 --- a/js/src/jit/Bailouts.cpp +++ b/js/src/jit/Bailouts.cpp @@ -50,7 +50,7 @@ SnapshotIterator::SnapshotIterator(const IonBailoutIterator &iter) void IonBailoutIterator::dump() const { - if (type_ == IonFrame_OptimizedJS) { + if (type_ == JitFrame_IonJS) { InlineFrameIterator frames(GetJSContextFromJitCode(), this); for (;;) { frames.dump(); @@ -150,7 +150,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, const OsiIndex *osiIndex = frame.osiIndex(); current_ = (uint8_t *) frame.fp(); - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = frame.frameSize(); snapshotOffset_ = osiIndex->snapshotOffset(); } diff --git a/js/src/jit/BaselineBailouts.cpp b/js/src/jit/BaselineBailouts.cpp index f4b5902526b..6be42ec59ae 100644 --- a/js/src/jit/BaselineBailouts.cpp +++ b/js/src/jit/BaselineBailouts.cpp @@ -317,23 +317,23 @@ struct BaselineStackBuilder BufferPointer topFrame = topFrameAddress(); FrameType type = topFrame->prevType(); - // For OptimizedJS and Entry frames, the "saved" frame pointer in the baseline + // For IonJS and Entry frames, the "saved" frame pointer in the baseline // frame is meaningless, since Ion saves all registers before calling other ion // frames, and the entry frame saves all registers too. - if (type == IonFrame_OptimizedJS || type == IonFrame_Entry) + if (type == JitFrame_IonJS || type == JitFrame_Entry) return nullptr; // BaselineStub - Baseline calling into Ion. // PrevFramePtr needs to point to the BaselineStubFrame's saved frame pointer. // STACK_START_ADDR + IonJSFrameLayout::Size() + PREV_FRAME_SIZE // - IonBaselineStubFrameLayout::reverseOffsetOfSavedFramePtr() - if (type == IonFrame_BaselineStub) { + if (type == JitFrame_BaselineStub) { size_t offset = IonJSFrameLayout::Size() + topFrame->prevFrameLocalSize() + IonBaselineStubFrameLayout::reverseOffsetOfSavedFramePtr(); return virtualPointerAtStackOffset(offset); } - JS_ASSERT(type == IonFrame_Rectifier); + JS_ASSERT(type == JitFrame_Rectifier); // Rectifier - behaviour depends on the frame preceding the rectifier frame, and // whether the arch is x86 or not. The x86 rectifier frame saves the frame pointer, // so we can calculate it directly. For other archs, the previous frame pointer @@ -350,11 +350,11 @@ struct BaselineStackBuilder BufferPointer priorFrame = pointerAtStackOffset(priorOffset); FrameType priorType = priorFrame->prevType(); - JS_ASSERT(priorType == IonFrame_OptimizedJS || priorType == IonFrame_BaselineStub); + JS_ASSERT(priorType == JitFrame_IonJS || priorType == JitFrame_BaselineStub); - // If the frame preceding the rectifier is an OptimizedJS frame, then once again + // If the frame preceding the rectifier is an IonJS frame, then once again // the frame pointer does not matter. - if (priorType == IonFrame_OptimizedJS) + if (priorType == JitFrame_IonJS) return nullptr; // Otherwise, the frame preceding the rectifier is a BaselineStub frame. @@ -1045,7 +1045,7 @@ InitFromBailout(JSContext *cx, HandleScript caller, jsbytecode *callerPC, // Write out descriptor of BaselineJS frame. size_t baselineFrameDescr = MakeFrameDescriptor((uint32_t) builder.framePushed(), - IonFrame_BaselineJS); + JitFrame_BaselineJS); if (!builder.writeWord(baselineFrameDescr, "Descriptor")) return false; @@ -1134,7 +1134,7 @@ InitFromBailout(JSContext *cx, HandleScript caller, jsbytecode *callerPC, // Calculate frame size for descriptor. size_t baselineStubFrameSize = builder.framePushed() - startOfBaselineStubFrame; size_t baselineStubFrameDescr = MakeFrameDescriptor((uint32_t) baselineStubFrameSize, - IonFrame_BaselineStub); + JitFrame_BaselineStub); // Push actual argc if (!builder.writeWord(actualArgc, "ActualArgc")) @@ -1228,7 +1228,7 @@ InitFromBailout(JSContext *cx, HandleScript caller, jsbytecode *callerPC, // Calculate frame size for descriptor. size_t rectifierFrameSize = builder.framePushed() - startOfRectifierFrame; size_t rectifierFrameDescr = MakeFrameDescriptor((uint32_t) rectifierFrameSize, - IonFrame_Rectifier); + JitFrame_Rectifier); // Push actualArgc if (!builder.writeWord(actualArgc, "ActualArgc")) @@ -1265,16 +1265,16 @@ jit::BailoutIonToBaseline(JSContext *cx, JitActivation *activation, IonBailoutIt #endif // The caller of the top frame must be one of the following: - // OptimizedJS - Ion calling into Ion. + // IonJS - Ion calling into Ion. // BaselineStub - Baseline calling into Ion. // Entry - Interpreter or other calling into Ion. // Rectifier - Arguments rectifier calling into Ion. - JS_ASSERT(iter.isOptimizedJS()); + JS_ASSERT(iter.isIonJS()); FrameType prevFrameType = iter.prevType(); - JS_ASSERT(prevFrameType == IonFrame_OptimizedJS || - prevFrameType == IonFrame_BaselineStub || - prevFrameType == IonFrame_Entry || - prevFrameType == IonFrame_Rectifier); + JS_ASSERT(prevFrameType == JitFrame_IonJS || + prevFrameType == JitFrame_BaselineStub || + prevFrameType == JitFrame_Entry || + prevFrameType == JitFrame_Rectifier); // All incoming frames are going to look like this: // @@ -1523,7 +1523,7 @@ jit::FinishBailoutToBaseline(BaselineBailoutInfo *bailoutInfo) uint32_t frameno = 0; while (frameno < numFrames) { - JS_ASSERT(!iter.isOptimizedJS()); + JS_ASSERT(!iter.isIonJS()); if (iter.isBaselineJS()) { BaselineFrame *frame = iter.baselineFrame(); diff --git a/js/src/jit/BaselineIC.cpp b/js/src/jit/BaselineIC.cpp index 268d300219f..dd79e579f64 100644 --- a/js/src/jit/BaselineIC.cpp +++ b/js/src/jit/BaselineIC.cpp @@ -751,10 +751,10 @@ IsTopFrameConstructing(JSContext *cx) JS_ASSERT(cx->currentlyRunningInJit()); JitActivationIterator activations(cx->runtime()); IonFrameIterator iter(activations); - JS_ASSERT(iter.type() == IonFrame_Exit); + JS_ASSERT(iter.type() == JitFrame_Exit); ++iter; - JS_ASSERT(iter.type() == IonFrame_BaselineStub); + JS_ASSERT(iter.type() == JitFrame_BaselineStub); ++iter; JS_ASSERT(iter.isBaselineJS()); diff --git a/js/src/jit/BaselineJIT.cpp b/js/src/jit/BaselineJIT.cpp index fbcce78b532..0e7776d374c 100644 --- a/js/src/jit/BaselineJIT.cpp +++ b/js/src/jit/BaselineJIT.cpp @@ -932,10 +932,10 @@ MarkActiveBaselineScripts(JSRuntime *rt, const JitActivationIterator &activation { for (jit::IonFrameIterator iter(activation); !iter.done(); ++iter) { switch (iter.type()) { - case IonFrame_BaselineJS: + case JitFrame_BaselineJS: iter.script()->baselineScript()->setActive(); break; - case IonFrame_OptimizedJS: { + case JitFrame_IonJS: { // Keep the baseline script around, since bailouts from the ion // jitcode might need to re-enter into the baseline jitcode. iter.script()->baselineScript()->setActive(); diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp index ac7ef8e93dd..ab80e0f682b 100644 --- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -2114,7 +2114,7 @@ CodeGenerator::visitCallGeneric(LCallGeneric *call) masm.freeStack(unusedStack); // Construct the IonFramePrefix. - uint32_t descriptor = MakeFrameDescriptor(masm.framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(masm.framePushed(), JitFrame_IonJS); masm.Push(Imm32(call->numActualArgs())); masm.Push(calleereg); masm.Push(Imm32(descriptor)); @@ -2235,7 +2235,7 @@ CodeGenerator::visitCallKnown(LCallKnown *call) masm.freeStack(unusedStack); // Construct the IonFramePrefix. - uint32_t descriptor = MakeFrameDescriptor(masm.framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(masm.framePushed(), JitFrame_IonJS); masm.Push(Imm32(call->numActualArgs())); masm.Push(calleereg); masm.Push(Imm32(descriptor)); @@ -2442,7 +2442,7 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply) // Create the frame descriptor. unsigned pushed = masm.framePushed(); masm.addPtr(Imm32(pushed), copyreg); - masm.makeFrameDescriptor(copyreg, IonFrame_OptimizedJS); + masm.makeFrameDescriptor(copyreg, JitFrame_IonJS); masm.Push(argcreg); masm.Push(calleereg); diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp index 3b4be9b3d9d..7adc1721d61 100644 --- a/js/src/jit/Ion.cpp +++ b/js/src/jit/Ion.cpp @@ -2464,42 +2464,42 @@ InvalidateActivation(FreeOp *fop, uint8_t *ionTop, bool invalidateAll) size_t frameno = 1; for (IonFrameIterator it(ionTop, SequentialExecution); !it.done(); ++it, ++frameno) { - JS_ASSERT_IF(frameno == 1, it.type() == IonFrame_Exit); + JS_ASSERT_IF(frameno == 1, it.type() == JitFrame_Exit); #ifdef DEBUG switch (it.type()) { - case IonFrame_Exit: + case JitFrame_Exit: IonSpew(IonSpew_Invalidate, "#%d exit frame @ %p", frameno, it.fp()); break; - case IonFrame_BaselineJS: - case IonFrame_OptimizedJS: + case JitFrame_BaselineJS: + case JitFrame_IonJS: { JS_ASSERT(it.isScripted()); - const char *type = it.isOptimizedJS() ? "Optimized" : "Baseline"; + const char *type = it.isIonJS() ? "Optimized" : "Baseline"; IonSpew(IonSpew_Invalidate, "#%d %s JS frame @ %p, %s:%d (fun: %p, script: %p, pc %p)", frameno, type, it.fp(), it.script()->filename(), it.script()->lineno(), it.maybeCallee(), (JSScript *)it.script(), it.returnAddressToFp()); break; } - case IonFrame_BaselineStub: + case JitFrame_BaselineStub: IonSpew(IonSpew_Invalidate, "#%d baseline stub frame @ %p", frameno, it.fp()); break; - case IonFrame_Rectifier: + case JitFrame_Rectifier: IonSpew(IonSpew_Invalidate, "#%d rectifier frame @ %p", frameno, it.fp()); break; - case IonFrame_Unwound_OptimizedJS: - case IonFrame_Unwound_BaselineStub: + case JitFrame_Unwound_IonJS: + case JitFrame_Unwound_BaselineStub: MOZ_ASSUME_UNREACHABLE("invalid"); - case IonFrame_Unwound_Rectifier: + case JitFrame_Unwound_Rectifier: IonSpew(IonSpew_Invalidate, "#%d unwound rectifier frame @ %p", frameno, it.fp()); break; - case IonFrame_Entry: + case JitFrame_Entry: IonSpew(IonSpew_Invalidate, "#%d entry frame @ %p", frameno, it.fp()); break; } #endif - if (!it.isOptimizedJS()) + if (!it.isIonJS()) continue; // See if the frame has already been invalidated. diff --git a/js/src/jit/IonFrameIterator.h b/js/src/jit/IonFrameIterator.h index 2b070b7cb23..62d986d5586 100644 --- a/js/src/jit/IonFrameIterator.h +++ b/js/src/jit/IonFrameIterator.h @@ -26,40 +26,40 @@ namespace jit { enum FrameType { // A JS frame is analagous to a js::InterpreterFrame, representing one scripted - // functon activation. OptimizedJS frames are used by the optimizing compiler. - IonFrame_OptimizedJS, + // functon activation. IonJS frames are used by the optimizing compiler. + JitFrame_IonJS, // JS frame used by the baseline JIT. - IonFrame_BaselineJS, + JitFrame_BaselineJS, // Frame pushed for baseline JIT stubs that make non-tail calls, so that the // return address -> ICEntry mapping works. - IonFrame_BaselineStub, + JitFrame_BaselineStub, // The entry frame is the initial prologue block transitioning from the VM // into the Ion world. - IonFrame_Entry, + JitFrame_Entry, // A rectifier frame sits in between two JS frames, adapting argc != nargs // mismatches in calls. - IonFrame_Rectifier, + JitFrame_Rectifier, // An unwound JS frame is a JS frame signalling that its callee frame has been // turned into an exit frame (see EnsureExitFrame). Used by Ion bailouts and // Baseline exception unwinding. - IonFrame_Unwound_OptimizedJS, + JitFrame_Unwound_IonJS, - // Like Unwound_OptimizedJS, but the caller is a baseline stub frame. - IonFrame_Unwound_BaselineStub, + // Like Unwound_IonJS, but the caller is a baseline stub frame. + JitFrame_Unwound_BaselineStub, // An unwound rectifier frame is a rectifier frame signalling that its callee // frame has been turned into an exit frame (see EnsureExitFrame). - IonFrame_Unwound_Rectifier, + JitFrame_Unwound_Rectifier, // An exit frame is necessary for transitioning from a JS frame into C++. // From within C++, an exit frame is always the last frame in any // JitActivation. - IonFrame_Exit + JitFrame_Exit }; enum ReadFrameArgsBehavior { @@ -99,7 +99,7 @@ class IonFrameIterator public: explicit IonFrameIterator(uint8_t *top, ExecutionMode mode) : current_(top), - type_(IonFrame_Exit), + type_(JitFrame_Exit), returnAddressToFp_(nullptr), frameSize_(0), cachedSafepointIndex_(nullptr), @@ -141,16 +141,16 @@ class IonFrameIterator bool checkInvalidation() const; bool isScripted() const { - return type_ == IonFrame_BaselineJS || type_ == IonFrame_OptimizedJS; + return type_ == JitFrame_BaselineJS || type_ == JitFrame_IonJS; } bool isBaselineJS() const { - return type_ == IonFrame_BaselineJS; + return type_ == JitFrame_BaselineJS; } - bool isOptimizedJS() const { - return type_ == IonFrame_OptimizedJS; + bool isIonJS() const { + return type_ == JitFrame_IonJS; } bool isBaselineStub() const { - return type_ == IonFrame_BaselineStub; + return type_ == JitFrame_BaselineStub; } bool isNative() const; bool isOOLNative() const; @@ -158,7 +158,7 @@ class IonFrameIterator bool isOOLProxy() const; bool isDOMExit() const; bool isEntry() const { - return type_ == IonFrame_Entry; + return type_ == JitFrame_Entry; } bool isFunctionFrame() const; @@ -186,14 +186,14 @@ class IonFrameIterator // Returns the stack space used by the current frame, in bytes. This does // not include the size of its fixed header. size_t frameSize() const { - JS_ASSERT(type_ != IonFrame_Exit); + JS_ASSERT(type_ != JitFrame_Exit); return frameSize_; } - // Functions used to iterate on frames. When prevType is IonFrame_Entry, + // Functions used to iterate on frames. When prevType is JitFrame_Entry, // the current frame is the last frame. inline bool done() const { - return type_ == IonFrame_Entry; + return type_ == JitFrame_Entry; } IonFrameIterator &operator++(); diff --git a/js/src/jit/IonFrames-inl.h b/js/src/jit/IonFrames-inl.h index 60c3495f8fc..8e10b4fde83 100644 --- a/js/src/jit/IonFrames-inl.h +++ b/js/src/jit/IonFrames-inl.h @@ -54,17 +54,17 @@ IonFrameIterator::prevType() const inline bool IonFrameIterator::isFakeExitFrame() const { - bool res = (prevType() == IonFrame_Unwound_Rectifier || - prevType() == IonFrame_Unwound_OptimizedJS || - prevType() == IonFrame_Unwound_BaselineStub); - JS_ASSERT_IF(res, type() == IonFrame_Exit || type() == IonFrame_BaselineJS); + bool res = (prevType() == JitFrame_Unwound_Rectifier || + prevType() == JitFrame_Unwound_IonJS || + prevType() == JitFrame_Unwound_BaselineStub); + JS_ASSERT_IF(res, type() == JitFrame_Exit || type() == JitFrame_BaselineJS); return res; } inline IonExitFrameLayout * IonFrameIterator::exitFrame() const { - JS_ASSERT(type() == IonFrame_Exit); + JS_ASSERT(type() == JitFrame_Exit); JS_ASSERT(!isFakeExitFrame()); return (IonExitFrameLayout *) fp(); } @@ -73,7 +73,7 @@ inline BaselineFrame * GetTopBaselineFrame(JSContext *cx) { IonFrameIterator iter(cx); - JS_ASSERT(iter.type() == IonFrame_Exit); + JS_ASSERT(iter.type() == JitFrame_Exit); ++iter; if (iter.isBaselineStub()) ++iter; diff --git a/js/src/jit/IonFrames.cpp b/js/src/jit/IonFrames.cpp index 3c2fb5c29a1..f6b19d0b6a6 100644 --- a/js/src/jit/IonFrames.cpp +++ b/js/src/jit/IonFrames.cpp @@ -73,7 +73,7 @@ ReadFrameBooleanSlot(IonJSFrameLayout *fp, int32_t slot) IonFrameIterator::IonFrameIterator(JSContext *cx) : current_(cx->mainThread().ionTop), - type_(IonFrame_Exit), + type_(JitFrame_Exit), returnAddressToFp_(nullptr), frameSize_(0), cachedSafepointIndex_(nullptr), @@ -84,7 +84,7 @@ IonFrameIterator::IonFrameIterator(JSContext *cx) IonFrameIterator::IonFrameIterator(const ActivationIterator &activations) : current_(activations.jitTop()), - type_(IonFrame_Exit), + type_(JitFrame_Exit), returnAddressToFp_(nullptr), frameSize_(0), cachedSafepointIndex_(nullptr), @@ -95,7 +95,7 @@ IonFrameIterator::IonFrameIterator(const ActivationIterator &activations) IonFrameIterator::IonFrameIterator(IonJSFrameLayout *fp, ExecutionMode mode) : current_((uint8_t *)fp), - type_(IonFrame_OptimizedJS), + type_(JitFrame_IonJS), returnAddressToFp_(fp->returnAddress()), frameSize_(fp->prevFrameLocalSize()), mode_(mode) @@ -160,7 +160,7 @@ IonFrameIterator::maybeCallee() const bool IonFrameIterator::isNative() const { - if (type_ != IonFrame_Exit || isFakeExitFrame()) + if (type_ != JitFrame_Exit || isFakeExitFrame()) return false; return exitFrame()->footer()->jitCode() == nullptr; } @@ -168,7 +168,7 @@ IonFrameIterator::isNative() const bool IonFrameIterator::isOOLNative() const { - if (type_ != IonFrame_Exit) + if (type_ != JitFrame_Exit) return false; return exitFrame()->footer()->jitCode() == ION_FRAME_OOL_NATIVE; } @@ -176,7 +176,7 @@ IonFrameIterator::isOOLNative() const bool IonFrameIterator::isOOLPropertyOp() const { - if (type_ != IonFrame_Exit) + if (type_ != JitFrame_Exit) return false; return exitFrame()->footer()->jitCode() == ION_FRAME_OOL_PROPERTY_OP; } @@ -184,7 +184,7 @@ IonFrameIterator::isOOLPropertyOp() const bool IonFrameIterator::isOOLProxy() const { - if (type_ != IonFrame_Exit) + if (type_ != JitFrame_Exit) return false; return exitFrame()->footer()->jitCode() == ION_FRAME_OOL_PROXY; } @@ -192,7 +192,7 @@ IonFrameIterator::isOOLProxy() const bool IonFrameIterator::isDOMExit() const { - if (type_ != IonFrame_Exit) + if (type_ != JitFrame_Exit) return false; return exitFrame()->isDomExit(); } @@ -254,19 +254,19 @@ static inline size_t SizeOfFramePrefix(FrameType type) { switch (type) { - case IonFrame_Entry: + case JitFrame_Entry: return IonEntryFrameLayout::Size(); - case IonFrame_BaselineJS: - case IonFrame_OptimizedJS: - case IonFrame_Unwound_OptimizedJS: + case JitFrame_BaselineJS: + case JitFrame_IonJS: + case JitFrame_Unwound_IonJS: return IonJSFrameLayout::Size(); - case IonFrame_BaselineStub: + case JitFrame_BaselineStub: return IonBaselineStubFrameLayout::Size(); - case IonFrame_Rectifier: + case JitFrame_Rectifier: return IonRectifierFrameLayout::Size(); - case IonFrame_Unwound_Rectifier: + case JitFrame_Unwound_Rectifier: return IonUnwoundRectifierFrameLayout::Size(); - case IonFrame_Exit: + case JitFrame_Exit: return IonExitFrameLayout::Size(); default: MOZ_ASSUME_UNREACHABLE("unknown frame type"); @@ -281,9 +281,9 @@ IonFrameIterator::prevFp() const // needed because the descriptor size of JS-to-JS frame which is just after // a Rectifier frame should not change. (cf EnsureExitFrame function) if (isFakeExitFrame()) { - JS_ASSERT(SizeOfFramePrefix(IonFrame_BaselineJS) == - SizeOfFramePrefix(IonFrame_OptimizedJS)); - currentSize = SizeOfFramePrefix(IonFrame_OptimizedJS); + JS_ASSERT(SizeOfFramePrefix(JitFrame_BaselineJS) == + SizeOfFramePrefix(JitFrame_IonJS)); + currentSize = SizeOfFramePrefix(JitFrame_IonJS); } currentSize += current()->prevFrameLocalSize(); return current_ + currentSize; @@ -292,15 +292,15 @@ IonFrameIterator::prevFp() const IonFrameIterator & IonFrameIterator::operator++() { - JS_ASSERT(type_ != IonFrame_Entry); + JS_ASSERT(type_ != JitFrame_Entry); frameSize_ = prevFrameLocalSize(); cachedSafepointIndex_ = nullptr; // If the next frame is the entry frame, just exit. Don't update current_, // since the entry and first frames overlap. - if (current()->prevType() == IonFrame_Entry) { - type_ = IonFrame_Entry; + if (current()->prevType() == JitFrame_Entry) { + type_ = JitFrame_Entry; return *this; } @@ -308,10 +308,10 @@ IonFrameIterator::operator++() // next frame. uint8_t *prev = prevFp(); type_ = current()->prevType(); - if (type_ == IonFrame_Unwound_OptimizedJS) - type_ = IonFrame_OptimizedJS; - else if (type_ == IonFrame_Unwound_BaselineStub) - type_ = IonFrame_BaselineStub; + if (type_ == JitFrame_Unwound_IonJS) + type_ = JitFrame_IonJS; + else if (type_ == JitFrame_Unwound_BaselineStub) + type_ = JitFrame_BaselineStub; returnAddressToFp_ = current()->returnAddress(); current_ = prev; return *this; @@ -585,7 +585,7 @@ HandleException(ResumeFromException *rfe) IonFrameIterator iter(cx); while (!iter.isEntry()) { bool overrecursed = false; - if (iter.isOptimizedJS()) { + if (iter.isIonJS()) { // Search each inlined frame for live iterator objects, and close // them. InlineFrameIterator frames(cx, &iter); @@ -718,36 +718,36 @@ HandleParallelFailure(ResumeFromException *rfe) void EnsureExitFrame(IonCommonFrameLayout *frame) { - if (frame->prevType() == IonFrame_Unwound_OptimizedJS || - frame->prevType() == IonFrame_Unwound_BaselineStub || - frame->prevType() == IonFrame_Unwound_Rectifier) + if (frame->prevType() == JitFrame_Unwound_IonJS || + frame->prevType() == JitFrame_Unwound_BaselineStub || + frame->prevType() == JitFrame_Unwound_Rectifier) { // Already an exit frame, nothing to do. return; } - if (frame->prevType() == IonFrame_Entry) { + if (frame->prevType() == JitFrame_Entry) { // The previous frame type is the entry frame, so there's no actual // need for an exit frame. return; } - if (frame->prevType() == IonFrame_Rectifier) { + if (frame->prevType() == JitFrame_Rectifier) { // The rectifier code uses the frame descriptor to discard its stack, // so modifying its descriptor size here would be dangerous. Instead, // we change the frame type, and teach the stack walking code how to // deal with this edge case. bug 717297 would obviate the need - frame->changePrevType(IonFrame_Unwound_Rectifier); + frame->changePrevType(JitFrame_Unwound_Rectifier); return; } - if (frame->prevType() == IonFrame_BaselineStub) { - frame->changePrevType(IonFrame_Unwound_BaselineStub); + if (frame->prevType() == JitFrame_BaselineStub) { + frame->changePrevType(JitFrame_Unwound_BaselineStub); return; } - JS_ASSERT(frame->prevType() == IonFrame_OptimizedJS); - frame->changePrevType(IonFrame_Unwound_OptimizedJS); + JS_ASSERT(frame->prevType() == JitFrame_IonJS); + frame->changePrevType(JitFrame_Unwound_IonJS); } CalleeToken @@ -945,7 +945,7 @@ MarkBaselineStubFrame(JSTracer *trc, const IonFrameIterator &frame) // Mark the ICStub pointer stored in the stub frame. This is necessary // so that we don't destroy the stub code after unlinking the stub. - JS_ASSERT(frame.type() == IonFrame_BaselineStub); + JS_ASSERT(frame.type() == JitFrame_BaselineStub); IonBaselineStubFrameLayout *layout = (IonBaselineStubFrameLayout *)frame.fp(); if (ICStub *stub = layout->maybeStubPtr()) { @@ -1158,24 +1158,24 @@ MarkJitActivation(JSTracer *trc, const JitActivationIterator &activations) for (IonFrameIterator frames(activations); !frames.done(); ++frames) { switch (frames.type()) { - case IonFrame_Exit: + case JitFrame_Exit: MarkJitExitFrame(trc, frames); break; - case IonFrame_BaselineJS: + case JitFrame_BaselineJS: frames.baselineFrame()->trace(trc, frames); break; - case IonFrame_BaselineStub: + case JitFrame_BaselineStub: MarkBaselineStubFrame(trc, frames); break; - case IonFrame_OptimizedJS: + case JitFrame_IonJS: MarkIonJSFrame(trc, frames); break; - case IonFrame_Unwound_OptimizedJS: + case JitFrame_Unwound_IonJS: MOZ_ASSUME_UNREACHABLE("invalid"); - case IonFrame_Rectifier: + case JitFrame_Rectifier: MarkRectifierFrame(trc, frames); break; - case IonFrame_Unwound_Rectifier: + case JitFrame_Unwound_Rectifier: break; default: MOZ_ASSUME_UNREACHABLE("unexpected frame type"); @@ -1197,7 +1197,7 @@ UpdateJitActivationsForMinorGC(JSRuntime *rt, JSTracer *trc) JS_ASSERT(trc->runtime->isHeapMinorCollecting()); for (JitActivationIterator activations(rt); !activations.done(); ++activations) { for (IonFrameIterator frames(activations); !frames.done(); ++frames) { - if (frames.type() == IonFrame_OptimizedJS) + if (frames.type() == JitFrame_IonJS) UpdateIonJSFrameForMinorGC(trc, frames); } } @@ -1223,19 +1223,19 @@ GetPcScript(JSContext *cx, JSScript **scriptRes, jsbytecode **pcRes) // If the previous frame is a rectifier frame (maybe unwound), // skip past it. - if (it.prevType() == IonFrame_Rectifier || it.prevType() == IonFrame_Unwound_Rectifier) { + if (it.prevType() == JitFrame_Rectifier || it.prevType() == JitFrame_Unwound_Rectifier) { ++it; - JS_ASSERT(it.prevType() == IonFrame_BaselineStub || - it.prevType() == IonFrame_BaselineJS || - it.prevType() == IonFrame_OptimizedJS); + JS_ASSERT(it.prevType() == JitFrame_BaselineStub || + it.prevType() == JitFrame_BaselineJS || + it.prevType() == JitFrame_IonJS); } // If the previous frame is a stub frame, skip the exit frame so that // returnAddress below gets the return address into the BaselineJS // frame. - if (it.prevType() == IonFrame_BaselineStub || it.prevType() == IonFrame_Unwound_BaselineStub) { + if (it.prevType() == JitFrame_BaselineStub || it.prevType() == JitFrame_Unwound_BaselineStub) { ++it; - JS_ASSERT(it.prevType() == IonFrame_BaselineJS); + JS_ASSERT(it.prevType() == JitFrame_BaselineJS); } uint8_t *retAddr = it.returnAddress(); @@ -1257,7 +1257,7 @@ GetPcScript(JSContext *cx, JSScript **scriptRes, jsbytecode **pcRes) ++it; // Skip exit frame. jsbytecode *pc = nullptr; - if (it.isOptimizedJS()) { + if (it.isIonJS()) { InlineFrameIterator ifi(cx, &it); *scriptRes = ifi.script(); pc = ifi.pc(); @@ -1494,7 +1494,7 @@ SnapshotIterator::allocationValue(const RValueAllocation &alloc) IonScript * IonFrameIterator::ionScript() const { - JS_ASSERT(type() == IonFrame_OptimizedJS); + JS_ASSERT(type() == JitFrame_IonJS); IonScript *ionScript = nullptr; if (checkInvalidation(&ionScript)) @@ -1659,7 +1659,7 @@ IonFrameIterator::isConstructing() const ++parent; } while (!parent.done() && !parent.isScripted()); - if (parent.isOptimizedJS()) { + if (parent.isIonJS()) { // In the case of a JS frame, look up the pc from the snapshot. InlineFrameIterator inlinedParent(GetJSContextFromJitCode(), &parent); @@ -1832,19 +1832,19 @@ void IonFrameIterator::dump() const { switch (type_) { - case IonFrame_Entry: + case JitFrame_Entry: fprintf(stderr, " Entry frame\n"); fprintf(stderr, " Frame size: %u\n", unsigned(current()->prevFrameLocalSize())); break; - case IonFrame_BaselineJS: + case JitFrame_BaselineJS: dumpBaseline(); break; - case IonFrame_BaselineStub: - case IonFrame_Unwound_BaselineStub: + case JitFrame_BaselineStub: + case JitFrame_Unwound_BaselineStub: fprintf(stderr, " Baseline stub frame\n"); fprintf(stderr, " Frame size: %u\n", unsigned(current()->prevFrameLocalSize())); break; - case IonFrame_OptimizedJS: + case JitFrame_IonJS: { InlineFrameIterator frames(GetJSContextFromJitCode(), this); for (;;) { @@ -1855,15 +1855,15 @@ IonFrameIterator::dump() const } break; } - case IonFrame_Rectifier: - case IonFrame_Unwound_Rectifier: + case JitFrame_Rectifier: + case JitFrame_Unwound_Rectifier: fprintf(stderr, " Rectifier frame\n"); fprintf(stderr, " Frame size: %u\n", unsigned(current()->prevFrameLocalSize())); break; - case IonFrame_Unwound_OptimizedJS: + case JitFrame_Unwound_IonJS: fprintf(stderr, "Warning! Unwound JS frames are not observable.\n"); break; - case IonFrame_Exit: + case JitFrame_Exit: break; }; fputc('\n', stderr); diff --git a/js/src/jit/IonFrames.h b/js/src/jit/IonFrames.h index 5d029b3fd9c..fa2f659d907 100644 --- a/js/src/jit/IonFrames.h +++ b/js/src/jit/IonFrames.h @@ -283,7 +283,7 @@ inline JSScript * GetTopIonJSScript(uint8_t *ionTop, void **returnAddrOut, ExecutionMode mode) { IonFrameIterator iter(ionTop, mode); - JS_ASSERT(iter.type() == IonFrame_Exit); + JS_ASSERT(iter.type() == JitFrame_Exit); ++iter; JS_ASSERT(iter.returnAddressToFp() != nullptr); diff --git a/js/src/jit/IonMacroAssembler.cpp b/js/src/jit/IonMacroAssembler.cpp index 329aa712a4a..0acf8baebc2 100644 --- a/js/src/jit/IonMacroAssembler.cpp +++ b/js/src/jit/IonMacroAssembler.cpp @@ -1000,7 +1000,7 @@ MacroAssembler::generateBailoutTail(Register scratch, Register bailoutInfo) // Enter exit frame for the FinishBailoutToBaseline call. loadPtr(Address(bailoutInfo, offsetof(BaselineBailoutInfo, resumeFramePtr)), temp); load32(Address(temp, BaselineFrame::reverseOffsetOfFrameSize()), temp); - makeFrameDescriptor(temp, IonFrame_BaselineJS); + makeFrameDescriptor(temp, JitFrame_BaselineJS); push(temp); push(Address(bailoutInfo, offsetof(BaselineBailoutInfo, resumeAddr))); enterFakeExitFrame(); diff --git a/js/src/jit/VMFunctions.cpp b/js/src/jit/VMFunctions.cpp index f4c42f838f1..03bf6138e74 100644 --- a/js/src/jit/VMFunctions.cpp +++ b/js/src/jit/VMFunctions.cpp @@ -1020,7 +1020,7 @@ Recompile(JSContext *cx) JitActivationIterator activations(cx->runtime()); IonFrameIterator iter(activations); - JS_ASSERT(iter.type() == IonFrame_Exit); + JS_ASSERT(iter.type() == JitFrame_Exit); ++iter; bool isConstructing = iter.isConstructing(); diff --git a/js/src/jit/arm/Bailouts-arm.cpp b/js/src/jit/arm/Bailouts-arm.cpp index 03fe75157b7..8fabe58efe1 100644 --- a/js/src/jit/arm/Bailouts-arm.cpp +++ b/js/src/jit/arm/Bailouts-arm.cpp @@ -77,7 +77,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, uint8_t *fp = sp + bailout->frameSize(); current_ = fp; - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - sp; topIonScript_ = script()->ionScript(); @@ -113,7 +113,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, const OsiIndex *osiIndex = topIonScript_->getOsiIndex(returnAddressToFp_); current_ = (uint8_t*) bailout->fp(); - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - bailout->sp(); snapshotOffset_ = osiIndex->snapshotOffset(); } diff --git a/js/src/jit/arm/BaselineHelpers-arm.h b/js/src/jit/arm/BaselineHelpers-arm.h index ed518ff6a1a..4a489476299 100644 --- a/js/src/jit/arm/BaselineHelpers-arm.h +++ b/js/src/jit/arm/BaselineHelpers-arm.h @@ -100,7 +100,7 @@ EmitTailCallVM(JitCode *target, MacroAssembler &masm, uint32_t argSize) // the stub calls), but the VMWrapper code being called expects the return address to also // be pushed on the stack. JS_ASSERT(BaselineTailCallReg == lr); - masm.makeFrameDescriptor(r0, IonFrame_BaselineJS); + masm.makeFrameDescriptor(r0, JitFrame_BaselineJS); masm.push(r0); masm.push(lr); masm.branch(target); @@ -115,7 +115,7 @@ EmitCreateStubFrameDescriptor(MacroAssembler &masm, Register reg) masm.ma_add(Imm32(sizeof(void *) * 2), reg); masm.ma_sub(BaselineStackReg, reg); - masm.makeFrameDescriptor(reg, IonFrame_BaselineStub); + masm.makeFrameDescriptor(reg, JitFrame_BaselineStub); } inline void @@ -146,7 +146,7 @@ EmitEnterStubFrame(MacroAssembler &masm, Register scratch) // if needed. // Push frame descriptor and return address. - masm.makeFrameDescriptor(scratch, IonFrame_BaselineJS); + masm.makeFrameDescriptor(scratch, JitFrame_BaselineJS); masm.push(scratch); masm.push(BaselineTailCallReg); diff --git a/js/src/jit/arm/MacroAssembler-arm.cpp b/js/src/jit/arm/MacroAssembler-arm.cpp index e1b20726d0d..a5a4942c6fb 100644 --- a/js/src/jit/arm/MacroAssembler-arm.cpp +++ b/js/src/jit/arm/MacroAssembler-arm.cpp @@ -1713,7 +1713,7 @@ bool MacroAssemblerARMCompat::buildFakeExitFrame(const Register &scratch, uint32_t *offset) { DebugOnly initialDepth = framePushed(); - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); // descriptor_ @@ -1739,7 +1739,7 @@ bool MacroAssemblerARMCompat::buildOOLFakeExitFrame(void *fakeReturnAddr) { DebugOnly initialDepth = framePushed(); - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); // descriptor_ @@ -1753,7 +1753,7 @@ MacroAssemblerARMCompat::buildOOLFakeExitFrame(void *fakeReturnAddr) void MacroAssemblerARMCompat::callWithExitFrame(JitCode *target) { - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); // descriptor addPendingJump(m_buffer.nextOffset(), ImmPtr(target->raw()), Relocation::JITCODE); @@ -1771,7 +1771,7 @@ void MacroAssemblerARMCompat::callWithExitFrame(JitCode *target, Register dynStack) { ma_add(Imm32(framePushed()), dynStack); - makeFrameDescriptor(dynStack, IonFrame_OptimizedJS); + makeFrameDescriptor(dynStack, JitFrame_IonJS); Push(dynStack); // descriptor addPendingJump(m_buffer.nextOffset(), ImmPtr(target->raw()), Relocation::JITCODE); diff --git a/js/src/jit/arm/Trampoline-arm.cpp b/js/src/jit/arm/Trampoline-arm.cpp index 1cae5c17a16..cced3aaf382 100644 --- a/js/src/jit/arm/Trampoline-arm.cpp +++ b/js/src/jit/arm/Trampoline-arm.cpp @@ -176,7 +176,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) } masm.ma_sub(r8, sp, r8); - masm.makeFrameDescriptor(r8, IonFrame_Entry); + masm.makeFrameDescriptor(r8, JitFrame_Entry); masm.startDataTransferM(IsStore, sp, IB, NoWriteBack); // [sp] = return address (written later) @@ -253,7 +253,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) // Enter exit frame. masm.addPtr(Imm32(BaselineFrame::Size() + BaselineFrame::FramePointerOffset), scratch); - masm.makeFrameDescriptor(scratch, IonFrame_BaselineJS); + masm.makeFrameDescriptor(scratch, JitFrame_BaselineJS); masm.push(scratch); masm.push(Imm32(0)); // Fake return address. masm.enterFakeExitFrame(); @@ -451,7 +451,7 @@ JitRuntime::generateArgumentsRectifier(JSContext *cx, ExecutionMode mode, void * masm.ma_lsl(Imm32(3), r6, r6); // Construct sizeDescriptor. - masm.makeFrameDescriptor(r6, IonFrame_Rectifier); + masm.makeFrameDescriptor(r6, JitFrame_Rectifier); // Construct IonJSFrameLayout. masm.ma_push(r0); // actual arguments. diff --git a/js/src/jit/mips/BaselineHelpers-mips.h b/js/src/jit/mips/BaselineHelpers-mips.h index 6c810e94de9..565e8df4cff 100644 --- a/js/src/jit/mips/BaselineHelpers-mips.h +++ b/js/src/jit/mips/BaselineHelpers-mips.h @@ -99,7 +99,7 @@ EmitTailCallVM(JitCode *target, MacroAssembler &masm, uint32_t argSize) // keep it there through the stub calls), but the VMWrapper code being // called expects the return address to also be pushed on the stack. MOZ_ASSERT(BaselineTailCallReg == ra); - masm.makeFrameDescriptor(t6, IonFrame_BaselineJS); + masm.makeFrameDescriptor(t6, JitFrame_BaselineJS); masm.subPtr(Imm32(sizeof(IonCommonFrameLayout)), StackPointer); masm.storePtr(t6, Address(StackPointer, IonCommonFrameLayout::offsetOfDescriptor())); masm.storePtr(ra, Address(StackPointer, IonCommonFrameLayout::offsetOfReturnAddress())); @@ -116,7 +116,7 @@ EmitCreateStubFrameDescriptor(MacroAssembler &masm, Register reg) masm.addPtr(Imm32(sizeof(intptr_t) * 2), reg); masm.subPtr(BaselineStackReg, reg); - masm.makeFrameDescriptor(reg, IonFrame_BaselineStub); + masm.makeFrameDescriptor(reg, JitFrame_BaselineStub); } inline void @@ -153,7 +153,7 @@ EmitEnterStubFrame(MacroAssembler &masm, Register scratch) // BaselineStubFrame if needed. // Push frame descriptor and return address. - masm.makeFrameDescriptor(scratch, IonFrame_BaselineJS); + masm.makeFrameDescriptor(scratch, JitFrame_BaselineJS); masm.subPtr(Imm32(STUB_FRAME_SIZE), StackPointer); masm.storePtr(scratch, Address(StackPointer, offsetof(BaselineStubFrame, descriptor))); masm.storePtr(BaselineTailCallReg, Address(StackPointer, diff --git a/js/src/jit/mips/MacroAssembler-mips.cpp b/js/src/jit/mips/MacroAssembler-mips.cpp index 13b311a7f34..a076382ef8f 100644 --- a/js/src/jit/mips/MacroAssembler-mips.cpp +++ b/js/src/jit/mips/MacroAssembler-mips.cpp @@ -1458,7 +1458,7 @@ MacroAssemblerMIPSCompat::buildFakeExitFrame(const Register &scratch, uint32_t * CodeLabel cl; ma_li(scratch, cl.dest()); - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); Push(scratch); @@ -1473,7 +1473,7 @@ bool MacroAssemblerMIPSCompat::buildOOLFakeExitFrame(void *fakeReturnAddr) { DebugOnly initialDepth = framePushed(); - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); // descriptor_ Push(ImmPtr(fakeReturnAddr)); @@ -1484,7 +1484,7 @@ MacroAssemblerMIPSCompat::buildOOLFakeExitFrame(void *fakeReturnAddr) void MacroAssemblerMIPSCompat::callWithExitFrame(JitCode *target) { - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); // descriptor addPendingJump(m_buffer.nextOffset(), ImmPtr(target->raw()), Relocation::JITCODE); @@ -1496,7 +1496,7 @@ void MacroAssemblerMIPSCompat::callWithExitFrame(JitCode *target, Register dynStack) { ma_addu(dynStack, dynStack, Imm32(framePushed())); - makeFrameDescriptor(dynStack, IonFrame_OptimizedJS); + makeFrameDescriptor(dynStack, JitFrame_IonJS); Push(dynStack); // descriptor addPendingJump(m_buffer.nextOffset(), ImmPtr(target->raw()), Relocation::JITCODE); diff --git a/js/src/jit/shared/BaselineCompiler-shared.cpp b/js/src/jit/shared/BaselineCompiler-shared.cpp index 65cf66b2f39..748d5daf97c 100644 --- a/js/src/jit/shared/BaselineCompiler-shared.cpp +++ b/js/src/jit/shared/BaselineCompiler-shared.cpp @@ -57,12 +57,12 @@ BaselineCompilerShared::callVM(const VMFunction &fun, CallVMPhase phase) uint32_t frameFullSize = frameBaseSize + (frameVals * sizeof(Value)); if (phase == POST_INITIALIZE) { masm.store32(Imm32(frameFullSize), frameSizeAddress); - uint32_t descriptor = MakeFrameDescriptor(frameFullSize + argSize, IonFrame_BaselineJS); + uint32_t descriptor = MakeFrameDescriptor(frameFullSize + argSize, JitFrame_BaselineJS); masm.push(Imm32(descriptor)); } else if (phase == PRE_INITIALIZE) { masm.store32(Imm32(frameBaseSize), frameSizeAddress); - uint32_t descriptor = MakeFrameDescriptor(frameBaseSize + argSize, IonFrame_BaselineJS); + uint32_t descriptor = MakeFrameDescriptor(frameBaseSize + argSize, JitFrame_BaselineJS); masm.push(Imm32(descriptor)); } else { @@ -85,7 +85,7 @@ BaselineCompilerShared::callVM(const VMFunction &fun, CallVMPhase phase) masm.bind(&afterWrite); masm.store32(BaselineTailCallReg, frameSizeAddress); masm.add32(Imm32(argSize), BaselineTailCallReg); - masm.makeFrameDescriptor(BaselineTailCallReg, IonFrame_BaselineJS); + masm.makeFrameDescriptor(BaselineTailCallReg, JitFrame_BaselineJS); masm.push(BaselineTailCallReg); } diff --git a/js/src/jit/shared/MacroAssembler-x86-shared.h b/js/src/jit/shared/MacroAssembler-x86-shared.h index ba258ef6d57..a72ceabd4ce 100644 --- a/js/src/jit/shared/MacroAssembler-x86-shared.h +++ b/js/src/jit/shared/MacroAssembler-x86-shared.h @@ -664,7 +664,7 @@ class MacroAssemblerX86Shared : public Assembler CodeLabel cl; mov(cl.dest(), scratch); - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); Push(scratch); @@ -676,7 +676,7 @@ class MacroAssemblerX86Shared : public Assembler } void callWithExitFrame(JitCode *target) { - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); call(target); } @@ -698,7 +698,7 @@ class MacroAssemblerX86Shared : public Assembler protected: bool buildOOLFakeExitFrame(void *fakeReturnAddr) { - uint32_t descriptor = MakeFrameDescriptor(framePushed(), IonFrame_OptimizedJS); + uint32_t descriptor = MakeFrameDescriptor(framePushed(), JitFrame_IonJS); Push(Imm32(descriptor)); Push(ImmPtr(fakeReturnAddr)); return true; diff --git a/js/src/jit/x64/Bailouts-x64.cpp b/js/src/jit/x64/Bailouts-x64.cpp index 1e75f5e2ae5..4340296f827 100644 --- a/js/src/jit/x64/Bailouts-x64.cpp +++ b/js/src/jit/x64/Bailouts-x64.cpp @@ -54,7 +54,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, uint8_t *fp = sp + bailout->frameSize(); current_ = fp; - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - sp; topIonScript_ = script()->ionScript(); snapshotOffset_ = bailout->snapshotOffset(); @@ -70,7 +70,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, const OsiIndex *osiIndex = topIonScript_->getOsiIndex(returnAddressToFp_); current_ = (uint8_t*) bailout->fp(); - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - bailout->sp(); snapshotOffset_ = osiIndex->snapshotOffset(); } diff --git a/js/src/jit/x64/BaselineHelpers-x64.h b/js/src/jit/x64/BaselineHelpers-x64.h index c0b6622f59a..a3a40d382a3 100644 --- a/js/src/jit/x64/BaselineHelpers-x64.h +++ b/js/src/jit/x64/BaselineHelpers-x64.h @@ -84,7 +84,7 @@ EmitTailCallVM(JitCode *target, MacroAssembler &masm, uint32_t argSize) masm.store32(rdx, Address(BaselineFrameReg, BaselineFrame::reverseOffsetOfFrameSize())); // Push frame descriptor and perform the tail call. - masm.makeFrameDescriptor(ScratchReg, IonFrame_BaselineJS); + masm.makeFrameDescriptor(ScratchReg, JitFrame_BaselineJS); masm.push(ScratchReg); masm.push(BaselineTailCallReg); masm.jmp(target); @@ -99,7 +99,7 @@ EmitCreateStubFrameDescriptor(MacroAssembler &masm, Register reg) masm.addq(Imm32(sizeof(void *) * 2), reg); masm.subq(BaselineStackReg, reg); - masm.makeFrameDescriptor(reg, IonFrame_BaselineStub); + masm.makeFrameDescriptor(reg, JitFrame_BaselineStub); } inline void @@ -130,7 +130,7 @@ EmitEnterStubFrame(MacroAssembler &masm, Register) // if needed. // Push frame descriptor and return address. - masm.makeFrameDescriptor(ScratchReg, IonFrame_BaselineJS); + masm.makeFrameDescriptor(ScratchReg, JitFrame_BaselineJS); masm.push(ScratchReg); masm.push(BaselineTailCallReg); diff --git a/js/src/jit/x64/MacroAssembler-x64.h b/js/src/jit/x64/MacroAssembler-x64.h index 2bcdcb1a06f..fd4610e2b44 100644 --- a/js/src/jit/x64/MacroAssembler-x64.h +++ b/js/src/jit/x64/MacroAssembler-x64.h @@ -1221,7 +1221,7 @@ class MacroAssemblerX64 : public MacroAssemblerX86Shared void callWithExitFrame(JitCode *target, Register dynStack) { addPtr(Imm32(framePushed()), dynStack); - makeFrameDescriptor(dynStack, IonFrame_OptimizedJS); + makeFrameDescriptor(dynStack, JitFrame_IonJS); Push(dynStack); call(target); } diff --git a/js/src/jit/x64/Trampoline-x64.cpp b/js/src/jit/x64/Trampoline-x64.cpp index 640ac0ad243..819b39956cb 100644 --- a/js/src/jit/x64/Trampoline-x64.cpp +++ b/js/src/jit/x64/Trampoline-x64.cpp @@ -139,7 +139,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) masm.subq(rsp, r14); // Create a frame descriptor. - masm.makeFrameDescriptor(r14, IonFrame_Entry); + masm.makeFrameDescriptor(r14, JitFrame_Entry); masm.push(r14); CodeLabel returnLabel; @@ -201,7 +201,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) // Enter exit frame. masm.addPtr(Imm32(BaselineFrame::Size() + BaselineFrame::FramePointerOffset), valuesSize); - masm.makeFrameDescriptor(valuesSize, IonFrame_BaselineJS); + masm.makeFrameDescriptor(valuesSize, JitFrame_BaselineJS); masm.push(valuesSize); masm.push(Imm32(0)); // Fake return address. masm.enterFakeExitFrame(); @@ -401,7 +401,7 @@ JitRuntime::generateArgumentsRectifier(JSContext *cx, ExecutionMode mode, void * // Construct descriptor. masm.subq(rsp, r9); - masm.makeFrameDescriptor(r9, IonFrame_Rectifier); + masm.makeFrameDescriptor(r9, JitFrame_Rectifier); // Construct IonJSFrameLayout. masm.push(rdx); // numActualArgs diff --git a/js/src/jit/x86/Bailouts-x86.cpp b/js/src/jit/x86/Bailouts-x86.cpp index 07af3dac80b..bcd86692a9e 100644 --- a/js/src/jit/x86/Bailouts-x86.cpp +++ b/js/src/jit/x86/Bailouts-x86.cpp @@ -74,7 +74,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, uint8_t *fp = sp + bailout->frameSize(); current_ = fp; - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - sp; topIonScript_ = script()->ionScript(); @@ -110,7 +110,7 @@ IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations, const OsiIndex *osiIndex = topIonScript_->getOsiIndex(returnAddressToFp_); current_ = (uint8_t*) bailout->fp(); - type_ = IonFrame_OptimizedJS; + type_ = JitFrame_IonJS; topFrameSize_ = current_ - bailout->sp(); snapshotOffset_ = osiIndex->snapshotOffset(); } diff --git a/js/src/jit/x86/BaselineHelpers-x86.h b/js/src/jit/x86/BaselineHelpers-x86.h index f2077a7d62d..dc81fef8e5b 100644 --- a/js/src/jit/x86/BaselineHelpers-x86.h +++ b/js/src/jit/x86/BaselineHelpers-x86.h @@ -87,7 +87,7 @@ EmitTailCallVM(JitCode *target, MacroAssembler &masm, uint32_t argSize) masm.store32(ebx, Address(BaselineFrameReg, BaselineFrame::reverseOffsetOfFrameSize())); // Push frame descriptor and perform the tail call. - masm.makeFrameDescriptor(eax, IonFrame_BaselineJS); + masm.makeFrameDescriptor(eax, JitFrame_BaselineJS); masm.push(eax); masm.push(BaselineTailCallReg); masm.jmp(target); @@ -102,7 +102,7 @@ EmitCreateStubFrameDescriptor(MacroAssembler &masm, Register reg) masm.addl(Imm32(sizeof(void *) * 2), reg); masm.subl(BaselineStackReg, reg); - masm.makeFrameDescriptor(reg, IonFrame_BaselineStub); + masm.makeFrameDescriptor(reg, JitFrame_BaselineStub); } inline void @@ -135,7 +135,7 @@ EmitEnterStubFrame(MacroAssembler &masm, Register scratch) // if needed. // Push frame descriptor and return address. - masm.makeFrameDescriptor(scratch, IonFrame_BaselineJS); + masm.makeFrameDescriptor(scratch, JitFrame_BaselineJS); masm.push(scratch); masm.push(BaselineTailCallReg); diff --git a/js/src/jit/x86/MacroAssembler-x86.h b/js/src/jit/x86/MacroAssembler-x86.h index 3d73ecb6e47..ac41130baa4 100644 --- a/js/src/jit/x86/MacroAssembler-x86.h +++ b/js/src/jit/x86/MacroAssembler-x86.h @@ -1067,7 +1067,7 @@ class MacroAssemblerX86 : public MacroAssemblerX86Shared void callWithExitFrame(JitCode *target, Register dynStack) { addPtr(Imm32(framePushed()), dynStack); - makeFrameDescriptor(dynStack, IonFrame_OptimizedJS); + makeFrameDescriptor(dynStack, JitFrame_IonJS); Push(dynStack); call(target); } diff --git a/js/src/jit/x86/Trampoline-x86.cpp b/js/src/jit/x86/Trampoline-x86.cpp index 8852c645b54..242321b22d2 100644 --- a/js/src/jit/x86/Trampoline-x86.cpp +++ b/js/src/jit/x86/Trampoline-x86.cpp @@ -132,7 +132,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) *****************************************************************/ // Create a frame descriptor. masm.subl(esp, esi); - masm.makeFrameDescriptor(esi, IonFrame_Entry); + masm.makeFrameDescriptor(esi, JitFrame_Entry); masm.push(esi); CodeLabel returnLabel; @@ -193,7 +193,7 @@ JitRuntime::generateEnterJIT(JSContext *cx, EnterJitType type) // Enter exit frame. masm.addPtr(Imm32(BaselineFrame::Size() + BaselineFrame::FramePointerOffset), scratch); - masm.makeFrameDescriptor(scratch, IonFrame_BaselineJS); + masm.makeFrameDescriptor(scratch, JitFrame_BaselineJS); masm.push(scratch); masm.push(Imm32(0)); // Fake return address. masm.enterFakeExitFrame(); @@ -401,7 +401,7 @@ JitRuntime::generateArgumentsRectifier(JSContext *cx, ExecutionMode mode, void * // Construct descriptor, accounting for pushed frame pointer above masm.lea(Operand(FramePointer, sizeof(void*)), ebx); masm.subl(esp, ebx); - masm.makeFrameDescriptor(ebx, IonFrame_Rectifier); + masm.makeFrameDescriptor(ebx, JitFrame_Rectifier); // Construct IonJSFrameLayout. masm.push(edx); // number of actual arguments diff --git a/js/src/vm/Stack-inl.h b/js/src/vm/Stack-inl.h index ca460f385c7..7b4764adf1f 100644 --- a/js/src/vm/Stack-inl.h +++ b/js/src/vm/Stack-inl.h @@ -338,7 +338,7 @@ FrameIter::unaliasedForEachActual(JSContext *cx, Op op) return; case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) { + if (data_.ionFrames_.isIonJS()) { ionInlineFrames_.unaliasedForEachActual(cx, op, jit::ReadFrame_Actuals); } else { JS_ASSERT(data_.ionFrames_.isBaselineJS()); diff --git a/js/src/vm/Stack.cpp b/js/src/vm/Stack.cpp index d8b7a834927..78fa22d8fe2 100644 --- a/js/src/vm/Stack.cpp +++ b/js/src/vm/Stack.cpp @@ -659,7 +659,7 @@ FrameIter::Data::Data(const FrameIter::Data &other) FrameIter::FrameIter(JSContext *cx, SavedOption savedOption) : data_(cx, savedOption, CURRENT_CONTEXT, nullptr) #ifdef JS_ION - , ionInlineFrames_(cx, (js::jit::IonFrameIterator*) nullptr) + , ionInlineFrames_(cx, (js::jit::IonFrameIterator*) nullptr) #endif { settleOnActivation(); @@ -669,7 +669,7 @@ FrameIter::FrameIter(JSContext *cx, ContextOption contextOption, SavedOption savedOption, JSPrincipals *principals) : data_(cx, savedOption, contextOption, principals) #ifdef JS_ION - , ionInlineFrames_(cx, (js::jit::IonFrameIterator*) nullptr) + , ionInlineFrames_(cx, (js::jit::IonFrameIterator*) nullptr) #endif { settleOnActivation(); @@ -678,8 +678,8 @@ FrameIter::FrameIter(JSContext *cx, ContextOption contextOption, FrameIter::FrameIter(const FrameIter &other) : data_(other.data_) #ifdef JS_ION - , ionInlineFrames_(other.data_.cx_, - data_.ionFrames_.isScripted() ? &other.ionInlineFrames_ : nullptr) + , ionInlineFrames_(other.data_.cx_, + data_.ionFrames_.isScripted() ? &other.ionInlineFrames_ : nullptr) #endif { } @@ -687,7 +687,7 @@ FrameIter::FrameIter(const FrameIter &other) FrameIter::FrameIter(const Data &data) : data_(data) #ifdef JS_ION - , ionInlineFrames_(data.cx_, data_.ionFrames_.isOptimizedJS() ? &data_.ionFrames_ : nullptr) + , ionInlineFrames_(data.cx_, data_.ionFrames_.isIonJS() ? &data_.ionFrames_ : nullptr) #endif { JS_ASSERT(data.cx_); @@ -697,7 +697,7 @@ FrameIter::FrameIter(const Data &data) void FrameIter::nextJitFrame() { - if (data_.ionFrames_.isOptimizedJS()) { + if (data_.ionFrames_.isIonJS()) { ionInlineFrames_.resetOn(&data_.ionFrames_); data_.pc_ = ionInlineFrames_.pc(); } else { @@ -711,7 +711,7 @@ FrameIter::popJitFrame() { JS_ASSERT(data_.state_ == JIT); - if (data_.ionFrames_.isOptimizedJS() && ionInlineFrames_.more()) { + if (data_.ionFrames_.isIonJS() && ionInlineFrames_.more()) { ++ionInlineFrames_; data_.pc_ = ionInlineFrames_.pc(); return; @@ -795,7 +795,7 @@ FrameIter::copyData() const * not copied. */ JS_ASSERT(data_.state_ != ASMJS); - JS_ASSERT(data_.ionFrames_.type() != jit::IonFrame_OptimizedJS); + JS_ASSERT(data_.ionFrames_.type() != jit::JitFrame_IonJS); #endif return data_.cx_->new_(data_); } @@ -1044,7 +1044,7 @@ FrameIter::isConstructing() const break; case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) + if (data_.ionFrames_.isIonJS()) return ionInlineFrames_.isConstructing(); JS_ASSERT(data_.ionFrames_.isBaselineJS()); return data_.ionFrames_.isConstructing(); @@ -1140,7 +1140,7 @@ FrameIter::callee() const #ifdef JS_ION if (data_.ionFrames_.isBaselineJS()) return data_.ionFrames_.callee(); - JS_ASSERT(data_.ionFrames_.isOptimizedJS()); + JS_ASSERT(data_.ionFrames_.isIonJS()); return ionInlineFrames_.callee(); #else break; @@ -1181,7 +1181,7 @@ FrameIter::numActualArgs() const return interpFrame()->numActualArgs(); case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) + if (data_.ionFrames_.isIonJS()) return ionInlineFrames_.numActualArgs(); JS_ASSERT(data_.ionFrames_.isBaselineJS()); @@ -1228,7 +1228,7 @@ FrameIter::scopeChain() const break; case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) + if (data_.ionFrames_.isIonJS()) return ionInlineFrames_.scopeChain(); return data_.ionFrames_.baselineFrame()->scopeChain(); #else @@ -1313,7 +1313,7 @@ FrameIter::thisv() const break; case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) + if (data_.ionFrames_.isIonJS()) return ObjectValue(*ionInlineFrames_.thisObject()); return data_.ionFrames_.baselineFrame()->thisValue(); #else @@ -1375,7 +1375,7 @@ FrameIter::numFrameSlots() const break; case JIT: { #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) { + if (data_.ionFrames_.isIonJS()) { return ionInlineFrames_.snapshotIterator().allocations() - ionInlineFrames_.script()->nfixed(); } @@ -1401,7 +1401,7 @@ FrameIter::frameSlotValue(size_t index) const break; case JIT: #ifdef JS_ION - if (data_.ionFrames_.isOptimizedJS()) { + if (data_.ionFrames_.isIonJS()) { jit::SnapshotIterator si(ionInlineFrames_.snapshotIterator()); index += ionInlineFrames_.script()->nfixed(); return si.maybeReadAllocByIndex(index); diff --git a/js/src/vm/Stack.h b/js/src/vm/Stack.h index 3dd4873d42a..3a0201c056b 100644 --- a/js/src/vm/Stack.h +++ b/js/src/vm/Stack.h @@ -1748,7 +1748,7 @@ FrameIter::script() const return interpFrame()->script(); #ifdef JS_ION JS_ASSERT(data_.state_ == JIT); - if (data_.ionFrames_.isOptimizedJS()) + if (data_.ionFrames_.isIonJS()) return ionInlineFrames_.script(); return data_.ionFrames_.script(); #else @@ -1760,7 +1760,7 @@ inline bool FrameIter::isIon() const { #ifdef JS_ION - return isJit() && data_.ionFrames_.isOptimizedJS(); + return isJit() && data_.ionFrames_.isIonJS(); #else return false; #endif