52 Commits

Author SHA1 Message Date
rogerl%netscape.com
d62fe47db9 Moved genExpr to ICodeGenerator - added most expression ops.
git-svn-id: svn://10.0.0.236/trunk@70415 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-18 00:03:23 +00:00
beard%netscape.com
37167c2e41 removed unnecessary #include <iomanip>
git-svn-id: svn://10.0.0.236/trunk@69311 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 01:46:16 +00:00
rogerl%netscape.com
1ed0e7b17e Added post inc/dec for properties & names.
git-svn-id: svn://10.0.0.236/trunk@69110 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-11 00:35:06 +00:00
beard%netscape.com
e625f9653f Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule
git-svn-id: svn://10.0.0.236/trunk@68858 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 18:59:12 +00:00
beard%netscape.com
06cbcdcb54 LoadString now has JSString* as second operand
git-svn-id: svn://10.0.0.236/trunk@68817 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:38:48 +00:00
rogerl%netscape.com
8ba0e32346 Added more string handling + valueToString/Number code.
NativeFunction support.


git-svn-id: svn://10.0.0.236/trunk@68732 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-08 22:59:42 +00:00
rogerl%netscape.com
eb993faee7 Basic string literal & value support
git-svn-id: svn://10.0.0.236/trunk@68461 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 23:22:31 +00:00
beard%netscape.com
cadeba85da fixed ICodeGenerator/ICodeModule::print on Mac, which seems to be getting confused when using operator<< in another namespace.
git-svn-id: svn://10.0.0.236/trunk@68330 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 04:05:56 +00:00
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
beard%netscape.com
0f21810e9b fix assert bustage in DEBUG build.
git-svn-id: svn://10.0.0.236/trunk@68005 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-03 01:41:37 +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
beard%netscape.com
3ba81bd192 removed unnecessary casts to int32 in ICodeGenerator::setLabel() which were generating warnings.
git-svn-id: svn://10.0.0.236/trunk@67727 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-01 17:11:36 +00:00
rginda%netscape.com
efe0062655 somewhat weak debugger console hookup.
build shouldn't *look* different yet.

Moved Context::interpret() local vars into Context private, added accessors for
stuff, using JavaScript::Lexer to lex debugger commands.

Fixed sign comparison warning in icg.cpp


git-svn-id: svn://10.0.0.236/trunk@67593 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 00:23:06 +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
051398cca7 removed extraneous semi-colons after namespace declarations.
git-svn-id: svn://10.0.0.236/trunk@66532 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-20 06:20:31 +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
3143f7a0fc regenerated opcodenames to include padding, added label printing back into icg::print
git-svn-id: svn://10.0.0.236/trunk@66226 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 01:31:24 +00:00
rogerl%netscape.com
1bfac2ec9e Fixed WINDOZE build issues
git-svn-id: svn://10.0.0.236/trunk@66218 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 00:38:26 +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
2e228d4d0e fixing an assert and warnings
git-svn-id: svn://10.0.0.236/trunk@65585 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 01:10:26 +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
11ffde7160 Fixed NEW_ARRAY, GET_ELEMENT, SET_ELEMENT printing.,
git-svn-id: svn://10.0.0.236/trunk@65533 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 04:11:16 +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
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
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
974defe34d added code to print SAVE_NAME, NEW_OBJECT, GET_PROP, and SET_PROP iCodes.
git-svn-id: svn://10.0.0.236/trunk@65485 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 04:58:58 +00:00
beard%netscape.com
d7fbbfb982 added newObject(), saveName() and setProperty().
git-svn-id: svn://10.0.0.236/trunk@65472 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 02:41:08 +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
waldemar%netscape.com
9529ea9d27 Commented out syntax error
git-svn-id: svn://10.0.0.236/trunk@65456 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 23:40:47 +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
d8212dd27a cases for SUBTRACT, MULTIPLY, DIVIDE in print().
git-svn-id: svn://10.0.0.236/trunk@65414 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 03:02:24 +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
ce4eff7437 Resolved branch targets
git-svn-id: svn://10.0.0.236/trunk@65393 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 00:04:11 +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
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
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
beard%netscape.com
38ff25536e making icodegenerator work on Linux
git-svn-id: svn://10.0.0.236/trunk@64654 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-31 00:42:25 +00:00