HomePhabricator

cleanup RSCoordinate handling and factor out coordinate parser

Description

cleanup RSCoordinate handling and factor out coordinate parser

  • This change updates the signature of

RenderScriptRuntime::PlaceBreakpointOnKernel to take a default
RSCoordinate pointer of nullptr. We use this as the predicate value for
the breakpoint coordinate rather than trying to fit a sentinel -1 into
a signed version.

- void
- PlaceBreakpointOnKernel(Stream &strm, const char *name, const std::array<int, 3> coords, Error &error,
- lldb::TargetSP target);
+ bool
+ PlaceBreakpointOnKernel(lldb::TargetSP target, Stream &messages, const char *name,
+ const lldb_renderscript::RSCoordinate *coords = nullptr);

The above change makes the API for setting breakpoints on kernels
cleaner as it returns a failure value rather than modify a sentinel in
the caller. The optional arguments are now last and have a default
(falsey) value.

  • RSCoordinate objects are now comparable with operator== and have zero initializers which should make them easier to work on.
  • Added a FMT_COORD macro for use in logging format strings which should make format strings a little less verbose.

Details

Committed
ldrummOct 5 2016, 7:34 AM
Parents
rL283319: Test commit permission
Branches
Unknown
Tags
Unknown