dberris marked 2 inline comments as done.

================
Comment at: include/clang/Basic/Attr.td:436
@@ +435,3 @@
+                   CXX11<"clang", "xray_never_instrument">];
+  let Subjects = SubjectList<[CXXMethod, ObjCMethod, Function], WarnDiag,
+                              "ExpectedFunctionOrMethod">;
----------------
aaron.ballman wrote:
> Then ClangAttrEmitter.cpp needs to be updated as well (this is a reasonable 
> case to automatically support, I think).
That makes sense, I can do it in another change that's more focused on just 
that if you don't mind?

================
Comment at: include/clang/Basic/AttrDocs.td:2457
@@ +2456,3 @@
+  let Content = [{
+``__attribute__((xray_always_instrument))`` or 
``[[clang:xray_always_instrument]]`` is used to mark member functions (in C++), 
methods (in Objective C), and free functions (in C, C++, and Objective C) to be 
instrumented with XRay. This will cause the function to always have space at 
the beginning and exit points to allow for runtime patching.
+
----------------
aaron.ballman wrote:
> I get the impression they do conflict because they have overlapping 
> functionality (both provide prologue space for runtime patching, for 
> instance). It would be best to have only one attribute if we can do it.
I've explored that option (using `patchable-function` instead) and while I 
haven't excluded that outright, there needs to be a discussion about how we're 
going to implement complimentary instrumentation functionality that do nop-sled 
inserting. I suspect that has to happen in D19904 where we can still make those 
changes to instead use `patchable-function`.

The response to my comment in D19908 seems to be that there should be no 
conflicts in the platforms XRay currently cares about -- but that if we do ever 
want to get XRay implemented/supported in x86 32-bit, then we're going to have 
issues. This suggests that a harder look at `patchable-function` and exclusive 
modes (or special-casing the supported configurations) might need to happen 
sooner than later.


http://reviews.llvm.org/D20352



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to