anchor.diff:  function jsArgCount(es: jsExecState): Integer; cdecl;
   function jsArgType(es: jsExecState; argIdx: Integer): jsType; cdecl;
   function jsArg(es: jsExecState; argIdx: Integer): jsValue; cdecl;
  -function jsTypeOf(v: jsValue): jsType; cdecl;
  -function jsIsNumber(v: jsValue): Boolean; cdecl;
  -function jsIsString(v: jsValue): Boolean; cdecl;
  -function jsIsBoolean(v: jsValue): Boolean; cdecl;
  -function jsIsObject(v: jsValue): Boolean; cdecl;
  -function jsIsFunction(v: jsValue): Boolean; cdecl;
  -function jsIsUndefined(v: jsValue): Boolean; cdecl;
  -function jsIsNull(v: jsValue): Boolean; cdecl;
  -function jsIsArray(v: jsValue): Boolean; cdecl;
  -function jsIsTrue(v: jsValue): Boolean; cdecl;
  -function jsIsFalse(v: jsValue): Boolean; cdecl;
  +function jsTypeOf(es: jsExecState; v: jsValue): jsType; cdecl;
  +function jsIsNumber(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsString(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsBoolean(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsObject(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsFunction(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsUndefined(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsNull(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsArray(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsTrue(es: jsExecState; v: jsValue): Boolean; cdecl;
  +function jsIsFalse(es: jsExecState; v: jsValue): Boolean; cdecl;
   function jsToInt(es: jsExecState; v: jsValue): Integer; cdecl;
   function jsToFloat(es: jsExecState; v: jsValue): Single; cdecl;
   function jsToDouble(es: jsExecState; v: jsValue): Double; cdecl;
   function jsToBoolean(es: jsExecState; v: jsValue): Boolean; cdecl;
   function jsToTempString(es: jsExecState; v: jsValue): putf8; cdecl;
   function jsToTempStringW(es: jsExecState; v: jsValue): pwchar_t; cdecl;
  -function jsInt(n: Integer): jsValue; cdecl;
  -function jsFloat(f: Single): jsValue; cdecl;
  -function jsDouble(d: Double): jsValue; cdecl;
  -function jsBoolean(b: Boolean): jsValue; cdecl;
  -function jsUndefined: jsValue; cdecl;
  -function jsNull: jsValue; cdecl;
  -function jsTrue: jsValue; cdecl;
  -function jsFalse: jsValue; cdecl;
  +function jsInt(es: jsExecState; n: Integer): jsValue; cdecl;
  +function jsFloat(es: jsExecState; f: Single): jsValue; cdecl;
  +function jsDouble(es: jsExecState; d: Double): jsValue; cdecl;
  +function jsBoolean(es: jsExecState; b: Boolean): jsValue; cdecl;
  +function jsUndefined(es: jsExecState): jsValue; cdecl;
  +function jsNull(es: jsExecState): jsValue; cdecl;
  +function jsTrue(es: jsExecState): jsValue; cdecl;
  +function jsFalse(es: jsExecState): jsValue; cdecl;
   function jsString(es: jsExecState; str: Putf8): jsValue; cdecl;
   function jsStringW(es: jsExecState; str: Pwchar_t): jsValue; cdecl;
   function jsEmptyObject(es: jsExecState): jsValue; cdecl;
   function jsEmptyArray(es: jsExecState): jsValue; cdecl;
   function jsObject(es: jsExecState; obj: PjsData): jsValue; cdecl;
   function jsFunction(es: jsExecState; obj: PjsData): jsValue; cdecl;
  -function jsGetData(es: jsExecState; AObject: jsValue): jsData; cdecl;
  +function jsGetData(es: jsExecState; AObject: jsValue): PjsData; cdecl;
   function jsGet(es: jsExecState; AObject: jsValue; prop: PAnsiChar): jsValue; cdecl;
   procedure jsSet(es: jsExecState; AObject: jsValue; prop: PAnsiChar; v: jsValue); cdecl;
   function jsGetAt(es: jsExecState; AObject: jsValue; index: Integer): jsValue; cdecl;
  
positive.code: function jsCallGlobal(es: jsExecState; func: jsValue; args: PjsValue; argCount: Integer): jsValue; cdecl;
  function jsGetGlobal(es: jsExecState; prop: PAnsiChar): jsValue; cdecl;
  procedure jsSetGlobal(es: jsExecState; prop: PAnsiChar; v: jsValue); cdecl;
  procedure jsGC; cdecl;
  
  
  {$IFDEF UseVcFastCall}
  
negative.code:     function CallGlobal(func: jsValue; args: PjsValue; argCount: Integer): jsValue; {$IFDEF SupportInline}inline;{$ENDIF}
      function GetGlobal(const prop: string): jsValue; {$IFDEF SupportInline}inline;{$ENDIF}
      procedure SetGlobal(const prop: string; v: jsValue); {$IFDEF SupportInline}inline;{$ENDIF}
      procedure GC; {$IFDEF SupportInline}inline;{$ENDIF}
    end;
  
  
  