Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion Removing two-arg ne

Newsgroups: perl.perl6.internals
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <s...@amnh.org>
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
X-Authentication-Warning: egg.amnh.org: scog owned process doing -bs
Date: Thu, 10 Oct 2002 12:06:54 -0400 (EDT)
To: Dan Sugalski <d...@sidhe.org>
cc: Steve Fink <st...@fink.com>, <perl6-intern...@perl.org>
Subject: [PATCH] Removing two-arg ne 
In-Reply-To: <a05111b02b9ca65fd928b@[63.120.19.221]>
Message-ID: <Pine.GSO.4.43.0210101155360.17996-100000@egg.amnh.org>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
X-SMTPD: qpsmtpd/0.11, http://develooper.com/code/qpsmtpd/
Approved: n...@nntp.perl.org
From: s...@amnh.org (Simon Glover)
References: <a05111b02b9ca65fd928b@[63.120.19.221]>
Lines: 196


On Wed, 9 Oct 2002, Dan Sugalski wrote:

> At 7:42 PM -0700 10/8/02, Steve Fink wrote:
> >Thanks, applied.
> >
> >Who came up with the idea of two-argument ne, anyway? That's kind of
> >bizarre.
>
>
> Definitely bizarre. I think I'd rather not have it, it doesn't make much sense.

 Easily done. Patch below removes the ops, plus the relevent tests from
 integer.t and number.t

 Simon

--- core.ops.old	Thu Oct 10 11:57:08 2002
+++ core.ops	Thu Oct 10 11:57:29 2002
@@ -902,14 +902,6 @@ op eq (in PMC, in PMC, inconst INT) {

 ########################################

-=item B<ne>(in INT, in INT)
-
-=item B<ne>(in NUM, in NUM)
-
-=item B<ne>(in STR, in STR)
-
-=item B<ne>(in PMC, in PMC)
-
 =item B<ne>(in INT, in INT, inconst INT)

 =item B<ne>(in NUM, in NUM, inconst INT)
@@ -920,38 +912,8 @@ op eq (in PMC, in PMC, inconst INT) {

 Branch if $1 is not equal to $2.

-Return address is popped off the call stack if no address is supplied.
-
 =cut

-inline op ne (in INT, in INT) {
-  if ($1 != $2) {
-    goto POP();
-  }
-  goto NEXT();
-}
-
-inline op ne (in NUM, in NUM) {
-  if ($1 != $2) {
-    goto POP();
-  }
-  goto NEXT();
-}
-
-op ne (in STR, in STR) {
-  if (string_compare (interpreter, $1, $2) != 0) {
-    goto POP();
-  }
-  goto NEXT();
-}
-
-op ne (in PMC, in PMC) {
-  if (! $1->vtable->is_equal(interpreter, $1, $2)) {
-    goto POP();
-  }
-  goto NEXT();
-}
-
 inline op ne(in INT, in INT, inconst INT) {
   if ($1 != $2) {
     goto OFFSET($3);

--- t/op/integer.t.old	Thu Oct 10 11:58:24 2002
+++ t/op/integer.t	Thu Oct 10 12:00:56 2002
@@ -1,6 +1,6 @@
 #! perl -w

-use Parrot::Test tests => 39;
+use Parrot::Test tests => 38;

 output_is(<<CODE, <<OUTPUT, "set_i_ic");
 	# XXX: Need a test for writing outside the set of available
@@ -520,47 +520,6 @@ ok 1
 ok 2
 OUTPUT

-output_is(<<CODE, <<OUTPUT, "ne ic, i (pop label off stack)");
-
-	set	I0, 12
-	set	I1, 10
-
-	print	"start\\n"
-	bsr	BR1
-	print	"done 1\\n"
-	bsr	BR2
-	print	"done 2\\n"
-	bsr	BR3
-	print	"done 3\\n"
-        bsr     BR4
-        print   "Shouldn't get here\\n"
-
-	end
-
-BR1:	ne	I0, 10
-	print	"bad "
-	ret
-
-BR2:	ne	10, 12
-	print	"10 is 12! "
-	ret
-
-BR3:	ne	I0, I1
-	print	"10 is 12, even when in I reg "
-	ret
-
-BR4:    ne      12, 12
-        print   "done 4\\n"
-        end
-
-CODE
-start
-done 1
-done 2
-done 3
-done 4
-OUTPUT
-
 output_is(<<CODE, <<OUTPUT, "lt_i_ic");
 	set	I0, 2147483647
 	set	I1, -2147483648


--- t/op/number.t.old	Thu Oct 10 11:58:35 2002
+++ t/op/number.t	Thu Oct 10 12:01:45 2002
@@ -1,6 +1,6 @@
 #! perl -w

-use Parrot::Test tests => 34;
+use Parrot::Test tests => 33;
 use Test::More;

 output_is(<<CODE, <<OUTPUT, "set_n_nc");
@@ -491,50 +491,6 @@ ok 1
 ok 2
 OUTPUT

-output_is(<<'CODE', <<OUTPUT, "ne_n");
-        set     N0, 1.234567
-        set     N1, -1.234567
-
-        bsr     BR1
-        print   "ok 1\n"
-        bsr     BR2
-        print   "ok 2\n"
-        bsr     BR3
-        print   "ok 3\n"
-        bsr     BR4
-        print   "ok 4\n"
-        bsr     BR5
-        print   "Shouldn't get here\n"
-        end
-
-BR1:    ne N0, N1
-        print "not ok 1\n"
-        ret
-
-BR2:    ne 2.54, N0
-        print "not ok 2\n"
-        ret
-
-BR3:    ne N0, 0.00
-        print "not ok 3\n"
-        ret
-
-BR4:    ne 1.0, 2.0
-        print "not ok 4\n"
-        ret
-
-BR5:    ne N0, N0
-        print "ok 5\n"
-        end
-
-CODE
-ok 1
-ok 2
-ok 3
-ok 4
-ok 5
-OUTPUT
-
 output_is(<<CODE, <<OUTPUT, "lt_n_ic");
 	set	N0, 1000.0
 	set	N1, 500.0