Commit Graph

46 Commits

Author SHA1 Message Date
rogerl%netscape.com
7030042c20 Basic string literal & value support 2000-05-05 23:22:31 +00:00
beard%netscape.com
57e570a531 fixed ICodeGenerator/ICodeModule::print on Mac, which seems to be getting confused when using operator<< in another namespace. 2000-05-05 04:05:56 +00:00
rginda%netscape.com
d2e0252642 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
2000-05-04 22:42:49 +00:00
rogerl%netscape.com
cc4d067c13 Added const to the StringAtom usage.
Propagated variableList to ICodeModule
2000-05-04 22:08:38 +00:00
beard%netscape.com
5a2a9f040d fix assert bustage in DEBUG build. 2000-05-03 01:41:37 +00:00
rogerl%netscape.com
0573914859 Cleaning up some label stuff 2000-05-02 21:36:28 +00:00
beard%netscape.com
4942c057e3 removed unnecessary casts to int32 in ICodeGenerator::setLabel() which were generating warnings. 2000-05-01 17:11:36 +00:00
rginda%netscape.com
522d51c5b6 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
2000-04-29 00:23:06 +00:00
rogerl%netscape.com
7b1fe9f1b1 fixed bad constructor thing. 2000-04-28 00:10:22 +00:00
rogerl%netscape.com
d96a9a02a4 More exception handling handling. 2000-04-27 01:27:09 +00:00
beard%netscape.com
88208308b6 renamed not() -> complement() (not is a keyword in C++), implemented complement(). 2000-04-25 02:55:08 +00:00
rginda%netscape.com
9c545008e5 quieting linux warnings 2000-04-24 18:41:05 +00:00
rogerl%netscape.com
adfcfe0dca Added a beginning for exception handling. 2000-04-21 22:52:52 +00:00
rogerl%netscape.com
8c81be5a55 Added labelled statements, fixed some VC++'isms 2000-04-21 00:37:51 +00:00
rginda%netscape.com
6ceaff6eaf 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.
2000-04-21 00:04:14 +00:00
beard%netscape.com
40022cf8f5 removed extraneous semi-colons after namespace declarations. 2000-04-20 06:20:31 +00:00
rogerl%netscape.com
07efe443fa Removing variables. 2000-04-19 22:45:57 +00:00
rogerl%netscape.com
2beda190e7 Began moving away from variables, fixed compare/branch ordering.
Testcases working.
2000-04-19 02:09:06 +00:00
rginda%netscape.com
4308ea7ed1 formatting changes. use only one tab regardless of nested namespaces 2000-04-18 21:51:45 +00:00
rginda%netscape.com
6d135f273c removed superfluous ;s after namespace decs. 2000-04-18 07:14:49 +00:00
rginda%netscape.com
c156b65e07 regenerated opcodenames to include padding, added label printing back into icg::print 2000-04-18 01:31:24 +00:00
rogerl%netscape.com
8812cb41bd Fixed WINDOZE build issues 2000-04-18 00:38:26 +00:00
rginda%netscape.com
f8d4b9c989 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)
2000-04-18 00:17:34 +00:00
beard%netscape.com
bbffbab18d fixing an assert and warnings 2000-04-11 01:10:26 +00:00
rogerl%netscape.com
bb3a13555c CALL opcode & frames etc. (r=beard) 2000-04-11 00:32:17 +00:00
beard%netscape.com
654a3c2f25 Fixed NEW_ARRAY, GET_ELEMENT, SET_ELEMENT printing., 2000-04-08 04:11:16 +00:00
beard%netscape.com
3a59608302 Reordered GetProp/SetProp operands to base, name. Added NewArray, GetElement, SetElement instructions. 2000-04-08 03:37:18 +00:00
rogerl%netscape.com
4898874939 Added ICodeModule to collect extra info about executable chunks. 2000-04-08 01:04:55 +00:00
rogerl%netscape.com
adb5b77071 Re-ordered instructions so destination is always first.
Changed labels to be struct * instead of ints.
2000-04-07 22:19:36 +00:00
beard%netscape.com
8a93b77fcd added code to print SAVE_NAME, NEW_OBJECT, GET_PROP, and SET_PROP iCodes. 2000-04-07 04:58:58 +00:00
beard%netscape.com
b40caf2ec9 added newObject(), saveName() and setProperty(). 2000-04-07 02:41:08 +00:00
waldemar%netscape.com
cd3fd34095 Fixed syntax errors 2000-04-06 23:43:08 +00:00
waldemar%netscape.com
52080f6c74 Commented out syntax error 2000-04-06 23:40:47 +00:00
rogerl%netscape.com
7741726bd9 Changed compare/branch handling to determine last compare opcode.
Made returnStatement a member in ICG.
2000-04-06 22:40:17 +00:00
beard%netscape.com
580c9ba5d4 cases for SUBTRACT, MULTIPLY, DIVIDE in print(). 2000-04-06 03:02:24 +00:00
beard%netscape.com
c94d749d3f 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. 2000-04-06 02:57:42 +00:00
rogerl%netscape.com
a43377758b Resolved branch targets 2000-04-06 00:04:11 +00:00
rogerl%netscape.com
0e8b29460c typedef'd instructions 2000-04-05 23:41:58 +00:00
waldemar%netscape.com
cc9ba4e5b0 Fixed syntax errors 2000-04-04 21:36:57 +00:00
rogerl%netscape.com
fcd2e813a5 cleaning up the codestate classes; continue labels 2000-04-04 01:48:35 +00:00
rogerl%netscape.com
b8da7521e4 For statements. 2000-04-01 02:53:16 +00:00
rogerl%netscape.com
f4b33493b8 Added do & switch statements, more hacking at the code state thing. 2000-04-01 01:30:32 +00:00
rogerl%netscape.com
820c2dd375 Changes to CodeState thing, still not happy with this - RTTI would be
better?
2000-03-31 01:54:28 +00:00
beard%netscape.com
8d72166d5d making icodegenerator work on Linux 2000-03-31 00:42:25 +00:00
rogerl%netscape.com
a0dcea4077 Test driver for icg in main, just a temporary thing 2000-03-29 19:24:07 +00:00
rogerl%netscape.com
98ade2a277 First hack at some icode generation. 2000-03-29 19:19:23 +00:00