Commit Graph

47 Commits

Author SHA1 Message Date
rogerl%netscape.com
3dd4d8ff15 Added post inc/dec for properties & names. 2000-05-11 00:35:06 +00:00
beard%netscape.com
a4dea03835 Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule 2000-05-09 18:59:12 +00:00
rogerl%netscape.com
d3b5bfb405 Fixed leakage of ICodeModule via JSFunction 2000-05-09 18:09:33 +00:00
rogerl%netscape.com
261b8ef660 Added more string handling + valueToString/Number code.
NativeFunction support.
2000-05-08 22:59:42 +00:00
waldemar%netscape.com
fdfd1288f5 Fixed syntax error 2000-05-06 03:31:50 +00:00
rogerl%netscape.com
7030042c20 Basic string literal & value support 2000-05-05 23:22:31 +00:00
rogerl%netscape.com
ca4af3db37 New arithmetic ops. 2000-05-05 21:38:16 +00:00
beard%netscape.com
f1cda623c3 remove unnecessary #include <iostream> 2000-05-05 04:44:01 +00:00
beard%netscape.com
a7729c3959 removed unused macro NS_JSICG. 2000-05-05 04:04:23 +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
rogerl%netscape.com
0573914859 Cleaning up some label stuff 2000-05-02 21:36:28 +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
7279428cf8 warnings: commented out unused parameter name. 2000-04-20 06:19:43 +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
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
bf940ffbab removed commented out GET_PROP/SET_PROP. 2000-04-11 02:59:52 +00:00
rogerl%netscape.com
bb3a13555c CALL opcode & frames etc. (r=beard) 2000-04-11 00:32:17 +00:00
beard%netscape.com
717ab59840 Fixed warnings about member initializers on Linux. Whatever. 2000-04-08 04:49:41 +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
beard%netscape.com
bd9723a414 converted NotALabel to an enum, so it obeys proper scoping rules. 2000-04-08 02:25:37 +00:00
rogerl%netscape.com
4898874939 Added ICodeModule to collect extra info about executable chunks. 2000-04-08 01:04:55 +00:00
beard%netscape.com
365dd176a7 fixed LoadImmediate. 2000-04-08 00:57:28 +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
1c75ce0fa0 fix calls to template superclass for gcc 2000-04-07 02:45:33 +00:00
beard%netscape.com
ec6420f75b 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. 2000-04-07 02:41:21 +00:00
waldemar%netscape.com
cd3fd34095 Fixed syntax errors 2000-04-06 23:43:08 +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
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
0e8b29460c typedef'd instructions 2000-04-05 23:41:58 +00:00
beard%netscape.com
fab870daa5 added Instruction::opcode(), and Instruction_N::oN(), and ICodeGenerator::getLabels(). 2000-04-05 20:28:17 +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
beard%netscape.com
dff6633c76 fixing a broken header. 2000-03-31 05:47:42 +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
rogerl%netscape.com
98ade2a277 First hack at some icode generation. 2000-03-29 19:19:23 +00:00