Bug 126422 - CStack Branch: slowPathFor in ThunkGenerators.cpp fail to compile
Summary: CStack Branch: slowPathFor in ThunkGenerators.cpp fail to compile
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Michael Saboff
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-01-03 00:25 PST by Michael Saboff
Modified: 2014-01-03 17:46 PST (History)
0 users

See Also:


Attachments
Patch (1.66 KB, patch)
2014-01-03 00:27 PST, Michael Saboff
fpizlo: review-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Saboff 2014-01-03 00:25:41 PST
slowPathFor() in ThunkGenerators.cpp cause a compilation failure on ARM64 due to missing noreturn attribute.
Comment 1 Michael Saboff 2014-01-03 00:27:55 PST
Created attachment 220287 [details]
Patch
Comment 2 Filip Pizlo 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.
Comment 3 Michael Saboff 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".