88 Commits

Author SHA1 Message Date
rginda%netscape.com
5f3e8f7af0 much debugger spankage; parse and execute step, continue, set, and print (kind-of) commands.
push implementation details of ICodeGenerator::print() into InstructionStream so they can be shared with ICodeModule.

copy variableList from ICodeGenerator to ICodeModule.

s/ScringAtom/const StringAtom/ in gencode.pl, regenerate vmtypes.h


git-svn-id: svn://10.0.0.236/trunk@68276 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-04 22:42:49 +00:00
rogerl%netscape.com
cc65738c48 Added const to the StringAtom usage.
Propagated variableList to ICodeModule


git-svn-id: svn://10.0.0.236/trunk@68269 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-04 22:08:38 +00:00
rogerl%netscape.com
3513520366 Cleaning up some label stuff
git-svn-id: svn://10.0.0.236/trunk@67911 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-02 21:36:28 +00:00
rogerl%netscape.com
2878990855 fixed bad constructor thing.
git-svn-id: svn://10.0.0.236/trunk@67443 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 00:10:22 +00:00
rogerl%netscape.com
e626dba4ad More exception handling handling.
git-svn-id: svn://10.0.0.236/trunk@67356 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-27 01:27:09 +00:00
beard%netscape.com
9bf768a892 renamed not() -> complement() (not is a keyword in C++), implemented complement().
git-svn-id: svn://10.0.0.236/trunk@67055 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-25 02:55:08 +00:00
rginda%netscape.com
3bc6bc1635 quieting linux warnings
git-svn-id: svn://10.0.0.236/trunk@66986 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-24 18:41:05 +00:00
rogerl%netscape.com
c4747ce60e Added a beginning for exception handling.
git-svn-id: svn://10.0.0.236/trunk@66788 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 22:52:52 +00:00
rogerl%netscape.com
cf972ed7c0 Added labelled statements, fixed some VC++'isms
git-svn-id: svn://10.0.0.236/trunk@66617 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 00:37:51 +00:00
rginda%netscape.com
e7290871fc icodegenerator.cpp
add m prefix to base and offset label members

interpreter.cpp,h
dual license
wrap interpret in a Context class
add RETURN_VOID case

js2.cpp
update to use context class
remove #if 0 code that'll probably never be used anyway.

jstypes.h
add defineProperty/function to JSObject

vmtypes.h
regerated opcode classes:
  added RETURN_VOID, removed LOAD/SAVE_VAR
  reverted bacl to the smaller print function (thanks to RETURN_VOID)
  fixed branch printing issue
  inherit print() from super if possible

tools/gencode.pl
generate smaller print functions again
don't generate print function if superclass can take care of it.


git-svn-id: svn://10.0.0.236/trunk@66611 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 00:04:14 +00:00
beard%netscape.com
a9070a5a89 warnings: commented out unused parameter name.
git-svn-id: svn://10.0.0.236/trunk@66531 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-20 06:19:43 +00:00
rogerl%netscape.com
41b94e7563 Removing variables.
git-svn-id: svn://10.0.0.236/trunk@66472 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-19 22:45:57 +00:00
rogerl%netscape.com
f2e47face0 Began moving away from variables, fixed compare/branch ordering.
Testcases working.


git-svn-id: svn://10.0.0.236/trunk@66389 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-19 02:09:06 +00:00
rginda%netscape.com
e400e4c1b0 formatting changes. use only one tab regardless of nested namespaces
git-svn-id: svn://10.0.0.236/trunk@66317 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 21:51:45 +00:00
rginda%netscape.com
88784cab59 removed superfluous ;s after namespace decs.
git-svn-id: svn://10.0.0.236/trunk@66270 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 07:14:49 +00:00
rginda%netscape.com
570245f757 added js::VM, ICG, JSTypes, and Interpreter namespaces; messed around with lots of code.
Created class for each ICode, adding a print() method (using formatters)


git-svn-id: svn://10.0.0.236/trunk@66214 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 00:17:34 +00:00
beard%netscape.com
dca329f860 removed commented out GET_PROP/SET_PROP.
git-svn-id: svn://10.0.0.236/trunk@65589 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 02:59:52 +00:00
rogerl%netscape.com
1f60d50799 CALL opcode & frames etc. (r=beard)
git-svn-id: svn://10.0.0.236/trunk@65583 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 00:32:17 +00:00
beard%netscape.com
6679286072 Fixed warnings about member initializers on Linux. Whatever.
git-svn-id: svn://10.0.0.236/trunk@65537 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 04:49:41 +00:00
beard%netscape.com
decc24505a Reordered GetProp/SetProp operands to base, name. Added NewArray, GetElement, SetElement instructions.
git-svn-id: svn://10.0.0.236/trunk@65530 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 03:37:18 +00:00
beard%netscape.com
15d3b6be0f converted NotALabel to an enum, so it obeys proper scoping rules.
git-svn-id: svn://10.0.0.236/trunk@65525 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 02:25:37 +00:00
rogerl%netscape.com
f8a5823b94 Added ICodeModule to collect extra info about executable chunks.
git-svn-id: svn://10.0.0.236/trunk@65522 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 01:04:55 +00:00
beard%netscape.com
3a3a84dc6b fixed LoadImmediate.
git-svn-id: svn://10.0.0.236/trunk@65521 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 00:57:28 +00:00
rogerl%netscape.com
b66a335e7f Re-ordered instructions so destination is always first.
Changed labels to be struct * instead of ints.


git-svn-id: svn://10.0.0.236/trunk@65510 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 22:19:36 +00:00
beard%netscape.com
d882c1dfe6 fix calls to template superclass for gcc
git-svn-id: svn://10.0.0.236/trunk@65474 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 02:45:33 +00:00
beard%netscape.com
733a7d7159 added NEW_OBJECT instruction. unified typedef GetProp, SetProp. changed typedef Return to class Return, added class NewObject. These classes automatically pass their opcode to their base-class, and look better in the debugger. Added a virtual destructor to Instruction() #ifdef DEBUG. Added newObject(), saveName() and setProperty() methods to ICodeGenerator.
git-svn-id: svn://10.0.0.236/trunk@65473 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 02:41:21 +00:00
waldemar%netscape.com
b5267e4d45 Fixed syntax errors
git-svn-id: svn://10.0.0.236/trunk@65457 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 23:43:08 +00:00
rogerl%netscape.com
8ea5e6aebd Changed compare/branch handling to determine last compare opcode.
Made returnStatement a member in ICG.


git-svn-id: svn://10.0.0.236/trunk@65450 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 22:40:17 +00:00
beard%netscape.com
beb6ce856d added new instructions, SUBTRACT, MULTIPLY, DIVICE, BRANCH_*, and RETURN. Changed LoadVar/SaveVar to have uint32 operand. Added optional paramter branchOp to ICodeGenerator::branchConditional() & endWhileExpression() to parametrize branch kind. Added complete(Register) to generate a RETURN instruction.
git-svn-id: svn://10.0.0.236/trunk@65411 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 02:57:42 +00:00
rogerl%netscape.com
3580a148de typedef'd instructions
git-svn-id: svn://10.0.0.236/trunk@65389 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-05 23:41:58 +00:00
beard%netscape.com
e84810f504 added Instruction::opcode(), and Instruction_N::oN(), and ICodeGenerator::getLabels().
git-svn-id: svn://10.0.0.236/trunk@65375 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-05 20:28:17 +00:00
waldemar%netscape.com
bb555d021d Fixed syntax errors
git-svn-id: svn://10.0.0.236/trunk@65201 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 21:36:57 +00:00
rogerl%netscape.com
e613dc9d1d cleaning up the codestate classes; continue labels
git-svn-id: svn://10.0.0.236/trunk@65124 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-04 01:48:35 +00:00
rogerl%netscape.com
0c6fc8328e For statements.
git-svn-id: svn://10.0.0.236/trunk@64841 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-01 02:53:16 +00:00
rogerl%netscape.com
d458c055bb Added do & switch statements, more hacking at the code state thing.
git-svn-id: svn://10.0.0.236/trunk@64834 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-01 01:30:32 +00:00
beard%netscape.com
5cdf9d85ab fixing a broken header.
git-svn-id: svn://10.0.0.236/trunk@64701 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-31 05:47:42 +00:00
rogerl%netscape.com
77dc750c7e Changes to CodeState thing, still not happy with this - RTTI would be
better?


git-svn-id: svn://10.0.0.236/trunk@64662 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-31 01:54:28 +00:00
rogerl%netscape.com
13ce8fb99d First hack at some icode generation.
git-svn-id: svn://10.0.0.236/trunk@64497 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-29 19:19:23 +00:00