Bug 126422

Summary: CStack Branch: slowPathFor in ThunkGenerators.cpp fail to compile
Product: WebKit Reporter: Michael Saboff <msaboff>
Component: JavaScriptCoreAssignee: Michael Saboff <msaboff>
Status: RESOLVED WONTFIX    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Patch fpizlo: review-

Michael Saboff
Reported 2014-01-03 00:25:41 PST
slowPathFor() in ThunkGenerators.cpp cause a compilation failure on ARM64 due to missing noreturn attribute.
Attachments
Patch (1.66 KB, patch)
2014-01-03 00:27 PST, Michael Saboff
fpizlo: review-
Michael Saboff
Comment 1 2014-01-03 00:27:55 PST
Filip Pizlo
Comment 2 2014-01-03 10:12:25 PST
Comment on attachment 220287 [details] Patch I really don't like the use of these pragmas. Is this because slowPathFor calls a function marked NORETURN? If so, remove NORETURN from that function. Can't remove NORETURN from a function because it uses CRASH() or RELEASE_ASSERT_NOT_REACHED()? In that case, just use UNREACHABLE_FOR_PLATFORM() instead.
Michael Saboff
Comment 3 2014-01-03 17:46:37 PST
(In reply to comment #2) > (From update of attachment 220287 [details]) > I really don't like the use of these pragmas. Is this because slowPathFor calls a function marked NORETURN? If so, remove NORETURN from that function. Can't remove NORETURN from a function because it uses CRASH() or RELEASE_ASSERT_NOT_REACHED()? In that case, just use UNREACHABLE_FOR_PLATFORM() instead. This bug is no longer needed. The compilation issue was due to pop(callFrameRegister) being a CRASH() on ARM64. Fixing the real issue now handled in <https://bugs.webkit.org/show_bug.cgi?id=126478> - "CStack Branch: slowPathFor() should emit an epilogue instead of popping the callFrameRegister".
Note You need to log in before you can comment on or make changes to this bug.