Bug 1428984 - Part 2: Remove unused never_inline flag. r?froydnj draft
authorChris Peterson <cpeterson@mozilla.com>
Fri, 12 Jan 2018 21:12:07 -0800
changeset 720206 25005a4c4130f8432e1738b32ffc375522a65586
parent 720205 6eab4053713a9ca2bf3fff4ccae8a9b20fdea3d3
child 720207 7fb2bf07e99faa8f44fb179e816aead5d82d48e7
push id95478
push usercpeterson@mozilla.com
push dateMon, 15 Jan 2018 03:26:10 +0000
reviewersfroydnj
bugs1428984
milestone59.0a1
Bug 1428984 - Part 2: Remove unused never_inline flag. r?froydnj never_inline is never set so cgen never emits MOZ_NEVER_INLINE. MozReview-Commit-ID: HS7qw7D4lBC
ipc/ipdl/ipdl/cxx/ast.py
ipc/ipdl/ipdl/cxx/cgen.py
ipc/ipdl/ipdl/lower.py
--- a/ipc/ipdl/ipdl/cxx/ast.py
+++ b/ipc/ipdl/ipdl/cxx/ast.py
@@ -477,55 +477,51 @@ def make_enum(name, members_str):
         member_value += 1
     return type(name, (), members_dict)
 
 MethodSpec = make_enum('MethodSpec', 'NONE VIRTUAL PURE OVERRIDE STATIC')
 
 class MethodDecl(Node):
     def __init__(self, name, params=[ ], ret=Type('void'),
                  methodspec=MethodSpec.NONE, const=0, warn_unused=0,
-                 inline=0, force_inline=0, never_inline=0,
+                 inline=0, force_inline=0,
                  typeop=None, T=None):
         assert not (name and typeop)
         assert name is None or isinstance(name, str)
         assert not isinstance(ret, list)
         for decl in params:  assert not isinstance(decl, str)
         assert not isinstance(T, int)
-        assert not (inline and never_inline)
-        assert not (force_inline and never_inline)
 
         if typeop is not None:
             assert methodspec == MethodSpec.NONE
             ret = None
 
         Node.__init__(self)
         self.name = name
         self.params = params            # [ Param ]
         self.ret = ret                  # Type or None
         self.methodspec = methodspec    # enum
         self.const = const              # bool
         self.warn_unused = warn_unused  # bool
         self.force_inline = (force_inline or T) # bool
         self.inline = inline            # bool
-        self.never_inline = never_inline # bool
         self.typeop = typeop            # Type or None
         self.T = T                      # Type or None
         self.only_for_definition = False
 
     def __deepcopy__(self, memo):
         return MethodDecl(
             self.name,
             params=copy.deepcopy(self.params, memo),
             ret=copy.deepcopy(self.ret, memo),
             methodspec=self.methodspec,
             const=self.const,
             warn_unused=self.warn_unused,
             inline=self.inline,
             force_inline=self.force_inline,
-            never_inline=self.never_inline,
             typeop=copy.deepcopy(self.typeop, memo),
             T=copy.deepcopy(self.T, memo))
 
 class MethodDefn(Block):
     def __init__(self, decl):
         Block.__init__(self)
         self.decl = decl
 
--- a/ipc/ipdl/ipdl/cxx/cgen.py
+++ b/ipc/ipdl/ipdl/cxx/cgen.py
@@ -197,18 +197,16 @@ class CxxCodeGen(CodePrinter, Visitor):
             md.T.accept(self)
             self.println('>')
             self.printdent()
 
         if md.warn_unused:
             self.write('MOZ_MUST_USE ')
         if md.inline:
             self.write('inline ')
-        if md.never_inline:
-            self.write('MOZ_NEVER_INLINE ')
 
         if md.methodspec == MethodSpec.STATIC:
             self.write('static ')
         elif md.methodspec == MethodSpec.VIRTUAL or \
              md.methodspec == MethodSpec.PURE:
             self.write('virtual ')
 
         if md.ret:
--- a/ipc/ipdl/ipdl/lower.py
+++ b/ipc/ipdl/ipdl/lower.py
@@ -4895,17 +4895,16 @@ methodDefns."""
 
     return cls, defns
 
 def _splitMethodDefn(md, clsname):
     saveddecl = deepcopy(md.decl)
     md.decl.name = (clsname +'::'+ md.decl.name)
     md.decl.methodspec = MethodSpec.NONE
     md.decl.warn_unused = 0
-    md.decl.never_inline = 0
     md.decl.only_for_definition = True
     for param in md.decl.params:
         if isinstance(param, Param):
             param.default = None
     return saveddecl, md
 
 
 def _splitFuncDeclDefn(fun):