83 Commits

Author SHA1 Message Date
beard%netscape.com
ca9ef8f4a5 fixed static calls.
git-svn-id: svn://10.0.0.236/trunk@73499 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 03:15:52 +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
beard%netscape.com
a031ccd333 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Now using JSClass::hasStatic() rather than looking up statics in class' scope.
git-svn-id: svn://10.0.0.236/trunk@73411 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:14:18 +00:00
beard%netscape.com
b661c5b8ce Fixed unitialized static class members.
git-svn-id: svn://10.0.0.236/trunk@73283 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 03:43:40 +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
beard%netscape.com
dcf06c37e9 Reset register usage after generating each initializer statement.
git-svn-id: svn://10.0.0.236/trunk@73225 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-26 15:19:45 +00:00
beard%netscape.com
1bb0ae2fc2 Conditionally set constructor, if it has any instructions.
git-svn-id: svn://10.0.0.236/trunk@73196 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-25 17:04:01 +00:00
beard%netscape.com
3fa84e139b When generating a reference to "this" use the current code generator's mClass when appropriate.
git-svn-id: svn://10.0.0.236/trunk@73163 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:21:03 +00:00
beard%netscape.com
eb882da672 Generating default constructor to run slot initializers.
git-svn-id: svn://10.0.0.236/trunk@73148 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:49:45 +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
beard%netscape.com
c7d7e1af40 Additional JSClass processing: defining slots, generating methods.
git-svn-id: svn://10.0.0.236/trunk@73041 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:13:04 +00:00
beard%netscape.com
4fa1b03210 putting the JSClass* in the current global scope, and looking up superclass rereferences.
git-svn-id: svn://10.0.0.236/trunk@73015 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 02:22:55 +00:00
beard%netscape.com
b2ad6db1a4 JSClass support.
git-svn-id: svn://10.0.0.236/trunk@72846 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 23:58:17 +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
f7ed7da244 Added op= support.
git-svn-id: svn://10.0.0.236/trunk@72314 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-15 16:03:54 +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
rginda%netscape.com
b28e710433 apparently windows is too
git-svn-id: svn://10.0.0.236/trunk@70639 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:15:06 +00:00
rginda%netscape.com
2b30f01c65 linux is so picky
git-svn-id: svn://10.0.0.236/trunk@70638 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:13:48 +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
rginda%netscape.com
e13ae8edbb quieting linux warnings and fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@70608 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-22 21:05:35 +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
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