From 26dcdf733fbd91eac923c5e5067d43c4f91779d0 Mon Sep 17 00:00:00 2001 From: "beard%netscape.com" Date: Fri, 28 Apr 2000 13:17:35 +0000 Subject: [PATCH] support for printing ArgLists. git-svn-id: svn://10.0.0.236/trunk@67516 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/js/js2/tools/gencode.pl | 10 ++++++++-- mozilla/js2/tools/gencode.pl | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mozilla/js/js2/tools/gencode.pl b/mozilla/js/js2/tools/gencode.pl index ad8a6cc7157..c6b8b35b013 100644 --- a/mozilla/js/js2/tools/gencode.pl +++ b/mozilla/js/js2/tools/gencode.pl @@ -1,3 +1,5 @@ +#!perl + use strict; my $tab = " "; @@ -272,8 +274,12 @@ sub collect { $init_tab . $tab . $tab . "return f;\n" . $init_tab . $tab . "}\n"); + my $printops_body = &get_printops_body(@types); + my $printops_decl = ($printops_body ne "" ? "virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {\n" + : "virtual Formatter& printOperands(Formatter& f, const JSValues& /*registers*/) {\n"); + $class_decs .= ($init_tab . $tab . - "virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {\n" . + $printops_decl . &get_printops_body(@types) . $init_tab . $tab . $tab . "return f;\n" . $init_tab . $tab . "}\n"); @@ -401,7 +407,7 @@ sub get_printops_body { if ($type eq "Register") { push (@oplist, "\"R\" << mOp$op << \" = \" << registers[mOp$op]"); } elsif ($type eq "RegisterList") { - push (@oplist, "\"RL\" << mOp$op"); + push (@oplist, "ArgList(mOp$op, registers)"); } $op++; diff --git a/mozilla/js2/tools/gencode.pl b/mozilla/js2/tools/gencode.pl index ad8a6cc7157..c6b8b35b013 100644 --- a/mozilla/js2/tools/gencode.pl +++ b/mozilla/js2/tools/gencode.pl @@ -1,3 +1,5 @@ +#!perl + use strict; my $tab = " "; @@ -272,8 +274,12 @@ sub collect { $init_tab . $tab . $tab . "return f;\n" . $init_tab . $tab . "}\n"); + my $printops_body = &get_printops_body(@types); + my $printops_decl = ($printops_body ne "" ? "virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {\n" + : "virtual Formatter& printOperands(Formatter& f, const JSValues& /*registers*/) {\n"); + $class_decs .= ($init_tab . $tab . - "virtual Formatter& printOperands(Formatter& f, const JSValues& registers) {\n" . + $printops_decl . &get_printops_body(@types) . $init_tab . $tab . $tab . "return f;\n" . $init_tab . $tab . "}\n"); @@ -401,7 +407,7 @@ sub get_printops_body { if ($type eq "Register") { push (@oplist, "\"R\" << mOp$op << \" = \" << registers[mOp$op]"); } elsif ($type eq "RegisterList") { - push (@oplist, "\"RL\" << mOp$op"); + push (@oplist, "ArgList(mOp$op, registers)"); } $op++;