[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Experimental: v38 interpreter with minimal backwards comp
From: |
Werner LEMBERG |
Subject: |
Re: [ft-devel] Experimental: v38 interpreter with minimal backwards compatibility mode and linear advance widths |
Date: |
Sat, 12 Mar 2016 07:59:59 +0100 (CET) |
>> Mhmm. This is too hars harsh. I would rather simply stop
>> interpretation of delta instructions but let everything else work.
>> For example, IUP[xy] could be called within conditionals, and it
>> would be bad if the following `EIF' doesn't get interpreted,
>> causing unwarranted execution failures.
>
> Should execution errors be avoided in general?
No.
> I'm throwing an error in ALIGNRP after IUP[x] and IUP[y]
This is definitely not correct, since ALIGNRP after IUP[xy] *is* valid
bytecode!
> Should I instead define a new "error" that simply stops execution
> and returns success?
No.
> Or, how about doing
>
> if ( exc->backwards_compatibility && exc->iupx_called &&
> exc->iupy_called )
> goto LNo_Error_;
>
> at the top of the instruction execution loop? Just pretend
> everything is okay?
No. I think the correct solution is to `mute' all instructions that
change the rasterization result, but those instructions should be
executed nevertheless.
> I mean, is there any point in continuing if DELTAP/SHPIXes are
> denied anyway?
Of course! Just think of setting or modifying CVT values, for
example.
Werner