First public contribution.
2 # Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
4 # This component and the accompanying materials are made available
5 # under the terms of the License "Eclipse Public License v1.0"
6 # which accompanies this distribution, and is available
7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 # Initial Contributors:
10 # Nokia Corporation - initial contribution.
26 if (/^(.*?)__NAKED__(.*?)\((.*)\)\s*$/) {
27 @params=split(',' , $3);
28 $npar=scalar(@params);
36 if (/^\s*asm\s*\(\s*\"\s*swi(.*?)(EExec\w+)/) {
40 } elsif (/^\s*asm\s*\(\s*\"\s*swi(.*?)(EFastExec\w+)/) {
51 $info{'par1'}=$params[0] if ($npar>0);
52 $info{'par2'}=$params[1] if ($npar>1);
53 $info{'par3'}=$params[2] if ($npar>2);
54 $info{'par4'}=$params[3] if ($npar>3);
55 push @fastexecs, \%info if ($fast);
56 push @execs, \%info unless ($fast);
61 my $nsx=scalar(@execs);
62 my $nfx=scalar(@fastexecs);
64 print "Number of fast execs = $nfx\n";
65 print "Number of slow execs = $nsx\n";
68 print "\n\nstatic const SFastExecInfo[]=\n\t{\n";
69 foreach (@fastexecs) {
72 print "\t\t$$infoRef{'num'},\n";
73 print "\t\t$$infoRef{'npar'},\n";
74 if ($$infoRef{'par1'}) {
75 print "\t\t$$infoRef{'par1'},\n";
77 print "\t\tNO_PAR,\n";
79 if ($$infoRef{'par2'}) {
80 print "\t\t$$infoRef{'par2'},\n";
82 print "\t\tNO_PAR,\n";
84 if ($$infoRef{'par3'}) {
85 print "\t\t$$infoRef{'par3'},\n";
87 print "\t\tNO_PAR,\n";
89 if ($$infoRef{'par4'}) {
90 print "\t\t$$infoRef{'par4'},\n";
103 print "\n\nstatic const SSlowExecInfo[]=\n\t{\n";
107 print "\t\t$$infoRef{'num'},\n";
108 print "\t\t$$infoRef{'npar'},\n";
109 if ($$infoRef{'par1'}) {
110 print "\t\t$$infoRef{'par1'},\n";
112 print "\t\tNO_PAR,\n";
114 if ($$infoRef{'par2'}) {
115 print "\t\t$$infoRef{'par2'},\n";
117 print "\t\tNO_PAR,\n";
119 if ($$infoRef{'par3'}) {
120 print "\t\t$$infoRef{'par3'},\n";
122 print "\t\tNO_PAR,\n";
124 if ($$infoRef{'par4'}) {
125 print "\t\t$$infoRef{'par4'},\n";
127 print "\t\tNO_PAR\n";
138 print "$$_{'num'}\n";