Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Issue 1554263002: Subzero. ARM32. Materializes the register table. (Closed)

Created:
4 years, 11 months ago by John
Modified:
4 years, 11 months ago
Reviewers:
Jim Stichnoth, Karl, sehr
CC:
native-client-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Subzero. ARM32. Materializes the register table. This CL modifies the ARM32 backend so that the REGARM32_TABLE is only expanded once (to initialize a constexpr array.) This change decreased the backend size in roughly ~80k. BUG= https://code.google.com/p/nativeclient/issues/detail?id=4076 R=kschimpf@google.com Committed: https://gerrit.chromium.org/gerrit/gitweb?p=native_client/pnacl-subzero.git;a=commit;h=149999e54156c3ee219cee9a2c63be35437ae341

Patch Set 1 #

Patch Set 2 : Adds an empty line before RegARM32. #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+129 lines, -71 lines) Patch
M src/IceAssemblerARM32.cpp View 2 chunks +2 lines, -2 lines 0 comments Download
M src/IceRegistersARM32.h View 1 3 chunks +75 lines, -9 lines 3 comments Download
M src/IceTargetLoweringARM32.cpp View 4 chunks +52 lines, -60 lines 2 comments Download

Messages

Total messages: 10 (2 generated)
John
4 years, 11 months ago (2016-01-04 19:52:57 UTC) #2
Karl
lgtm
4 years, 11 months ago (2016-01-04 21:00:47 UTC) #3
Karl
https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h File src/IceRegistersARM32.h (right): https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h#newcode118 src/IceRegistersARM32.h:118: static constexpr struct TableType { Why is this a ...
4 years, 11 months ago (2016-01-04 21:10:45 UTC) #4
John
https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h File src/IceRegistersARM32.h (right): https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h#newcode118 src/IceRegistersARM32.h:118: static constexpr struct TableType { On 2016/01/04 21:10:45, Karl ...
4 years, 11 months ago (2016-01-04 21:45:12 UTC) #5
John
Committed patchset #2 (id:20001) manually as 149999e54156c3ee219cee9a2c63be35437ae341 (presubmit successful).
4 years, 11 months ago (2016-01-04 21:45:30 UTC) #7
Jim Stichnoth
https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h File src/IceRegistersARM32.h (right): https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h#newcode41 src/IceRegistersARM32.h:41: template <typename T, typename... U> struct __length { I ...
4 years, 11 months ago (2016-01-06 19:41:41 UTC) #8
native-client-reviews_googlegroups.com
Only for globals: http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-underscore-in-a-c-identifier I guess the rationale is that a global __length() method is ...
4 years, 11 months ago (2016-01-06 20:44:53 UTC) #9
native-client-reviews_googlegroups.com
4 years, 11 months ago (2016-01-06 20:47:38 UTC) #10
Message was sent while issue was closed.
well, not quite:

http://en.cppreference.com/w/cpp/language/identifiers

"the identifiers with a double underscore anywhere are reserved;"

On Wed, Jan 6, 2016 at 12:44 PM, João Porto <jpp@google.com> wrote:

> Only for globals:
>
http://stackoverflow.com/questions/228783/what-are-the-rules-about-using-an-u...
>
> I guess the rationale is that a global __length() method is more likely to
> clash than an class method deep down in a namespace/struct.
>
> Plus, this should go away once we move to c++14.
>
> On Wed, Jan 6, 2016 at 11:41 AM, <stichnot@chromium.org> wrote:
>
>>
>>
>>
https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h
>> File src/IceRegistersARM32.h (right):
>>
>>
>>
https://codereview.chromium.org/1554263002/diff/20001/src/IceRegistersARM32.h...
>> src/IceRegistersARM32.h:41: template <typename T, typename... U> struct
>> __length {
>> I believe that identifiers containing adjacent underscores are not
>> allowed (reserved for the language implementation).  I take it to mean
>> it's perhaps OK for the szrt, but not here.
>>
>> In fact, it looks like we're already violating that in a number of
>> places...
>>
>> https://codereview.chromium.org/1554263002/
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups
"Native-Client-Reviews" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to native-client-reviews+unsubscribe@googlegroups.com.
To post to this group, send email to native-client-reviews@googlegroups.com.
Visit this group at https://groups.google.com/group/native-client-reviews.
For more options, visit https://groups.google.com/d/optout.

Powered by Google App Engine
This is Rietveld 408576698