Faits:
A. M._, ressortissant espagnol né en 1956, a travaillé en Suisse de 1986 à 1995 dans le secteur de la construction. Il est retourné dans son pays d'origine où il a exercé en dernier lieu l'activité de maçon. Il a cessé de travailler le 30 septembre 2002 pour des raisons de santé.
Le 18 décembre 2003, M._ a présenté une demande de prestations de l'assurance-invalidité suisse. Par décision du 17 décembre 2004, confirmée sur opposition le 11 avril 2005, l'Office AI pour les assurés résidant à l'étranger (l'office AI) a rejeté la demande. Cette décision a été annulée par la Commission fédérale de recours en matière d'AVS/AI pour les personnes résidant à l'étranger (aujourd'hui : Tribunal administratif fédéral), par jugement du 18 novembre 2005, laquelle a ordonné une expertise cardiologique complète.
A la suite des examens pratiqués, le docteur G._, médecin à l'INSS, a attesté une incapacité totale de travail de l'assuré dans sa précédente activité de maçon et dans l'accomplissement de travaux lourds (rapport E 213 du 6 novembre 2006). De son côté, le docteur R._ a écarté une obstruction coronarienne significative et toute pathologie coronarienne (rapport du 18 octobre 2006). Quant au docteur U._, médecin de l'office AI, il a admis l'exigibilité d'une activité de substitution légère (prise de position du 11 mars 2007).
Dans un projet de décision du 30 mars 2007, l'office a fait savoir à l'assuré qu'il entendait rejeter la demande de prestations, car l'exercice d'une activité légère et adaptée, à l'instar d'un emploi de surveillant de parking, concierge ou magasinier, était exigible dans une mesure suffisante pour exclure le droit à la rente (taux d'invalidité de 33 %). Par décision du 11 juillet 2007, l'office AI a rejeté la demande.
B. M._ a déféré cette décision au Tribunal administratif fédéral en concluant au versement d'une rente. Il a été débouté par jugement du 11 mars 2009.
C. M._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant derechef au versement d'une rente d'invalidité.
Considérant en droit:
1. Le recours en matière de droit public (art. 82 ss LTF) peut être formé pour violation du droit selon l'art. 95 sv. LTF, le Tribunal fédéral statuant en principe sur la base des faits établis par l'autorité précédente (art. 105 al. 1 LTF), sous réserve des cas prévus à l'art. 105 al. 2 LTF. La constatation des faits importants pour le jugement en cause ne peut être critiquée que si ceux-ci ont été constatés en violation du droit au sens de l'art. 95 LTF ou de manière manifestement inexacte (art. 97 al. 1 LTF).
2. Le litige porte sur le droit du recourant à une rente d'invalidité. La juridiction fédérale de première instance a exposé correctement les dispositions légales applicables au présent cas, de sorte qu'il suffit d'y renvoyer.
3. Les premiers juges ont constaté que le recourant a été frappé d'un infarctus du myocarde en 2000, qu'il a subi une revascularisation avec stent d'abord en 2002, avec triple by-pass ensuite en 2003, et qu'il ne pouvait plus exercer d'activité lourde (maçon, manoeuvre dans le domaine de la construction) en raison des affections diagnostiquées. La juridiction de première instance a toutefois constaté que l'état de santé du recourant avait évolué de manière favorable et qu'il ne souffrait d'aucune pathologie coronarienne au jour où la décision administrative a été rendue, si bien qu'il devait être considéré comme étant apte à exercer à plein temps une activité de substitution légère et adaptée.
4. Le recourant conteste le point de vue des premiers juges. Il soutient derechef que ses affections cardiaques le rendent totalement incapable de travailler, ainsi que l'INSS l'aurait admis.
5. On ne saurait suivre le recourant. En effet, non seulement les constatations de faits de l'autorité de recours de première instance lient le Tribunal fédéral, comme on vient de l'exposer, mais de surcroît le recourant n'indique pas en quoi ces constatations seraient manifestement inexactes ou incomplètes ou qu'elles auraient été établies au mépris de règles essentielles de procédure.
A cet égard, le recourant élude la question centrale qui consiste à savoir s'il dispose ou non d'une capacité de travail dans une activité adaptée. Ce point a pourtant fait l'objet d'une étude circonstanciée des premiers juges, qui ont clairement constaté que le recourant ne présente plus de pathologie coronarienne invalidante dans les activités de substitution légères préconisées par le service médical de l'office AI. Leurs constatations ne procèdent d'ailleurs nullement d'une interprétation erronée des conclusions du docteur G._ du 6 novembre 2006, dès lors que ce médecin n'a exclu que l'exercice d'un travail de maçon (ch. 11.4 du questionnaire E 213) ou d'activités physiquement lourdes (ch. 11.5).
Dans ces conditions, l'évaluation de l'invalidité, dont le calcul n'est pour le surplus pas remis en cause, ne prête pas le flanc à la critique. Le recours se révèle dès lors infondé.
6. Les frais judiciaires seront mis à la charge du recourant qui succombe (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 500 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué aux parties, au Tribunal administratif fédéral, Cour III, et à l'Office fédéral des assurances sociales.
Lucerne, le 11 septembre 2009
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Le Greffier:
Meyer Berthoud