RESOLVED FIXED 34740
Implement NEVER_INLINE and NO_RETURN for RVCT
https://bugs.webkit.org/show_bug.cgi?id=34740
Summary Implement NEVER_INLINE and NO_RETURN for RVCT
Laszlo Gombos
Reported 2010-02-08 19:17:28 PST
NEVER_INLINE and NO_RETURN are only implemented for GCC at the moment; RVCT has support for these attributes as well.
Attachments
proposed patch (1.13 KB, patch)
2010-02-08 19:20 PST, Laszlo Gombos
no flags
Laszlo Gombos
Comment 1 2010-02-08 19:20:12 PST
Created attachment 48385 [details] proposed patch Have not had a chance to test the patch myself; maybe someone form CC can help with testing before I get to it. Thanks !
Kwang Yul Seo
Comment 2 2010-02-08 19:54:40 PST
I can't find __declspec(noinline) in RVCT 2.2 manual. It is available in RVCT 4.0. I will test the patch myself with RVCT 2.2.
Kwang Yul Seo
Comment 3 2010-02-09 02:40:49 PST
Okay. It works fine with RVCT 2.2 [Build 593] though I couldn't find __declspec(noinline) in RVCT 2.2 manual. LGTM.
Janne Koskinen
Comment 4 2010-02-09 05:44:18 PST
(In reply to comment #3) > Okay. It works fine with RVCT 2.2 [Build 593] though I couldn't find > __declspec(noinline) in RVCT 2.2 manual. LGTM. Tried looking for answer to this as well. __declspec(noinline) is completely missing from docs for RVCT2.2. Did you check that it actually didn't inline your function if keyword was used? I mean if it would be happy with __declspec(foobar). But in any case I agree this should be landed.
Kwang Yul Seo
Comment 5 2010-02-09 06:30:30 PST
(In reply to comment #4) > (In reply to comment #3) > > Okay. It works fine with RVCT 2.2 [Build 593] though I couldn't find > > __declspec(noinline) in RVCT 2.2 manual. LGTM. > > Tried looking for answer to this as well. __declspec(noinline) is completely > missing from docs for RVCT2.2. > Did you check that it actually didn't inline your function if keyword was used? > I mean if it would be happy with __declspec(foobar). > > But in any case I agree this should be landed. RVCT is not happy with __declspec(foobar). Warning: L6305W: Image does not have an entry point. (Not specified or not set due to multiple choices.) Finished: 0 information, 1 warning and 0 error messages. "a.c", line 7: Warning: #645-D: "foobar" is an unrecognized __declspec attribute __declspec(foobar) void foo(UChar* u) ^ a.c: 1 warning, 0 errors RVCT 2.2 certainly recognizes __declspec(noinline) though it is not documented. I didn't check if the function with __declspec(noinline) is actually not inlined.
Adam Barth
Comment 6 2010-02-09 12:20:20 PST
Comment on attachment 48385 [details] proposed patch Sounds like everyone is in agreement that this should be landed.
WebKit Commit Bot
Comment 7 2010-02-14 22:31:39 PST
Comment on attachment 48385 [details] proposed patch Clearing flags on attachment: 48385 Committed r54765: <http://trac.webkit.org/changeset/54765>
WebKit Commit Bot
Comment 8 2010-02-14 22:31:50 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.