Skip to content
Snippets Groups Projects
  • Tom Lane's avatar
    d50183c5
    Inline the easy cases in MakeExpandedObjectReadOnly(). · d50183c5
    Tom Lane authored
    This attempts to buy back some of whatever performance we lost from fixing
    bug #14174 by inlining the initial checks in MakeExpandedObjectReadOnly()
    into the callers.  We can do that in a macro without creating multiple-
    evaluation hazards, so it's pretty much free notationally; and the amount
    of code added to callers should be minimal as well.  (Testing a value can't
    take many more instructions than passing it to a subroutine.)
    
    Might as well inline DatumIsReadWriteExpandedObject() while we're at it.
    
    This is an ABI break for callers, so it doesn't seem safe to put into 9.5,
    but I see no reason not to do it in HEAD.
    d50183c5
    History
    Inline the easy cases in MakeExpandedObjectReadOnly().
    Tom Lane authored
    This attempts to buy back some of whatever performance we lost from fixing
    bug #14174 by inlining the initial checks in MakeExpandedObjectReadOnly()
    into the callers.  We can do that in a macro without creating multiple-
    evaluation hazards, so it's pretty much free notationally; and the amount
    of code added to callers should be minimal as well.  (Testing a value can't
    take many more instructions than passing it to a subroutine.)
    
    Might as well inline DatumIsReadWriteExpandedObject() while we're at it.
    
    This is an ABI break for callers, so it doesn't seem safe to put into 9.5,
    but I see no reason not to do it in HEAD.
src NaN GiB