Backed out changeset 7c7e849bb5fd (bug 1161351) for sm arm orange CLOSED TREE

This commit is contained in:
Wes Kocher 2015-05-06 16:53:29 -07:00
parent a252aede83
commit 1454b99ba1
3 changed files with 8 additions and 43 deletions

View File

@ -1,15 +0,0 @@
function x() { n; }
function f() {
try { x(); } catch(ex) {}
}
var g = newGlobal();
g.parent = this;
g.eval("new Debugger(parent).onExceptionUnwind = function () {};");
enableSPSProfiling();
try {
enableSingleStepProfiling();
} catch (e) {
}
f();
f();
f();

View File

@ -48,23 +48,17 @@ JitFrameIterator::prevType() const
return current->prevType();
}
inline bool
IsUnwoundFrame(FrameType type)
{
return type == JitFrame_Unwound_Rectifier ||
type == JitFrame_Unwound_IonJS ||
type == JitFrame_Unwound_BaselineJS ||
type == JitFrame_Unwound_BaselineStub ||
type == JitFrame_Unwound_IonAccessorIC;
}
inline bool
JitFrameIterator::isFakeExitFrame() const
{
if (type() == JitFrame_LazyLink)
return false;
bool res = IsUnwoundFrame(prevType()) ||
(prevType() == JitFrame_Entry && type() == JitFrame_Exit);
bool res = (prevType() == JitFrame_Unwound_Rectifier ||
prevType() == JitFrame_Unwound_IonJS ||
prevType() == JitFrame_Unwound_BaselineJS ||
prevType() == JitFrame_Unwound_BaselineStub ||
prevType() == JitFrame_Unwound_IonAccessorIC ||
(prevType() == JitFrame_Entry && type() == JitFrame_Exit));
MOZ_ASSERT_IF(res, type() == JitFrame_Exit || type() == JitFrame_BaselineJS);
return res;
}

View File

@ -2935,21 +2935,7 @@ inline ReturnType
GetPreviousRawFrame(FrameType* frame)
{
size_t prevSize = frame->prevFrameLocalSize() + FrameType::Size();
return ReturnType(((uint8_t*) frame) + prevSize);
}
template <typename ReturnType=CommonFrameLayout*>
inline ReturnType
GetPreviousRawFrame(ExitFrameLayout* frame)
{
// Unwound exit frames are fake exit frames, and have the size of a
// JitFrameLayout instead of ExitFrameLayout. See
// JitFrameIterator::prevFp.
size_t frameSize = IsUnwoundFrame(frame->prevType())
? JitFrameLayout::Size()
: ExitFrameLayout::Size();
size_t prevSize = frame->prevFrameLocalSize() + frameSize;
return ReturnType(((uint8_t*) frame) + prevSize);
return (ReturnType) (((uint8_t*) frame) + prevSize);
}
JitProfilingFrameIterator::JitProfilingFrameIterator(void* exitFrame)
@ -2964,7 +2950,7 @@ JitProfilingFrameIterator::JitProfilingFrameIterator(void* exitFrame)
return;
}
if (prevType == JitFrame_BaselineJS || prevType == JitFrame_Unwound_BaselineJS) {
if (prevType == JitFrame_BaselineJS) {
returnAddressToFp_ = frame->returnAddress();
fp_ = GetPreviousRawFrame<ExitFrameLayout, uint8_t*>(frame);
type_ = JitFrame_BaselineJS;