Commit Graph

813 Commits

Author SHA1 Message Date
beard%netscape.com
a5ef09a1a6 cleaned up by removing widenCString() calls when using world.identifiers 2000-07-17 20:39:19 +00:00
rginda%netscape.com
950d90e264 removing bogus assert (per rogerl) 2000-07-15 00:01:25 +00:00
beard%netscape.com
96e8363f86 added operator[](const char*) to StringAtomTable. 2000-07-14 23:10:02 +00:00
rogerl%netscape.com
3def89ee0d Fixed slots for non-function vars, plus bug in slot xcrement. 2000-07-14 22:23:20 +00:00
rogerl%netscape.com
0d866e25b5 Backed out time() 2000-07-14 01:46:14 +00:00
rogerl%netscape.com
23e9d7c1c8 Type targetted binary operators.
Added 'time()' function as native.
2000-07-14 01:00:53 +00:00
beard%netscape.com
89608ef140 need <stdio.h> for fopen on the Mac. 2000-07-13 02:23:55 +00:00
beard%netscape.com
60feb5d1fd fixing readEvalFile to save off important Context data members. implemented identical_Default for string 2000-07-13 01:35:57 +00:00
beard%netscape.com
e9a25e0a62 fixing readEvalFile() by creating another Context 2000-07-13 00:44:30 +00:00
rogerl%netscape.com
58dc7e47b7 Switching to generic binary operator in order to distinguish situation
where Operators package had been loaded and be able to generate typed
versions of the binary operators otherwise.
2000-07-13 00:14:54 +00:00
rogerl%netscape.com
b8bd1adb30 Implemented Import -only it's not in the parser yet.
Added missing defineXXX functions.
2000-07-11 23:49:20 +00:00
rginda%netscape.com
3a02396fda cleaned up linux warnings, minor debugger tweaks 2000-07-11 23:08:03 +00:00
rogerl%netscape.com
774d010635 More on @ operator. Fixed R 4billion print bug. 2000-07-11 20:54:06 +00:00
rogerl%netscape.com
087d2475a7 Some parts of x@<name> working. 2000-07-10 23:18:07 +00:00
rogerl%netscape.com
daba9186aa Support for 'constructor'. 2000-07-08 01:08:29 +00:00
rogerl%netscape.com
1375151969 Removed preprocess step, consolidated identifier handling. 2000-07-06 18:26:26 +00:00
beard%netscape.com
0eeae607ae Fix build bustage. 2000-06-29 18:40:58 +00:00
rogerl%netscape.com
fd98adafce use handleDot for call, too. 2000-06-29 18:30:47 +00:00
beard%netscape.com
8f5fea173e delete property support. 2000-06-29 18:14:14 +00:00
beard%netscape.com
a4c5f704f4 DELETE_PROP 2000-06-29 18:13:46 +00:00
beard%netscape.com
7a6367c583 DELETE_PROP 2000-06-29 17:14:56 +00:00
beard%netscape.com
11134b4173 added DELETE_PROP instruction to implement the "delete" operation. 2000-06-29 17:11:50 +00:00
beard%netscape.com
97dfdc5f04 unused parameter warning 2000-06-29 05:48:09 +00:00
beard%netscape.com
8f4cadb250 complementary operator delete(void*, JSClass*). 2000-06-29 05:46:36 +00:00
beard%netscape.com
8891b0c7ba some classes to test js2 with. 2000-06-29 04:49:48 +00:00
beard%netscape.com
8da0055bc5 updated dependencies 2000-06-29 04:25:10 +00:00
beard%netscape.com
074f981eb4 Changed StaticCall to use static slot. 2000-06-29 04:23:56 +00:00
beard%netscape.com
b202adfd39 Fixing static dotted expressions. 2000-06-29 04:23:20 +00:00
beard%netscape.com
7a512866fd now uses conditional compilation #if defined(OPCODE_NAMES), so that a simple "icode.h" can be included by vmtypes.h and vmtypes.cpp. 2000-06-29 04:21:00 +00:00
beard%netscape.com
486b437613 moved all machine generated classes, etc. to icode.h. 2000-06-29 04:19:19 +00:00
beard%netscape.com
2a451cdd8b Generated by tools/gencode.pl. 2000-06-29 04:18:16 +00:00
beard%netscape.com
640ba6e24c fixed static calls. 2000-06-29 03:15:52 +00:00
rogerl%netscape.com
63744d7c1c Implicit this and class lookup stuff. 2000-06-29 01:21:41 +00:00
beard%netscape.com
237dd352ed implemented JSClass::printProperties(). 2000-06-28 19:46:13 +00:00
beard%netscape.com
9930edd0d5 Enhanced printing of types. 2000-06-28 19:45:44 +00:00
beard%netscape.com
c0e9f6d274 Type of a JSType* is Type_Type (wow, recursive). Changed mBaseType to be JSType* instead of const JSType*. 2000-06-28 19:45:09 +00:00
rogerl%netscape.com
52bffdadcf First set of unified 'dot' handling changes for statics. 2000-06-28 18:41:30 +00:00
beard%netscape.com
d40b8dd8cb added jsclasses.h 2000-06-28 18:10:04 +00:00
beard%netscape.com
941b505765 Fix string <. 2000-06-28 16:38:20 +00:00
beard%netscape.com
d9bf640477 Fixed dynamic lookup of static slots. Added code to compare strings. 2000-06-28 16:32:52 +00:00
beard%netscape.com
b1350d87b6 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Implemented GET_PROP/SET_PROP for class objects (looks up slot dynamically, etc.) 2000-06-28 16:15:06 +00:00
beard%netscape.com
866b5d3d8d 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. 2000-06-28 16:14:18 +00:00
beard%netscape.com
8132734212 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. 2000-06-28 16:13:12 +00:00
beard%netscape.com
970477555f Static slots. 2000-06-28 16:11:54 +00:00
beard%netscape.com
2b1351cc3b Win-specific operator== noise. 2000-06-27 03:52:56 +00:00
beard%netscape.com
4873ce7882 Fixed unitialized static class members. 2000-06-27 03:43:40 +00:00
beard%netscape.com
7b2b4a1e2f addSlot -> defineSlot, added defineStatic. 2000-06-27 03:42:42 +00:00
beard%netscape.com
74e8d0a780 Fixed type management. 2000-06-27 03:21:33 +00:00
rogerl%netscape.com
fbdb3fe1c1 lots of stuff me and Patrick did 2000-06-27 02:39:32 +00:00
beard%netscape.com
965f10e915 JSValue::operator==: added CASE(type) to fix warning. 2000-06-26 17:47:07 +00:00
beard%netscape.com
f276cc3dfd added JSObject::deleteProperty(), and changed mName in JSType to be a JSString. Need to revisit other uses of String soon. 2000-06-26 17:42:20 +00:00
beard%netscape.com
07dff8c5d1 simplified string addition 2000-06-26 17:25:25 +00:00
beard%netscape.com
fef138fae2 defined JSStringBase, and constructors from in JSString 2000-06-26 17:24:57 +00:00
beard%netscape.com
769d11bcbf String addition: don't share structure with LHS. 2000-06-26 17:09:27 +00:00
beard%netscape.com
45301bb589 added constructor from JSString&. 2000-06-26 16:55:01 +00:00
beard%netscape.com
3a78e14938 Reset register usage after generating each initializer statement. 2000-06-26 15:19:45 +00:00
beard%netscape.com
714e109074 Simplified NEW_CLASS, using a single do .. while loop, introducing nextPC instruction iterator to simplify initial case. now calls all defined constructors. 2000-06-26 15:06:36 +00:00
beard%netscape.com
07d6ee2613 Only call non-null constructors. 2000-06-25 17:04:38 +00:00
beard%netscape.com
40e53d46ea Conditionally set constructor, if it has any instructions. 2000-06-25 17:04:01 +00:00
beard%netscape.com
21f549896a updated dependencies 2000-06-25 16:44:29 +00:00
beard%netscape.com
d6c6cc31bb check for non-null superClass 2000-06-25 16:43:25 +00:00
beard%netscape.com
5d311184e2 hooked up superClass' scope as the prototype of a class's scope, to do method inheritance, removed bogus JSInstance::getSlotCount(), which overcounted slots. 2000-06-25 16:35:33 +00:00
beard%netscape.com
728580c6f8 Added calls to superClass constructors. 2000-06-24 22:42:43 +00:00
beard%netscape.com
e41bd745dd JSInstance::getSlotCount() no longer recursive. 2000-06-24 22:42:15 +00:00
beard%netscape.com
7b76b9503a Beginning support for superclass slots. 2000-06-24 22:07:00 +00:00
beard%netscape.com
36eef7adea Added emptyArgs, removed unused return value in readEvalFile 2000-06-24 05:42:51 +00:00
beard%netscape.com
a6493add9f enable RTTI 2000-06-24 05:36:52 +00:00
beard%netscape.com
b877fde64f VC++ doesn't like local classes in templates. 2000-06-24 05:36:09 +00:00
beard%netscape.com
c5298ced1d major surgery to enable the "load()" native function. 2000-06-24 05:25:33 +00:00
beard%netscape.com
46c0a7c5a8 Experiment with looking up methods in the prototype chain. 2000-06-24 05:22:23 +00:00
beard%netscape.com
c337fff76a Always use the target object, regardless of where a method property is found along the prototype chain. 2000-06-24 05:21:49 +00:00
beard%netscape.com
8558f071a4 When generating a reference to "this" use the current code generator's mClass when appropriate. 2000-06-24 05:21:03 +00:00
rginda%netscape.com
486d1cc51a fixing source stepping (opcode stepping to come back later)
debugger is now quiet by default.
2000-06-24 02:53:29 +00:00
beard%netscape.com
27b088f22a Removed JSType::isClassType(). 2000-06-24 02:51:34 +00:00
beard%netscape.com
565b0389db Added JSClass::get/setConstructor(). 2000-06-24 02:51:03 +00:00
beard%netscape.com
9fd0505086 Added call to constructor when executing NEW_CLASS. 2000-06-24 02:50:23 +00:00
beard%netscape.com
47638a00c7 Generating default constructor to run slot initializers. 2000-06-24 02:49:45 +00:00
beard%netscape.com
146e187c7b testCompile() is static 2000-06-24 01:04:58 +00:00
rogerl%netscape.com
e497a7809f typing 'this' 2000-06-24 01:02:34 +00:00
rogerl%netscape.com
432c8b3cdc Got newClass working, added printProperties for instances, some slot
stuff is happening.
2000-06-24 00:50:59 +00:00
beard%netscape.com
f304229d7f added NEW_CLASS instruction, to instantiate classes. 2000-06-23 23:49:48 +00:00
beard%netscape.com
35b239cd47 added NEW_CLASS instruction. 2000-06-23 23:49:17 +00:00
rogerl%netscape.com
e939fbddc4 Adding slot handling to code gen. 2000-06-23 23:43:24 +00:00
beard%netscape.com
841b79b5eb added NEW_CLASS instruction. 2000-06-23 23:41:27 +00:00
beard%netscape.com
da108e7b96 Added JSClass::hasSlot, getSlotCount(), and JSInstance. 2000-06-23 23:25:55 +00:00
beard%netscape.com
9f413f408b JSValue::type now JSType* instead of const JSType*, all predefined JSType objects no longer const as well. 2000-06-23 23:25:14 +00:00
rogerl%netscape.com
89515e83dc Removed FUNCTION instruction, other class related junk. 2000-06-23 22:53:09 +00:00
rginda%netscape.com
da45d9b0eb Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing 2000-06-23 22:27:17 +00:00
rogerl%netscape.com
ea920b48c8 Add return statement if the function doesn't end with one 2000-06-23 21:20:03 +00:00
beard%netscape.com
da19218b3e added assertion to ensure that mPC is always valid before fetching the next instruction. 2000-06-23 06:10:14 +00:00
beard%netscape.com
95adc8b187 Additional JSClass processing: defining slots, generating methods. 2000-06-23 05:13:04 +00:00
beard%netscape.com
ca9001f387 When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared. 2000-06-23 05:10:46 +00:00
beard%netscape.com
6ccb94e600 A JSClass is a JSType now, and has a JSScope. Added addSlot, getSlot, getScope. 2000-06-23 05:09:37 +00:00
beard%netscape.com
dee62b8d67 remove unused file. 2000-06-23 04:10:04 +00:00
beard%netscape.com
f7c44fcf6f putting the JSClass* in the current global scope, and looking up superclass rereferences. 2000-06-23 02:22:55 +00:00
rogerl%netscape.com
33c9eb064a Added support for 'debugger' as a statement. (Rob made me) 2000-06-23 00:08:10 +00:00
beard%netscape.com
5ee7d6da77 JSClass support. 2000-06-21 23:58:17 +00:00
beard%netscape.com
124280ce07 initial checkin, starting on a representation for JS2 classes. 2000-06-21 23:57:09 +00:00
rogerl%netscape.com
f2591282dc Work to support 'this'. 2000-06-21 22:32:21 +00:00
rogerl%netscape.com
27e254fee3 Changed use of Register to TypedRegister throughout. 2000-06-20 22:45:45 +00:00
rogerl%netscape.com
8a71a568af Support for TypedRegister 2000-06-20 22:44:46 +00:00
rogerl%netscape.com
a8a18e9d21 Added tests for scripts as strings. 2000-06-16 01:37:47 +00:00
rogerl%netscape.com
ecd0d99e85 Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
670a8310fb Fixed spelling. 2000-06-16 01:35:25 +00:00
rogerl%netscape.com
b2f3dff014 Added op= support. 2000-06-15 16:03:54 +00:00
rogerl%netscape.com
c354e43376 Mark top-level execution as 'script' rather than function - to handle
vars correctly.
2000-06-14 23:28:38 +00:00
rogerl%netscape.com
5762b34619 Added 'Function' instruction, plus suppresses class output if there is
no super specified. (ok it's a hack, but it works)
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
6526fedd31 Adding support for Functions and Vars, preXcrement, object literals. 2000-06-14 23:26:15 +00:00
waldemar%netscape.com
2166c80bec Added parsing and printing of classes, interfaces, and namespaces 2000-06-02 04:35:44 +00:00
waldemar%netscape.com
767f3c1669 Widened default line width to 30 2000-06-01 03:31:17 +00:00
waldemar%netscape.com
5c440a5bc5 Added function and constructor parsing and printing; fixed printing of blocks, compound statements, and :: 2000-06-01 03:30:58 +00:00
waldemar%netscape.com
ebbccfd9f8 Added two-argument linearBreak 2000-06-01 03:30:19 +00:00
rogerl%netscape.com
4e3dcc082c Removed old branches, changed offset printing to handle NULL operand. 2000-05-26 22:35:36 +00:00
rogerl%netscape.com
565b842243 Update to new icg constructor etc. 2000-05-26 22:34:42 +00:00
rogerl%netscape.com
573531b249 Statement fun 2000-05-26 22:33:05 +00:00
waldemar%netscape.com
bd3b79569c Added var, const, and for statements 2000-05-26 06:20:11 +00:00
waldemar%netscape.com
cec8a6816d Fixed case/default indenting 2000-05-24 02:18:57 +00:00
rogerl%netscape.com
39ebb9c8d8 Codegen for statements. Blew off old statement API and most of the test
functions for now, sorry.
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
d4e4f10d14 Turned on statement parsing and printing 2000-05-24 01:51:32 +00:00
waldemar%netscape.com
c970639ae9 Added statement parsing 2000-05-24 01:51:20 +00:00
waldemar%netscape.com
fe6fac7c85 Added using std::fmod declaration 2000-05-24 00:55:23 +00:00
waldemar%netscape.com
389625522b Fixed Mac warning 2000-05-24 00:54:56 +00:00
waldemar%netscape.com
bdd3276507 Fixed Mac warnings 2000-05-24 00:54:40 +00:00
waldemar%netscape.com
0765893319 Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word 2000-05-24 00:54:28 +00:00
rginda%netscape.com
b71c85c7dc apparently windows is too 2000-05-23 00:15:06 +00:00
rginda%netscape.com
27345b3bb3 linux is so picky 2000-05-23 00:13:48 +00:00
rogerl%netscape.com
709d6c75d9 COMPARE_GT etc are gone. 2000-05-23 00:09:44 +00:00
rogerl%netscape.com
8dc4133f96 Fall out from operator overloading. 2000-05-23 00:09:02 +00:00
rogerl%netscape.com
932d63213b Added operator overloading support 2000-05-23 00:08:29 +00:00
rginda%netscape.com
6fa16759c6 quieting linux warnings and fixing build bustage 2000-05-22 21:05:35 +00:00
rogerl%netscape.com
408e469b4b Playing with operator overloading & Type types. 2000-05-19 17:41:10 +00:00
beard%netscape.com
091146e0f7 fix const cast away linux breakage 2000-05-19 05:38:29 +00:00
rogerl%netscape.com
79201b942d Bunch o' expression ops. 2000-05-18 00:04:15 +00:00
rogerl%netscape.com
477b9aecd9 Moved genExpr to ICodeGenerator - added most expression ops. 2000-05-18 00:03:23 +00:00
rogerl%netscape.com
f38a2dd543 Moved genExpr to ICodeGenerator 2000-05-18 00:01:33 +00:00
beard%netscape.com
aa18b202a8 ensuring both arguments to max are the same type 2000-05-16 22:23:15 +00:00
beard%netscape.com
312fe40643 fix for linux bustage 2000-05-13 02:14:52 +00:00
waldemar%netscape.com
e4b1d1c7b0 Simplified grammar without changing syntax 2000-05-13 00:18:56 +00:00
waldemar%netscape.com
1038627ac0 Fixed ?: parsing bug and pretty-printing offsets 2000-05-12 05:39:28 +00:00
waldemar%netscape.com
e0d60183af Fixed build flags 2000-05-12 05:16:08 +00:00
waldemar%netscape.com
4332726ebb Fixed parser errors 2000-05-12 05:15:52 +00:00
waldemar%netscape.com
87e3817578 Worked around Visual C++ problem 2000-05-12 05:15:17 +00:00
waldemar%netscape.com
6f509ed95c Interchanged linearBreak and fillBreak 2000-05-12 03:43:35 +00:00
waldemar%netscape.com
0a6fc9df09 Turned on expression parsing and printing 2000-05-12 03:26:43 +00:00
waldemar%netscape.com
66582beffd Added expression parsing and printing code 2000-05-12 03:26:24 +00:00
waldemar%netscape.com
f240e58708 Added RawArrayBuffer::reserve_advance_back 2000-05-12 03:25:49 +00:00
beard%netscape.com
7e8c26b8ab removed unnecessary #include <iomanip> 2000-05-12 01:46:16 +00:00
beard%netscape.com
71c6e11ea9 InterpretStage -> Context::Event. 2000-05-12 01:20:34 +00:00
beard%netscape.com
5323c7b05c Fixed signed/unsigned warning. InterpretStage -> Context::Event. Context::removeListener now using find() from <algorithm>. 2000-05-12 01:19:39 +00:00
beard%netscape.com
04581163ba InterpretStage -> Context::Event. Added typedefs for ListenerList and ListenerIterator. 2000-05-12 01:17:32 +00:00
beard%netscape.com
314e712f22 turned off extra comma warnings. 2000-05-12 00:31:48 +00:00
rogerl%netscape.com
b29b7084fa post inc/dec 2000-05-11 00:35:43 +00:00
rogerl%netscape.com
3dd4d8ff15 Added post inc/dec for properties & names. 2000-05-11 00:35:06 +00:00
waldemar%netscape.com
7647f38e6f Added 'public' to the list of qualifiers 2000-05-09 20:55:09 +00:00
rogerl%netscape.com
f1ae8af483 playing with gencode 2000-05-09 19:01:00 +00:00
beard%netscape.com
a4dea03835 Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule 2000-05-09 18:59:12 +00:00
beard%netscape.com
bcdfb1addd generalized gc_allocator copy constructor 2000-05-09 18:32:14 +00:00
beard%netscape.com
6812bcc78f removed JSFunction::operator delete 2000-05-09 18:31:43 +00:00
rogerl%netscape.com
d3b5bfb405 Fixed leakage of ICodeModule via JSFunction 2000-05-09 18:09:33 +00:00
beard%netscape.com
eb9d678d61 Need to modify string BEFORE caching iterators. 2000-05-09 06:39:39 +00:00
beard%netscape.com
ad2ad1e77c ensure that source buffer is always terminated by a uni::null (which isn't automatically true for basic_string<T>). 2000-05-09 06:31:54 +00:00
beard%netscape.com
7a09fcc4cd map::find() works just fine on all platforms. 2000-05-09 05:55:30 +00:00
beard%netscape.com
a2f5fc24f7 generating code rather than showing tokens, printing generic result rather than assuming it's a float64. 2000-05-09 05:46:26 +00:00
beard%netscape.com
1c816f64a6 LoadString now has JSString* as second operand 2000-05-09 05:38:48 +00:00
beard%netscape.com
6f85ea39ec Added JSString(const String&) and operator<<(Formatter&, const JSString&) 2000-05-09 05:37:58 +00:00
beard%netscape.com
c7c46e062f LOAD_STRING now has String as second operand rather than String* 2000-05-09 05:18:16 +00:00
beard%netscape.com
8647206526 VC6 bustage: can't initialize refs using construction form 2000-05-09 04:29:32 +00:00
beard%netscape.com
7b293d0e75 std::numeric_limits isn't working... 2000-05-09 04:26:44 +00:00
beard%netscape.com
3f60dde90e JSNativeFunction::mCode returns JSValue now to avoid leaking 2000-05-09 03:57:28 +00:00
beard%netscape.com
3553a3b540 print now returns JSValue, added space between args when printing 2000-05-09 03:56:56 +00:00
beard%netscape.com
d0c644149e CASE(string) 2000-05-09 03:56:08 +00:00
beard%netscape.com
e0725293d9 g++ basic_string annoyances 2000-05-09 03:55:43 +00:00
beard%netscape.com
7f3d0eee51 needed deallocate(void*, size_type) on XP_UNIX for basic_string. 2000-05-09 03:46:03 +00:00
beard%netscape.com
5e272eaaf9 Fixed leaks by changing JSValue::toString()/toNumber() to return JSValue rather than JSValue*. LOAD_STRING now creates a JSString from a String*. 2000-05-09 03:11:54 +00:00
beard%netscape.com
0327df07be Added JSString for gc-able UNICODE strings, changed toString(), toNumber() to return JSValue rather than JSValue*. 2000-05-09 03:10:04 +00:00
beard%netscape.com
f97cc95de0 make wchar_t an atomic type, for JSString. 2000-05-09 03:06:49 +00:00
waldemar%netscape.com
0857316bd7 Changed default constructor name from 'new' to the same name as its class 2000-05-09 00:10:50 +00:00
rogerl%netscape.com
d703cf6197 testing native 'print' function 2000-05-08 23:12:10 +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
1d6bd07587 Fixed syntax errors 2000-05-06 03:47:35 +00:00
waldemar%netscape.com
fd0ea8f40a Reordered includes to ensure that systemtypes.h is always included first; that's needed for Visual C++ 2000-05-06 03:47:13 +00:00
waldemar%netscape.com
73847d74d6 Reordered files back to dependency order. Added gc_allocator.h. 2000-05-06 03:33:25 +00:00
waldemar%netscape.com
fdfd1288f5 Fixed syntax error 2000-05-06 03:31:50 +00:00
waldemar%netscape.com
4a3e9723dd Added formatters, zones, and other miscellaneous utilities 2000-05-06 03:31:35 +00:00
waldemar%netscape.com
d9dcb3515c Fixed mac warning 2000-05-06 03:30:37 +00:00
rogerl%netscape.com
504e3cfd96 Load_String 2000-05-05 23:23:13 +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
rogerl%netscape.com
ed1a08b00a Bunch more arithmetic ops etc.
Also fixed case munging when class name was only 2 letters long.
2000-05-05 21:36:36 +00:00
beard%netscape.com
8f3673e367 Added debugger source 2000-05-05 18:20:05 +00:00
beard%netscape.com
aa279464b9 No need to use string, now that size_t LineReader::readLine(String& wstr) exists. 2000-05-05 05:25:00 +00:00
beard%netscape.com
70fd8a8a97 added size_t LineReader::readLine(String& wstr) for convenience. 2000-05-05 05:24:02 +00:00
beard%netscape.com
eba9b0985c regenerated dependencies 2000-05-05 04:58:56 +00:00
beard%netscape.com
ec5da004d9 LineReader returns at least '\n' 2000-05-05 04:50:45 +00:00
beard%netscape.com
5a1ab13253 stdin rather than cin 2000-05-05 04:45:39 +00:00
beard%netscape.com
a3c7ab8446 Needed to use namespace Interpreter to see Context, using LineReader instead of istream. 2000-05-05 04:44:51 +00:00
beard%netscape.com
f1cda623c3 remove unnecessary #include <iostream> 2000-05-05 04:44:01 +00:00
beard%netscape.com
efc76ad32c Use FILE* instead of istream& for better line handling 2000-05-05 04:43:12 +00:00
beard%netscape.com
825b909a2d EOF handling 2000-05-05 04:19:20 +00:00
beard%netscape.com
a6aad50ed4 can't use std::getline() with a String on all platforms. 2000-05-05 04:10:01 +00:00
beard%netscape.com
00af2ac3c8 forward declaring std::istream. 2000-05-05 04:08:59 +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
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
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
846e79c959 warnings on Linux 2000-05-01 17:18:49 +00:00
beard%netscape.com
97c6f17dfa fixing breakage on Linux 2000-05-01 17:18:23 +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
waldemar%netscape.com
1d32f1a9b3 Changed syntax of identifiers, attributes, expressions, functions, and packages. Added export, use, constructor, namespace, import. 2000-05-01 06:21:39 +00:00
beard%netscape.com
2d4c0ff91a made startsWith() static, to fix no prototype warning. 2000-04-30 14:56:31 +00:00
beard%netscape.com
e863459fb5 added debugger.cpp/h. 2000-04-30 14:55:51 +00:00
beard%netscape.com
a5df22b0a6 Removed setGlobalObject(), as only the interpreter should be mucking with it after initial creation. Added getWorld(), made getICode() out of line, removed mICode since it's part of Activation record. 2000-04-29 14:44:42 +00:00
beard%netscape.com
7d9e844cad Implemented WITHIN, WITHOUT instructions, removed mICode from Context since it's part of Activation. No longer deleteing mActivation, just clearing it, since Activation objects are garbage collected. 2000-04-29 14:43:36 +00:00
beard%netscape.com
b6d49c9fe0 Added JSScope::getParent(). 2000-04-29 14:39:50 +00:00
beard%netscape.com
6f9510ebc6 JSNamespace -> JSScope. 2000-04-29 14:14:28 +00:00
beard%netscape.com
e9c3fbc2e1 JSValue::operator==(const JSValue&) 2000-04-29 14:13:43 +00:00
beard%netscape.com
6d66e9ffb3 Added JSValue::operator==(const JSValue&), renamed JSNamespace JSScope. 2000-04-29 14:13:08 +00:00
beard%netscape.com
50f1660869 moved kUndefinedValue to jstypes.cpp, where it belongs. 2000-04-29 14:11:27 +00:00
beard%netscape.com
9a9f6ba249 added WITHIN, WITHOUT instructions. 2000-04-29 14:10:53 +00:00
beard%netscape.com
3eed137323 fixing windows bustage. 2000-04-29 00:29:56 +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
beard%netscape.com
4a8f41d458 Added jstypes.cpp 2000-04-28 23:10:06 +00:00
beard%netscape.com
1f0e341d77 Merged JSMap & JSObject. Introduced JSNamespace. 2000-04-28 23:04:43 +00:00
rginda%netscape.com
a41de8f590 80 column nit picked, comment fixed 2000-04-28 15:32:54 +00:00
beard%netscape.com
aec49c3ae8 Don't print BRANCH operands. 2000-04-28 13:46:01 +00:00
beard%netscape.com
34189b3459 tightened up spacing in printOperands(), changed GenericBranch.printOperands() to conditionally print condition register contents. 2000-04-28 13:44:59 +00:00
beard%netscape.com
f4ae9c632f tightened up spacing in printOperands(). 2000-04-28 13:43:49 +00:00
beard%netscape.com
74ffb17601 Added Tracer to testFunctionCall(). 2000-04-28 13:31:39 +00:00
beard%netscape.com
0be964c389 const ArgList& makes gcc happy. 2000-04-28 13:25:57 +00:00
beard%netscape.com
0a05625ba6 Added jstypes.o 2000-04-28 13:25:24 +00:00
beard%netscape.com
3583fb214c added ArgList helper struct to print Call operands, regenerated printOperands() methods to reduce warnings. 2000-04-28 13:20:26 +00:00
beard%netscape.com
b790669bbc operator<< (Formatter& f, ArgList& al) 2000-04-28 13:18:03 +00:00
beard%netscape.com
9252fe2e66 support for printing ArgLists. 2000-04-28 13:17:35 +00:00
beard%netscape.com
63bdc966ee Unused. 2000-04-28 13:16:23 +00:00
beard%netscape.com
5416b79b52 regenerated dependencies 2000-04-28 05:46:22 +00:00
beard%netscape.com
905703a8f3 tracing now prints instruction operands. 2000-04-28 05:44:38 +00:00
beard%netscape.com
74a712cb16 using JSValue::tag to do simple operand validation. 2000-04-28 05:43:33 +00:00
beard%netscape.com
0738cd6cd1 forward declaring ICodeModule, to break circularity. JSValue is now a tagged union. 2000-04-28 05:42:46 +00:00
beard%netscape.com
ea344e71ab Instruction::count(), Instruction::printOperands(), plus newly generated instruction classes. 2000-04-28 05:41:54 +00:00
beard%netscape.com
d175bc97b6 added jstypes.cpp 2000-04-28 05:40:42 +00:00
beard%netscape.com
ca3c76a044 operator<<(Formatter&, const JSValue&) 2000-04-28 05:40:16 +00:00
beard%netscape.com
554a69c801 generates printOperands() 2000-04-28 05:39:27 +00:00
beard%netscape.com
f9b2ea4212 runs gencode.pl with MW Perl. 2000-04-28 05:39:04 +00:00
waldemar%netscape.com
a1e085023c Changed attributes and 'language' statement syntax, added interfaces, and removed ^*, ^?, |*, and |?. 2000-04-28 02:34:14 +00:00
rginda%netscape.com
ac3f62e80e don't generate print_args if super_has_print
comment fixes
2000-04-28 02:33:36 +00:00
waldemar%netscape.com
a6891ee49a Changed period to dot 2000-04-28 02:31:41 +00:00
waldemar%netscape.com
cee3bc879e Fixed syntax of (bottom) 2000-04-28 02:30:44 +00:00
waldemar%netscape.com
9c8cec86f9 First Checked In. 2000-04-28 02:30:19 +00:00
rginda%netscape.com
2b82c98539 moved comment so it made more sense 2000-04-28 02:26:14 +00:00
beard%netscape.com
d30332fed4 reordered inheritance graph of Linkage. 2000-04-28 02:23:08 +00:00
rginda%netscape.com
4f2ea173c2 printarg stubbed out 2000-04-28 02:20:23 +00:00
beard%netscape.com
6b94a5aefc testProto() 2000-04-28 01:43:03 +00:00
rogerl%netscape.com
f399ef5301 try/catch exercise changes 2000-04-28 00:11:18 +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
fec4f17019 oops. 2000-04-26 22:10:20 +00:00
beard%netscape.com
328d338eaf removed JSMap::operator[], added set/getPrototype(). 2000-04-26 22:06:17 +00:00
beard%netscape.com
8ec53e3c09 oops getProperty() can't be const unless map.find() is used everywhere. 2000-04-26 21:48:04 +00:00
beard%netscape.com
4fb22b1f43 Using getProperty/setProperty rather than JSMap::operator[]. This follows the prototype chain. 2000-04-26 21:38:14 +00:00
beard%netscape.com
3610f211ce added JSMap::setProperty()/getProperty(), and a prototype field. 2000-04-26 21:27:44 +00:00
rginda%netscape.com
db9c7f1a2a initial add of debugger vapors 2000-04-26 06:04:02 +00:00
beard%netscape.com
3b3617a676 Fixing windows bustage in Linkage. 2000-04-26 05:56:20 +00:00
beard%netscape.com
c9140f3cfb fixing bug: js2.cpp:328: Internal compiler error in scope_die_for, at dwarf2out.c:7794 Please submit a full bug report. See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions. 2000-04-26 05:43:24 +00:00
beard%netscape.com
4d54a513ae testFactorial() now installs a Context::Listener to trace execution. 2000-04-26 05:37:00 +00:00
beard%netscape.com
4996f07b77 JSActivation -> Activation, JSLinkage --> Linkage. Linkage now implements the Context::Frame interface. Implemented simple Context::Listener support. 2000-04-26 05:35:07 +00:00
beard%netscape.com
31c7fe60f7 Added Context::Frame, Context::Listener abstract classes. Initial support for debugger. 2000-04-26 05:29:35 +00:00
beard%netscape.com
51b10bdffb JSFrame -> JSLinkage, using explicit linked list rather than a stack. 2000-04-26 01:42:00 +00:00
beard%netscape.com
14e2fadb8c removed intentionally private JSActivation/JSFrame types. The debugger should be able to ask questions of the interpreter to obtain this information. 2000-04-26 01:39:56 +00:00
beard%netscape.com
b33c70b006 changed Context constructor to take JSObject* not JSObject&, to be able to control lifetime a little more carefully. 2000-04-25 03:32:53 +00:00
beard%netscape.com
02525db2ed warning removal 2000-04-25 03:28:41 +00:00
beard%netscape.com
1bc1bc77d5 fixing mac bustage (we do reference argc/argv, to initialize them to something sensible). 2000-04-25 02:58:30 +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
rogerl%netscape.com
43a5e02de9 Fixes for handling missing params. 2000-04-24 22:40:53 +00:00
rginda%netscape.com
cdf10d48f2 adding comments 2000-04-24 21:43:49 +00:00
rginda%netscape.com
9366e18dd5 NotARegister check in GenericBranch::print() 2000-04-24 20:08:16 +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
4683e4c869 oops 2000-04-21 00:46:48 +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
45f08249f7 Simple dependency tracking with make depend target. 2000-04-20 23:02:19 +00:00
beard%netscape.com
d40f4c7499 Simple dependencies list. Rebuilt with make depend target. 2000-04-20 22:58:23 +00:00
beard%netscape.com
40022cf8f5 removed extraneous semi-colons after namespace declarations. 2000-04-20 06:20:31 +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
12509b464c regenerated opcode classes after grncode.pl changes 2000-04-18 07:06:25 +00:00
rginda%netscape.com
ad7e72b179 modified to print R~ if NotARegister 2000-04-18 07:04:24 +00:00
rogerl%netscape.com
ef88b04ba2 added '(' for RegisterList output 2000-04-18 01:46:32 +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
rginda%netscape.com
a74abe59c8 space out opcodenames array 2000-04-18 01:19:12 +00:00
beard%netscape.com
f51bb4d1d9 std::pair 2000-04-18 00:52:07 +00:00
beard%netscape.com
cbc85867b4 moved initConsole() out to :: namespace. 2000-04-18 00:51:53 +00:00
beard%netscape.com
a45402c371 added vmtypes.h,.cpp 2000-04-18 00:50:58 +00:00
rogerl%netscape.com
f14edea523 added vmtypes/jstypes 2000-04-18 00:46:18 +00:00
rogerl%netscape.com
8812cb41bd Fixed WINDOZE build issues 2000-04-18 00:38:26 +00:00