[Mesa-dev] [PATCH 38/41] glapi: glX_proto_size.py: Remove dead code.
Ian Romanick
idr at freedesktop.org
Tue Apr 19 23:45:21 UTC 2016
Did you try commenting the 'return 0' to see how that affected the
binary size? My old experiment was stupid... I just looked at 'ls -l'
on the .o file. A better experiment is to look at the output of 'size
libglapi.so.0.0.0'.
On 03/31/2016 05:04 PM, Dylan Baker wrote:
> This code has for a long time returned 0 on entry. This makes the code
> dead, and the one place it is invoked a no-op if statement (it will
> always go down the if path).
>
> Thanks to version control it's rather simple to restore it if someday
> someone decides that they want it.
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
> src/mapi/glapi/gen/glX_proto_size.py | 77 +-----------------------------------
> 1 file changed, 1 insertion(+), 76 deletions(-)
>
> diff --git a/src/mapi/glapi/gen/glX_proto_size.py b/src/mapi/glapi/gen/glX_proto_size.py
> index b8625a6..e4d685b 100644
> --- a/src/mapi/glapi/gen/glX_proto_size.py
> +++ b/src/mapi/glapi/gen/glX_proto_size.py
> @@ -104,80 +104,6 @@ class glx_enum_function(object):
> def is_set(self):
> return self.mode
>
> - def PrintUsingTable(self):
> - """Emit the body of the __gl*_size function using a pair
> - of look-up tables and a mask. The mask is calculated such
> - that (e & mask) is unique for all the valid values of e for
> - this function. The result of (e & mask) is used as an index
> - into the first look-up table. If it matches e, then the
> - same entry of the second table is returned. Otherwise zero
> - is returned.
> -
> - It seems like this should cause better code to be generated.
> - However, on x86 at least, the resulting .o file is about 20%
> - larger then the switch-statment version. I am leaving this
> - code in because the results may be different on other
> - platforms (e.g., PowerPC or x86-64)."""
> -
> - return 0
> - count = 0
> - for a in self.enums:
> - count += 1
> -
> - if -1 in self.count:
> - return 0
> -
> - # Determine if there is some mask M, such that M = (2^N) - 1,
> - # that will generate unique values for all of the enums.
> -
> - mask = 0
> - for i in [1, 2, 3, 4, 5, 6, 7, 8]:
> - mask = (1 << i) - 1
> -
> - fail = 0
> - for a in self.enums:
> - for b in self.enums:
> - if a != b:
> - if (a & mask) == (b & mask):
> - fail = 1
> -
> - if not fail:
> - break
> - else:
> - mask = 0
> -
> - if (mask != 0) and (mask < (2 * count)):
> - masked_enums = {}
> - masked_count = {}
> -
> - for i in xrange(mask + 1):
> - masked_enums[i] = "0"
> - masked_count[i] = 0
> -
> - for c in self.count:
> - for e in self.count[c]:
> - i = e & mask
> - enum_obj = self.enums[e][0]
> - masked_enums[i] = '0x%04x /* %s */' % (e, enum_obj.name)
> - masked_count[i] = c
> -
> - print ' static const GLushort a[%u] = {' % (mask + 1)
> - for e in masked_enums:
> - print ' %s, ' % (masked_enums[e])
> - print ' };'
> -
> - print ' static const GLubyte b[%u] = {' % (mask + 1)
> - for c in masked_count:
> - print ' %u, ' % (masked_count[c])
> - print ' };'
> -
> - print ' const unsigned idx = (e & 0x%02xU);' % (mask)
> - print ''
> - print ' return (e == a[idx]) ? (GLint) b[idx] : 0;'
> - return True
> - else:
> - return False
> -
> def PrintUsingSwitch(self, name):
> """Emit the body of the __gl*_size function using a switch-statement."""
>
> @@ -221,8 +147,7 @@ class glx_enum_function(object):
> print '__gl%s_size( GLenum e )' % (name)
> print '{'
>
> - if not self.PrintUsingTable():
> - self.PrintUsingSwitch(name)
> + self.PrintUsingSwitch(name)
>
> print '}'
> print ''
>
More information about the mesa-dev
mailing list