[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnash-commit] /srv/bzr/gnash/avm2 r9636: Fix build, abort rather th
From: |
Tom Stellard |
Subject: |
Re: [Gnash-commit] /srv/bzr/gnash/avm2 r9636: Fix build, abort rather than segfault, get rid of one horrible macro. |
Date: |
Tue, 21 Oct 2008 15:44:14 +0800 |
On Tue, Oct 21, 2008 at 3:23 PM, strk <address@hidden> wrote:
> On Mon, Oct 20, 2008 at 10:24:16PM +0200, Benjamin Wolsey wrote:
>> ------------------------------------------------------------
>> revno: 9636
>> committer: Benjamin Wolsey <address@hidden>
>> branch nick: avm2
>> timestamp: Mon 2008-10-20 22:24:16 +0200
>> message:
>> Fix build, abort rather than segfault, get rid of one horrible macro.
>
>> modified:
>> libcore/swf/DoABCTag.h
>> libcore/swf/SymbolClassTag.h
>> libcore/vm/Machine.cpp
>
>> -#define ABSTRACT_EQUALITY(st, ev1, ev2, strictness_on)
>
> Isn't abstract equality what as_value::equals implement ?
>
> in as_value.h:
>
> /// Return true if this value is abstractly equal to the given one
> //
> /// See ECMA-262 abstract equality comparison (sect 11.9.3)
> ///
> /// NOTE: these invariants should hold
> ///
> /// - A != B is equivalent to ! ( A == B )
> /// - A == B is equivalent to B == A, except for order of
> /// evaluation of A and B.
> ///
> /// @param env
> /// The environment to use for running the toString() and valueOf()
> /// methods for object values.
> ///
> bool equals(const as_value& v) const;
>
> --strk;
>
I have replaced the ABSTRACT_EQUALITY macro with as_value::equals in
some opcodes. The opcodes that still use this macro are ones that
haven't been used by any of the testcases I've been working on, so I
haven't gotten around to fixing them yet. There is another macro
ABSTRACT_COMPARE that can probably be replaced with
as_value::newLessThan(), but I think I have only made this change in
one opcode so far.
-Tom