diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d1ff687ed7..8917fb2a78 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -9,6 +9,10 @@ */ * tests/testpers.prg + * source/vm/hvm.c + * HB_P_SEND now invokes hb_vmPushSymbol() + + 2002-01-25 00:40 UTC-0800 Brian Hays * HBProfileLowLevel:gatherOPCodes() wasn't making a call to * added arg to StrTran in LoadFromText() to limit conversion of diff --git a/harbour/include/hbpcode.h b/harbour/include/hbpcode.h index ab6dcdbba2..d9a5a02530 100644 --- a/harbour/include/hbpcode.h +++ b/harbour/include/hbpcode.h @@ -61,15 +61,15 @@ */ typedef enum { - HB_P_AND, /* 0 peforms the logical AND of two latest stack values, removes them and places result */ + HB_P_AND, /* 0 performs the logical AND of two latest stack values, removes them and places result */ HB_P_ARRAYPUSH, /* 1 places on the virtual machine stack an array element */ HB_P_ARRAYPOP, /* 2 pops a value from the eval stack into an array element */ HB_P_ARRAYDIM, /* 3 instructs the virtual machine to build an array with some specific dimensions */ - HB_P_ARRAYGEN, /* 4 instructs the virtual machine to build an array and load elemnst from the stack */ - HB_P_EQUAL, /* 5 check if the latest two values on the stack are equal, removing them and leaving there the result */ + HB_P_ARRAYGEN, /* 4 instructs the virtual machine to build an array and load element from the stack */ + HB_P_EQUAL, /* 5 check if the latest two values on the stack are equal, removing them and leaving the result */ HB_P_ENDBLOCK, /* 6 end of a codeblock definition */ HB_P_ENDPROC, /* 7 instructs the virtual machine to end execution */ - HB_P_EXACTLYEQUAL, /* 8 check if the latest two values on the stack are exactly equal, removing them and leaving there the result */ + HB_P_EXACTLYEQUAL, /* 8 check if the latest two values on the stack are exactly equal, removing them and leaving the result */ HB_P_FALSE, /* 9 pushes false on the virtual machine stack */ HB_P_FORTEST, /* 10 For STEP. If step > 1 less. If step < 1 greater. */ HB_P_FUNCTION, /* 11 instructs the virtual machine to execute a function saving its result */ @@ -79,7 +79,7 @@ typedef enum HB_P_GREATER, /* 15 checks if the second latest value on the stack is greater that the lastest one */ HB_P_GREATEREQUAL, /* 16 checks if the second latest value on the stack is greater equal that the latest one, leaves the result only */ HB_P_DEC, /* 17 decrements the latest value on the virtual machine stack */ - HB_P_DIVIDE, /* 18 divides the latest two values on the stack, removing them and leaving there the result */ + HB_P_DIVIDE, /* 18 divides the latest two values on the stack, removing them and leaving the result */ HB_P_DO, /* 19 instructs the virtual machine to execute a function discarding its result */ HB_P_DOSHORT, /* 20 instructs the virtual machine to execute a function discarding its result */ HB_P_DUPLICATE, /* 21 places a copy of the latest virtual machine stack value on to the stack */ @@ -110,8 +110,8 @@ typedef enum HB_P_MACROSYMBOL, /* 46 compile into a symbol name (used in function calls) */ HB_P_MACROTEXT, /* 47 macro text substitution */ HB_P_MESSAGE, /* 48 sends a message to an object */ - HB_P_MINUS, /* 49 subs the latest two values on the stack, removing them and leaving there the result */ - HB_P_MODULUS, /* 50 calculates the modulus of the two values on the stack, removing them and leaving there the result */ + HB_P_MINUS, /* 49 subs the latest two values on the stack, removing them and leaving the result */ + HB_P_MODULUS, /* 50 calculates the modulus of the two values on the stack, removing them and leaving the result */ HB_P_MODULENAME, /* 51 sets the name of debugged module */ /* start: pcodes generated by the macro compiler - the symbol address is used */ HB_P_MMESSAGE, /* 52 */ @@ -128,51 +128,51 @@ typedef enum HB_P_MPUSHSYM, /* 63 */ HB_P_MPUSHVARIABLE, /* 64 */ /* end: */ - HB_P_MULT, /* 65 multiplies the latest two values on the stack, removing them and leaving there the result */ + HB_P_MULT, /* 65 multiplies the latest two values on the stack, removing them and leaving the result */ HB_P_NEGATE, /* 66 numerically negates the latest value on the stack */ HB_P_NOOP, /* 67 no operation */ HB_P_NOT, /* 68 logically negates the latest value on the stack */ HB_P_NOTEQUAL, /* 69 checks if the latest two stack values are equal, leaves just the result */ - HB_P_OR, /* 70 peforms the logical OR of two latest stack values, removes them and places result */ + HB_P_OR, /* 70 performs the logical OR of two latest stack values, removes them and places result */ HB_P_PARAMETER, /* 71 creates PRIVATE variables and assigns values to functions paramaters */ - HB_P_PLUS, /* 72 adds the latest two values on the stack, removing them and leaving there the result */ + HB_P_PLUS, /* 72 adds the latest two values on the stack, removing them and leaving the result */ HB_P_POP, /* 73 removes the latest value from the stack */ HB_P_POPALIAS, /* 74 pops the item from the eval stack and selects the current workarea */ HB_P_POPALIASEDFIELD, /* 75 pops aliased field */ HB_P_POPALIASEDFIELDNEAR, /* 76 pops aliased field */ HB_P_POPALIASEDVAR, /* 77 pops aliased variable (either a field or a memvar) */ HB_P_POPFIELD, /* 78 pops unaliased field */ - HB_P_POPLOCAL, /* 79 pops the contains of the virtual machine stack onto a local variable */ - HB_P_POPLOCALNEAR, /* 80 pops the contains of the virtual machine stack onto a local variable */ - HB_P_POPMEMVAR, /* 81 pops the contains of a memvar variable to the virtual machine stack */ - HB_P_POPSTATIC, /* 82 pops the contains of the virtual machine stack onto a static variable */ - HB_P_POPVARIABLE, /* 83 pops the contains of an undeclared variable from the virtual machine stack */ - HB_P_POWER, /* 84 calculates the power of the two values on the stack, removing them and leaving there the result */ + HB_P_POPLOCAL, /* 79 pops the contents of the virtual machine stack onto a local variable */ + HB_P_POPLOCALNEAR, /* 80 pops the contents of the virtual machine stack onto a local variable */ + HB_P_POPMEMVAR, /* 81 pops the contents of a memvar variable to the virtual machine stack */ + HB_P_POPSTATIC, /* 82 pops the contents of the virtual machine stack onto a static variable */ + HB_P_POPVARIABLE, /* 83 pops the contents of an undeclared variable from the virtual machine stack */ + HB_P_POWER, /* 84 calculates the power of the two values on the stack, removing them and leaving the result */ HB_P_PUSHALIAS, /* 85 saves the current workarea number on the eval stack */ HB_P_PUSHALIASEDFIELD, /* 86 pushes aliased field */ HB_P_PUSHALIASEDFIELDNEAR, /* 87 pushes aliased field */ HB_P_PUSHALIASEDVAR, /* 88 pushes aliased variable (either a field or a memvar) */ HB_P_PUSHBLOCK, /* 89 start of a codeblock definition */ HB_P_PUSHBLOCKSHORT, /* 90 start of a codeblock definition */ - HB_P_PUSHFIELD, /* 91 pushes unaliased field */ + HB_P_PUSHFIELD, /* 91 pushes an unaliased field */ HB_P_PUSHBYTE, /* 92 places a 1 byte integer number on the virtual machine stack */ HB_P_PUSHINT, /* 93 places an integer number on the virtual machine stack */ - HB_P_PUSHLOCAL, /* 94 pushes the contains of a local variable to the virtual machine stack */ - HB_P_PUSHLOCALNEAR, /* 95 pushes the contains of a local variable to the virtual machine stack */ + HB_P_PUSHLOCAL, /* 94 pushes the contents of a local variable to the virtual machine stack */ + HB_P_PUSHLOCALNEAR, /* 95 pushes the contents of a local variable to the virtual machine stack */ HB_P_PUSHLOCALREF, /* 96 pushes a local variable by reference to the virtual machine stack */ HB_P_PUSHLONG, /* 97 places an integer number on the virtual machine stack */ - HB_P_PUSHMEMVAR, /* 98 pushes the contains of a memvar variable to the virtual machine stack */ + HB_P_PUSHMEMVAR, /* 98 pushes the contents of a memvar variable to the virtual machine stack */ HB_P_PUSHMEMVARREF, /* 99 pushes the a memvar variable by reference to the virtual machine stack */ HB_P_PUSHNIL, /* 100 places a nil on the virtual machine stack */ HB_P_PUSHDOUBLE, /* 101 places a double number on the virtual machine stack */ HB_P_PUSHSELF, /* 102 pushes Self for the current processed method */ - HB_P_PUSHSTATIC, /* 103 pushes the contains of a static variable to the virtual machine stack */ + HB_P_PUSHSTATIC, /* 103 pushes the contents of a static variable to the virtual machine stack */ HB_P_PUSHSTATICREF, /* 104 pushes the a static variable by reference to the virtual machine stack */ HB_P_PUSHSTR, /* 105 places a string on the virtual machine stack */ HB_P_PUSHSTRSHORT, /* 106 places a string on the virtual machine stack */ HB_P_PUSHSYM, /* 107 places a symbol on the virtual machine stack */ HB_P_PUSHSYMNEAR, /* 108 places a symbol on the virtual machine stack */ - HB_P_PUSHVARIABLE, /* 109 pushes the contains of an undeclared variable to the virtual machine stack */ + HB_P_PUSHVARIABLE, /* 109 pushes the contents of an undeclared variable to the virtual machine stack */ HB_P_RETVALUE, /* 110 instructs the virtual machine to return the latest stack value */ HB_P_SEND, /* 111 send operator */ HB_P_SENDSHORT, /* 112 send operator */