summaryrefslogtreecommitdiff
path: root/compiler/hlcg2ll.pas
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-02-03 13:28:56 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2014-02-03 13:28:56 +0000
commit5249bb79d546e1d6acf21aec658a9323ee1a15e7 (patch)
tree284f01bfceb0b8d207f7bb24ae215953ec0215a0 /compiler/hlcg2ll.pas
parentb446a770ba9f9cd9e0ff7afcb0508d4b5d5bd135 (diff)
downloadfpc-5249bb79d546e1d6acf21aec658a9323ee1a15e7.tar.gz
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
+ x86 targets now directly call procedure variables located in references. - a_call_ref method removed from tcg and thlcgobj. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@26666 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/hlcg2ll.pas')
-rw-r--r--compiler/hlcg2ll.pas6
1 files changed, 0 insertions, 6 deletions
diff --git a/compiler/hlcg2ll.pas b/compiler/hlcg2ll.pas
index 25e4a13d50..22c07ec202 100644
--- a/compiler/hlcg2ll.pas
+++ b/compiler/hlcg2ll.pas
@@ -151,7 +151,6 @@ unit hlcg2ll;
function a_call_name(list : TAsmList;pd : tprocdef;const s : TSymStr; forceresdef: tdef; weak: boolean): tcgpara;override;
procedure a_call_reg(list : TAsmList;pd : tabstractprocdef;reg : tregister);override;
- procedure a_call_ref(list : TAsmList;pd : tabstractprocdef;const ref : treference);override;
{ same as a_call_name, might be overridden on certain architectures to emit
static calls without usage of a got trampoline }
function a_call_name_static(list : TAsmList;pd : tprocdef;const s : TSymStr; forceresdef: tdef): tcgpara;override;
@@ -462,11 +461,6 @@ implementation
cg.a_call_reg(list,reg);
end;
- procedure thlcg2ll.a_call_ref(list: TAsmList; pd: tabstractprocdef; const ref: treference);
- begin
- cg.a_call_ref(list,ref);
- end;
-
function thlcg2ll.a_call_name_static(list: TAsmList; pd: tprocdef; const s: TSymStr; forceresdef: tdef): tcgpara;
begin
cg.a_call_name_static(list,s);