mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset 7c7e849bb5fd (bug 1161351) for sm arm orange CLOSED TREE
This commit is contained in:
parent
a252aede83
commit
1454b99ba1
@ -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();
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user