• bugsnash's avatar
    Removed local RefPtr created from PassRefPtr arg in generated file. · 518f9370
    bugsnash authored
    This is a follow up from https://codereview.chromium.org/2807073002
    
    This patch removed a generated instance of a PassRefPtr object being
    copied into a RefPtr object.
    
    All instances of PassRefPtr objects being copied into RefPtr objects
    need to be wrapped in std::move to avoid introducing ref churn in
    future changes when all PassRefPtr objects will be replaced with RefPtr
    objects. In this case creating a local RefPtr just to copy the
    PassRefPtr argument into, a std::move wrap doesn't make sense as it
    would result in a final state where a RefPtr argument is moved into a
    local RefPtr for no reason. So to handle this cases I have converted
    the PassRefPtr argument to RefPtr in advance, and removed the local
    RefPtr argument, instead using the passed RefPtr in the
    method.
    
    This patch
    - Changed the argument passed from PassRefPtr to RefPtr
    - Removed the logic for creating a local RefPtr argument
    - Changed the naming logic to name RefPtr arguments as rpParamTypeName
    - Removed the self.value variable and used self.name instead, as
      self.value was only used to store the name of the local RefPtr
      variable separate from the PassRefPtr argument
    - Removed the comment in the header about PassRefPtr parameters
    - Removed the base_name variable in build_param_name as this was
      causing a presubmit error from clashing with the global base_name
    
    Changes to generated files:
    https://gist.github.com/BugsNash/595ec7b86ce850d676aa8722f68abbf8/revisions
    
    BUG=494719
    
    Review-Url: https://codereview.chromium.org/2846723003
    Cr-Commit-Position: refs/heads/master@{#467909}
    518f9370
InstrumentingProbesImpl.cpp.tmpl 2.51 KB