Граф коммитов

825 Коммитов

Автор SHA1 Сообщение Дата
waldemar%netscape.com 8941a10acb Fixed Mac errors and warnings 2000-08-02 23:09:29 +00:00
beard%netscape.com e2d1e94396 fixing warnings, removing need for JStrings to be copied for mClass 2000-08-02 03:53:04 +00:00
rginda%netscape.com 80b337ffd6 shut up "unused param" warnings by only naming the register param if the icode uses a RegisterList operand. 2000-07-29 02:00:12 +00:00
rogerl%netscape.com 9cb37bc8c8 Function prototype objects etc. 2000-07-26 01:56:47 +00:00
rogerl%netscape.com c30779b359 More ECMA 3 mucking about to support constructors etc. 2000-07-25 22:58:04 +00:00
beard%netscape.com 583d45e258 added jsmath.cpp/h 2000-07-21 05:07:29 +00:00
beard%netscape.com 90c948a47a XML project file. 2000-07-21 05:07:05 +00:00
beard%netscape.com eec51fa4ce update dependencies to include jsmath.o 2000-07-21 05:01:10 +00:00
beard%netscape.com 94888cdb78 add jsmath.cpp to the build. 2000-07-21 05:00:43 +00:00
beard%netscape.com b955eb7e09 scope of loop variables fix 2000-07-21 05:00:10 +00:00
rogerl%netscape.com 84455b51d9 Implementing Object.prototype object and global object for ECMA 3
Adding Math class support.
2000-07-21 01:16:49 +00:00
rogerl%netscape.com 06f0a5261f Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.
2000-07-18 20:53:03 +00:00
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