This is an archive of the discontinued LLVM Phabricator instance.

[C API] Wire up new GC intrinsics to the C API
ClosedPublic

Authored by artagnon on Dec 31 2014, 10:33 AM.

Details

Reviewers
reames
whitequark
Summary

While at it, fix a few typos in the Statepoints documentation (I
happened to be reading it).

The ultimate objective is to make these intrinsics accessible from
OCaml, ofcourse. Currently, I can get away with delcare-plus-call, but
these are pretty.

Diff Detail

Event Timeline

artagnon updated this revision to Diff 17749.Dec 31 2014, 10:33 AM
artagnon retitled this revision from to [C API] Wire up new GC intrinsics to the C API.
artagnon updated this object.
artagnon edited the test plan for this revision. (Show Details)
artagnon added reviewers: whitequark, reames.
artagnon added a subscriber: Unknown Object (MLST).
artagnon updated this revision to Diff 17750.Dec 31 2014, 10:42 AM

Fix typo.

reames edited edge metadata.Dec 31 2014, 11:17 AM

I'll happily take the fixes for the documentation, but I specifically do
not want to commit to the C API at this time. I am expecting details of
the arguments to change a bit in the near future and do not want to be
supporting a legacy C API. Correct me if I'm wrong, but I believe we
usually try to maintain backwards compatibility with the C API.

Is there a way to add something to the C API while explicitly excepting
it from any backwards compatibility guarantees? I'd be fine with that.

Alternatively, if you wanted to wait until after the 3.6 cut date, I'm
pretty sure we'd have the api hammered out by the time we cut 3.7. (And
there's never any backwards compat for unreleased TOT versions.)

p.s. I'm away from work for a few days, I'll take a closer look at the
doc changes and likely commit them early next week.

Philip

artagnon updated this revision to Diff 17751.Dec 31 2014, 11:44 AM
artagnon edited edge metadata.

Amend some boring documentation work. Hopefully, people will auto-wrap
in the future.

Not sure about the C API; if we have to maintain backwards
compatibility (which I was hoping wasn't the case), delay it until a
release.

whitequark edited edge metadata.Dec 31 2014, 11:55 PM

Philip is correct: the C API is traditionally maintained to be backward compatible.

reames accepted this revision.Jan 2 2015, 11:53 AM
reames edited edge metadata.

I submitted the statepoint documentation changes as revision 225084.

In the future, please try to separate formatting changes from 'bug fixes'. Figuring out what had actually changed in your diffs was quite challenging. I decided to take the patch as is in this case, but in the future, I will likely ask you to separate the change into two review requests.

Once 3.6 has branched, please feel free to resubmit the C API changes. Alternately, you could start an llvmdev discussion about experimental C API extensions, but that's more work than waiting a few weeks.

p.s. Thanks for the patches.

This revision is now accepted and ready to land.Jan 2 2015, 11:53 AM
reames closed this revision.Jan 2 2015, 11:53 AM