69 Commits

Author SHA1 Message Date
rogerl%netscape.com
07b641917e Support for 'constructor'.
git-svn-id: svn://10.0.0.236/trunk@73865 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:08:29 +00:00
rogerl%netscape.com
ceb54a7f92 Removed preprocess step, consolidated identifier handling.
git-svn-id: svn://10.0.0.236/trunk@73767 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-06 18:26:26 +00:00
rogerl%netscape.com
a02f6ce0d8 use handleDot for call, too.
git-svn-id: svn://10.0.0.236/trunk@73525 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:30:47 +00:00
beard%netscape.com
ea7ae68414 delete property support.
git-svn-id: svn://10.0.0.236/trunk@73523 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 18:14:14 +00:00
rogerl%netscape.com
0e43b9fadb Implicit this and class lookup stuff.
git-svn-id: svn://10.0.0.236/trunk@73493 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:21:41 +00:00
rogerl%netscape.com
b1eb71fadb First set of unified 'dot' handling changes for statics.
git-svn-id: svn://10.0.0.236/trunk@73418 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 18:41:30 +00:00
rogerl%netscape.com
0ab4d1b650 lots of stuff me and Patrick did
git-svn-id: svn://10.0.0.236/trunk@73275 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:39:32 +00:00
rogerl%netscape.com
e8e7f3718b typing 'this'
git-svn-id: svn://10.0.0.236/trunk@73134 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 01:02:34 +00:00
rogerl%netscape.com
9d9a6a599f Got newClass working, added printProperties for instances, some slot
stuff is happening.


git-svn-id: svn://10.0.0.236/trunk@73133 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:50:59 +00:00
rogerl%netscape.com
071facaac6 Adding slot handling to code gen.
git-svn-id: svn://10.0.0.236/trunk@73116 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:43:24 +00:00
rogerl%netscape.com
f0dcf103dd Removed FUNCTION instruction, other class related junk.
git-svn-id: svn://10.0.0.236/trunk@73106 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:53:09 +00:00
rginda%netscape.com
0deba46ad9 Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing
git-svn-id: svn://10.0.0.236/trunk@73101 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:27:17 +00:00
rogerl%netscape.com
60220bebd1 Add return statement if the function doesn't end with one
git-svn-id: svn://10.0.0.236/trunk@73092 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 21:20:03 +00:00
rogerl%netscape.com
c263fddb6c Work to support 'this'.
git-svn-id: svn://10.0.0.236/trunk@72823 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:32:21 +00:00
rogerl%netscape.com
ae69e1c56c Changed use of Register to TypedRegister throughout.
git-svn-id: svn://10.0.0.236/trunk@72685 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:45:45 +00:00
rogerl%netscape.com
5f2e9befeb Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.


git-svn-id: svn://10.0.0.236/trunk@72337 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
27c8e7b5f6 Adding support for Functions and Vars, preXcrement, object literals.
git-svn-id: svn://10.0.0.236/trunk@72247 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:26:15 +00:00
rogerl%netscape.com
bbfb961ed9 Statement fun
git-svn-id: svn://10.0.0.236/trunk@70952 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-26 22:33:05 +00:00
rogerl%netscape.com
2cd8ea4b80 Codegen for statements. Blew off old statement API and most of the test
functions for now, sorry.


git-svn-id: svn://10.0.0.236/trunk@70700 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
7d8705ed17 Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word
git-svn-id: svn://10.0.0.236/trunk@70692 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-24 00:54:28 +00:00
rogerl%netscape.com
5bd38c3d54 Added operator overloading support
git-svn-id: svn://10.0.0.236/trunk@70634 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:08:29 +00:00
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
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
rogerl%netscape.com
343526f153 Fixed leakage of ICodeModule via JSFunction
git-svn-id: svn://10.0.0.236/trunk@68849 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 18:09:33 +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
waldemar%netscape.com
5875d7f848 Fixed syntax error
git-svn-id: svn://10.0.0.236/trunk@68488 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-06 03:31:50 +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
rogerl%netscape.com
dee0321fd6 New arithmetic ops.
git-svn-id: svn://10.0.0.236/trunk@68433 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 21:38:16 +00:00
beard%netscape.com
9c590eb7bd remove unnecessary #include <iostream>
git-svn-id: svn://10.0.0.236/trunk@68336 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 04:44:01 +00:00
beard%netscape.com
2ba8cac7bf removed unused macro NS_JSICG.
git-svn-id: svn://10.0.0.236/trunk@68329 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 04:04:23 +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
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