Lines Matching refs:line
223 my ($class, $line) = @_;
227 if ($$line =~ /^([a-z][a-z0-9]*)/i) {
231 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
243 } elsif ($self->{op} =~ /mov[dq]/ && $$line =~ /%xmm/) {
301 my ($class, $line) = @_;
305 if ($$line =~ /^\$([^,]+)/) {
309 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
348 if ($$line =~ /^(\*?)([^\(,]*)\(([%\w,]+)\)((?:{[^}]+})*)/) {
356 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
447 my ($class, $line, $opcode) = @_;
452 if ($$line =~ /^(\*?)%(\w+)((?:{[^}]+})*)/) {
459 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
489 my ($class, $line) = @_;
493 if ($$line =~ /(^[\.\w]+)\:/) {
497 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
556 my ($class, $line, $opcode) = @_;
560 if ($$line =~ /(^[^,]+)/) {
564 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
722 my $line = shift;
725 foreach my $token (split(/,\s*/,$line)) {
749 my ($class, $line) = @_;
753 if ($$line =~ s/^\s*\.cfi_(\w+)\s*//) {
773 && do { $cfa_reg = $$line; last; };
775 && do { $cfa_rsp = -1*eval($$line) if ($cfa_reg eq "%rsp");
779 && do { $cfa_rsp -= 1*eval($$line) if ($cfa_reg eq "%rsp");
782 /def_cfa/ && do { if ($$line =~ /(%r\w+)\s*,\s*(.+)/) {
793 $self->{value} .= ".cfi_offset\t$$line,$cfa_rsp";
801 $self->{value} .= ".cfi_restore\t$$line";
808 cfa_expression($$line)));
821 $self->{value} = ".cfi_$dir\t$$line" if ($dir);
823 $$line = "";
835 my ($class, $line) = @_;
841 $ret = cfi_directive->re($line) and return $ret;
843 if ($$line =~ /^\s*(\.\w+)/) {
848 $$line = substr($$line,@+[0]); $$line =~ s/^\s+//;
852 && do { $globals{$$line} = $prefix . $$line;
853 $$line = $globals{$$line} if ($prefix);
856 /\.type/ && do { my ($sym,$type,$narg) = split(',',$$line);
868 $$line =~ s/\@abi\-omnipotent/\@function/;
869 $$line =~ s/\@function.*/\@function/;
872 /\.asciz/ && do { if ($$line =~ /^"(.*)"$/) {
874 $$line = join(",",unpack("C*",$1),0);
879 && do { $$line =~ s/([_a-z][_a-z0-9]*)/$globals{$1} or $1/gei;
880 $$line =~ s/\.L/$decor/g;
886 $self->{value} = $dir . "\t" . $$line;
895 if ($win64 && $$line =~ /([^,]+),\@function/);
904 $self->{value} = ".p2align\t" . (log($$line)/log(2));
923 $current_segment = $$line;
945 if ($flavour eq "macosx") { $self->{value} = ".private_extern\t$prefix$$line"; }
948 $self->{value} = "$dir\t$prefix$$line";
962 $$line = "";
1012 $align = $$line;
1014 $$line =~ s/(.*)(\s+align\s*=\s*\d+$)/$1/;
1015 $$line =~ s/,.*//;
1016 $$line = ".CRT\$XCU" if ($$line eq ".init");
1017 $$line = ".rdata" if ($$line eq ".rodata");
1030 $v="section $$line";
1031 if ($$line=~/\.([prx])data/) {
1038 } elsif ($$line=~/\.CRT\$/i) {
1051 $v.="$$line\tSEGMENT";
1052 if ($$line=~/\.([prx])data/) {
1059 } elsif ($$line=~/\.CRT\$/i) {
1064 $current_segment = $$line;
1065 push(@segment_stack, $$line);
1069 /\.extern/ && do { $self->{value} = "EXTERN\t".$$line;
1075 $self->{value} .= "\t".$$line;
1090 $self->{value} = "ALIGN\t".($$line>$max?$max:$$line);
1095 my @arr = split(/,\s*/,$$line);
1111 /\.byte/ && do { my @str=split(/,\s*/,$$line);
1123 /\.comm/ && do { my @str=split(/,\s*/,$$line);
1167 $$line = "";
1384 while(defined(my $line=<>)) {
1386 $line =~ s|\R$||; # Better chomp
1388 $line =~ s|[#!].*$||; # get rid of asm-style comments...
1389 $line =~ s|/\*.*\*/||; # ... and C-style comments...
1390 $line =~ s|^\s+||; # ... and skip whitespaces in beginning
1391 $line =~ s|\s+$||; # ... and at the end
1393 if (my $label=label->re(\$line)) { print $label->out(); }
1395 if (my $directive=directive->re(\$line)) {
1397 } elsif (my $opcode=opcode->re(\$line)) {
1400 if ((ref($asm) eq 'CODE') && scalar(my @bytes=&$asm($line))) {
1409 ($arg=register->re(\$line, $opcode))||
1410 ($arg=const->re(\$line)) ||
1411 ($arg=ea->re(\$line, $opcode)) ||
1412 ($arg=expr->re(\$line, $opcode)) ||
1417 last ARGUMENT if ($line !~ /^,/);
1419 $line =~ s/^,\s*//;
1449 print $line,"\n";