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

384 Коммитов

Автор SHA1 Сообщение Дата
rogerl%netscape.com ca67259713 oops 2000-04-21 00:46:48 +00:00
rogerl%netscape.com 5e238bd7a5 Added labelled statements, fixed some VC++'isms 2000-04-21 00:37:51 +00:00
rginda%netscape.com 7615ee9226 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 d7ad5021eb Simple dependency tracking with make depend target. 2000-04-20 23:02:19 +00:00
beard%netscape.com 30971c4c45 Simple dependencies list. Rebuilt with make depend target. 2000-04-20 22:58:23 +00:00
beard%netscape.com 9acaa398fe removed extraneous semi-colons after namespace declarations. 2000-04-20 06:20:31 +00:00
beard%netscape.com bb0348e64d warnings: commented out unused parameter name. 2000-04-20 06:19:43 +00:00
rogerl%netscape.com 5199f6e49c Removing variables. 2000-04-19 22:45:57 +00:00
rogerl%netscape.com 7b7fc3829f Began moving away from variables, fixed compare/branch ordering.
Testcases working.
2000-04-19 02:09:06 +00:00
rginda%netscape.com 3a06b96f97 formatting changes. use only one tab regardless of nested namespaces 2000-04-18 21:51:45 +00:00
rginda%netscape.com 1952e14ff8 removed superfluous ;s after namespace decs. 2000-04-18 07:14:49 +00:00
rginda%netscape.com 531ede4f17 regenerated opcode classes after grncode.pl changes 2000-04-18 07:06:25 +00:00
rginda%netscape.com 33d0848741 modified to print R~ if NotARegister 2000-04-18 07:04:24 +00:00
rogerl%netscape.com fce9fa62b1 added '(' for RegisterList output 2000-04-18 01:46:32 +00:00
rginda%netscape.com 8ac24b9045 regenerated opcodenames to include padding, added label printing back into icg::print 2000-04-18 01:31:24 +00:00
rginda%netscape.com b0eca07a47 space out opcodenames array 2000-04-18 01:19:12 +00:00
beard%netscape.com 52d7e01394 std::pair 2000-04-18 00:52:07 +00:00
beard%netscape.com 7add6915a1 moved initConsole() out to :: namespace. 2000-04-18 00:51:53 +00:00
beard%netscape.com c18125076f added vmtypes.h,.cpp 2000-04-18 00:50:58 +00:00
rogerl%netscape.com f163805c99 added vmtypes/jstypes 2000-04-18 00:46:18 +00:00
rogerl%netscape.com 0e17feea55 Fixed WINDOZE build issues 2000-04-18 00:38:26 +00:00
rginda%netscape.com 73017de6a1 initial add of perl script to generate icode classes 2000-04-18 00:22:51 +00:00
rginda%netscape.com 5a6fd84159 removing bogus file 2000-04-18 00:20:10 +00:00
rginda%netscape.com 0fac613959 adding files for namespace change 2000-04-18 00:19:09 +00:00
rginda%netscape.com 66cb26879d 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 02798c9177 FASTLOCK changes. 2000-04-17 23:58:28 +00:00
beard%netscape.com e82b4e2532 gc_base now used as common base class of GC allocated objects. 2000-04-13 04:54:41 +00:00
beard%netscape.com 56d97a71e9 added gc_base, which defines a more generic operator new(). 2000-04-13 04:53:56 +00:00
beard%netscape.com d92905d034 builds gc 2000-04-13 00:37:00 +00:00
beard%netscape.com 1468acd8d1 Added gc_allocator.h to project and gc.lib to link against. 2000-04-13 00:28:40 +00:00
beard%netscape.com a1bed20974 linking in gc.lib from ../../gc/boehm 2000-04-13 00:16:58 +00:00
beard%netscape.com 2922707730 enabling GC on all platforms 2000-04-13 00:14:23 +00:00
beard%netscape.com 12ccc48ec4 JSActivation, JSFunction 2000-04-11 05:11:58 +00:00
beard%netscape.com 95604b5bff Added JSFunction, defineFunction() 2000-04-11 05:10:40 +00:00
beard%netscape.com c721ec102b defineFunction, added assert 2000-04-11 05:09:38 +00:00
beard%netscape.com b574e77f13 _Charalloc, deallocate(void*) for _WIN32 only 2000-04-11 04:55:27 +00:00
beard%netscape.com 92ec71fb35 defineGlobalProperty 2000-04-11 03:11:47 +00:00
beard%netscape.com af1f41fb7d JSObject, JSArray : public JSMap, gc_object<T>. Frame -> JSFrame. Added JSFrameStack which is an std:stack<JSFrame*, std:vector<JSFrame*> >. 2000-04-11 03:11:00 +00:00
beard%netscape.com 8ef180ab04 use gc_allocator<T> everywhere, addGlobalProperty -> defineGlobalProperty 2000-04-11 03:07:39 +00:00
beard%netscape.com 2930dfd621 removed commented out GET_PROP/SET_PROP. 2000-04-11 02:59:52 +00:00
beard%netscape.com 8bd406efae added gc_object. 2000-04-11 02:59:14 +00:00
beard%netscape.com f7fdcbff8b fixing an assert and warnings 2000-04-11 01:10:26 +00:00
rogerl%netscape.com 2757a2004e CALL opcode & frames etc. (r=beard) 2000-04-11 00:32:17 +00:00
waldemar%netscape.com 84bdf052ab Fixed delete/delete[] mismatch 2000-04-10 22:23:17 +00:00
waldemar%netscape.com d1e89106de Fixed memory leak 2000-04-10 22:20:00 +00:00
beard%netscape.com 1edba28c48 Fixed warnings about member initializers on Linux. Whatever. 2000-04-08 04:49:41 +00:00
beard%netscape.com 14a585783b Reduced size of args arrays to minimum. 2000-04-08 04:41:19 +00:00
beard%netscape.com 138afee3b4 Reordered parameters to getProperty()/setProperty() to be consistent with operand ordering. Added array allocation/indexing to testObjects(). 2000-04-08 04:15:02 +00:00
beard%netscape.com 6337059f6f JSArray::elements(1), operator[](const JSValue&), fixed register-indexing. 2000-04-08 04:12:28 +00:00
beard%netscape.com f589a1ab24 Fixed NEW_ARRAY, GET_ELEMENT, SET_ELEMENT printing., 2000-04-08 04:11:16 +00:00
beard%netscape.com 8c93fb3d06 NEW_ARRAY 2000-04-08 03:37:49 +00:00
beard%netscape.com 0822793571 Reordered GetProp/SetProp operands to base, name. Added NewArray, GetElement, SetElement instructions. 2000-04-08 03:37:18 +00:00
beard%netscape.com afd93b4e07 added JSArray, GET_ELEMENT, SET_ELEMENT, changed some ops to dest/src. 2000-04-08 03:23:44 +00:00
beard%netscape.com 468bc29100 added JSArray, comments. 2000-04-08 02:44:34 +00:00
beard%netscape.com 95cb0e8b9d Changed boilerplate, chmod -x 2000-04-08 02:29:07 +00:00
beard%netscape.com 010a45313a converted NotALabel to an enum, so it obeys proper scoping rules. 2000-04-08 02:25:37 +00:00
rogerl%netscape.com 5e55242311 added interpreter & icodegenerator 2000-04-08 01:09:50 +00:00
rogerl%netscape.com e60b5c26e9 Fixed wacky tabs 2000-04-08 01:08:01 +00:00
rogerl%netscape.com d26609534d Added ICodeModule to collect extra info about executable chunks. 2000-04-08 01:04:55 +00:00
beard%netscape.com bda3717ce9 fixed LoadImmediate. 2000-04-08 00:57:28 +00:00
beard%netscape.com 895fa664c4 reindented, introduced gc_map_allocator to hide platform differences 2000-04-08 00:52:59 +00:00
beard%netscape.com 7810a0856a conforming to MSVC++ allocators 2000-04-08 00:48:13 +00:00
rogerl%netscape.com ad01c0a3c9 Re-ordered instructions so destination is always first.
Changed labels to be struct * instead of ints.
2000-04-07 22:19:36 +00:00
rogerl%netscape.com 6b29288692 fix invalid return in GC_free for win32 build 2000-04-07 21:58:33 +00:00
rginda%netscape.com a475c7a48a #if out references to std::iterator to get gcc to compile 2000-04-07 21:11:40 +00:00
beard%netscape.com 89b42085ab printing code in testObjects(). 2000-04-07 04:59:57 +00:00
beard%netscape.com d5333de9ec added code to print SAVE_NAME, NEW_OBJECT, GET_PROP, and SET_PROP iCodes. 2000-04-07 04:58:58 +00:00
beard%netscape.com a1ce56851a JSObject and its elements now allocated using gc_allocator<T> (XP_MAC only). 2000-04-07 04:39:50 +00:00
beard%netscape.com 3f67d58724 JSValues now using gc_allocator (XP_MAC only for now). 2000-04-07 04:38:18 +00:00
beard%netscape.com 2800c15275 added gc library. 2000-04-07 04:36:38 +00:00
beard%netscape.com 22d99fdce4 prebuilt gc library for bootstrapping. 2000-04-07 04:35:14 +00:00
beard%netscape.com ca07212aa6 added stub implementations of GC entry points. 2000-04-07 04:00:21 +00:00
beard%netscape.com d7fa1b7fe2 added failed gc_rebind, for future compilers to ponder. 2000-04-07 03:11:38 +00:00
beard%netscape.com 1a2406676c duh, can't use wide string constants on Linux 2000-04-07 03:08:20 +00:00
beard%netscape.com 26a073ebc4 XP_MAC: no longer auto close upon exit (so we can see asserts, etc.). Renamed testInterpreter() to testFactorial(). Added testObjects(), which allocates an object, stores it in the global variable "global", assigns 0.0 to "global.counter", and finally defines a function "increment" which adds 1.0 to "global.counter" each time it is called. 2000-04-07 02:58:01 +00:00
beard%netscape.com 781aff8cd6 Added preliminary object representation class JSObject, which is simply an STL map<String, JSValue> for now. Changed static globals to be a JSObject (can you say scope chain?). Implemented NEW_OBJECT, GET_PROP, and SET_PROP, all in terms of operations provided by JSObject. No GC (yet). 2000-04-07 02:52:07 +00:00
beard%netscape.com 53882505b5 added forward declaration to class JSObject, and changed void* JSValue.ref to JSObject* JSValue.obj. 2000-04-07 02:47:53 +00:00
beard%netscape.com 59f99c863e fix calls to template superclass for gcc 2000-04-07 02:45:33 +00:00
beard%netscape.com dab8f50344 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
beard%netscape.com 9c646bbafc added newObject(), saveName() and setProperty(). 2000-04-07 02:41:08 +00:00
waldemar%netscape.com 14b0eb8f01 Worked around Visual C++ bugs 2000-04-07 00:47:39 +00:00
beard%netscape.com f973ddc215 needed to qualify isFieldKind 2000-04-07 00:24:42 +00:00
beard%netscape.com bfe503795f adding int to printCharBufferSize 2000-04-07 00:23:33 +00:00
waldemar%netscape.com 56188bfaae Fixed Mac MPW build 2000-04-07 00:06:05 +00:00
waldemar%netscape.com 709bb0562d Made Mac MPW js2 tool work 2000-04-07 00:05:23 +00:00
waldemar%netscape.com 7523109fc4 Added Buffer, BitSet, and implemented Formatters for output 2000-04-06 23:48:05 +00:00
waldemar%netscape.com f9ce82ae8e Implemented Formatters for output 2000-04-06 23:47:33 +00:00
waldemar%netscape.com 5d892e7bf7 Implemented Formatters for output and added parseMember 2000-04-06 23:45:58 +00:00
waldemar%netscape.com 66d8f5244f Fixed syntax errors 2000-04-06 23:43:08 +00:00
waldemar%netscape.com 182fc056f3 Commented out syntax error 2000-04-06 23:40:47 +00:00
rogerl%netscape.com dcbc9904da Changed compare/branch handling to determine last compare opcode.
Made returnStatement a member in ICG.
2000-04-06 22:40:17 +00:00
rginda%netscape.com b4eab2df18 remove +x mode.
Not part of the default build.
2000-04-06 20:27:22 +00:00
beard%netscape.com bed1820c51 Added interpreter.o to build of js2. 2000-04-06 03:05:12 +00:00
beard%netscape.com efcd4404fa cases for SUBTRACT, MULTIPLY, DIVIDE in print(). 2000-04-06 03:02:24 +00:00
beard%netscape.com 6e423dece1 added testInterpreter(), which computes factorial using iCode (woo hoo!) 2000-04-06 02:59:16 +00:00
beard%netscape.com 602bdc5282 more arithmetic, conditional branches, return instruction. 2000-04-06 02:58:22 +00:00
beard%netscape.com a57994c317 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
beard%netscape.com 2901700dc5 added a ref field, changed default constructor to initialize f64. 2000-04-06 02:52:51 +00:00
rogerl%netscape.com 047b74d5c6 Resolved branch targets 2000-04-06 00:04:11 +00:00
beard%netscape.com f1388bf5a6 removed usage of labels (duh) 2000-04-05 23:57:51 +00:00
rogerl%netscape.com d5b0b5bc32 typedef'd instructions 2000-04-05 23:41:58 +00:00
beard%netscape.com 76e3fd2f85 Added default case to avoid warning 2000-04-05 21:26:01 +00:00
beard%netscape.com 528d7eb22f added "globals", labels parameter for branches, combined some Instruction_N<> typedefs. 2000-04-05 20:33:41 +00:00
beard%netscape.com 9a69888729 added labels parameter. 2000-04-05 20:29:09 +00:00
beard%netscape.com 391d9767eb added Instruction::opcode(), and Instruction_N::oN(), and ICodeGenerator::getLabels(). 2000-04-05 20:28:17 +00:00
beard%netscape.com 59cf8293ac moved declaration of lgBasicAlignment & basicAlignment inside the include guard. 2000-04-05 20:26:49 +00:00
rogerl%netscape.com c0c155dec7 added missing semi in win32 case 2000-04-05 18:20:02 +00:00
beard%netscape.com 96f9207cc7 added interpreter.cpp/.h 2000-04-05 18:06:04 +00:00
beard%netscape.com 8a75ea3668 linux fixes 2000-04-05 06:10:53 +00:00
beard%netscape.com ab11ac751b first crack at an icode interpreter 2000-04-05 06:05:57 +00:00
beard%netscape.com 932ecf336b turned off '\n' -> '\r' mapping 2000-04-05 04:25:51 +00:00
beard%netscape.com 2ff22a0e79 backed out "fix" (thanks waldemar) 2000-04-05 04:24:19 +00:00
beard%netscape.com 91135e142e removed newline mapping code (instead using compiler mapping of '\n' to '\r' in literals, which should do the right thing). 2000-04-05 03:57:57 +00:00
beard%netscape.com a5e6536104 added JS2MPW target (non-debug), converted MPW targets to do newline mapping (rather than using explicit override functions). 2000-04-05 03:56:34 +00:00
beard%netscape.com f6728f15b4 removed DEBUG 2000-04-05 03:54:46 +00:00
beard%netscape.com 7562d30003 debug prefix for MPW tool. 2000-04-05 03:54:30 +00:00
beard%netscape.com 8a1dbf5904 now using gc_container<T>. 2000-04-05 02:05:12 +00:00
beard%netscape.com 66bbb0bc4b convenience container types that use the GC_allocator. 2000-04-05 02:03:03 +00:00
beard%netscape.com 86d14fee9a added a comment. 2000-04-05 01:55:14 +00:00
beard%netscape.com 5b21e4b8ec making icode generation test not mutually exclusive with the REPL. 2000-04-05 00:52:47 +00:00
beard%netscape.com 18a631e12e changed to use locally built gc.o library. 2000-04-05 00:50:59 +00:00
beard%netscape.com fbfcf75306 gc configuration file. 2000-04-05 00:50:32 +00:00
beard%netscape.com a6dabb8495 local project to build the gc itself. 2000-04-05 00:50:01 +00:00
beard%netscape.com 540d3fe5d1 Fixing linux build: needed <algorithm> and stub implementations of parseMember, parseNonAssignmentExpression, paraseAssignmentExpression and parseExpression. 2000-04-04 23:58:30 +00:00
waldemar%netscape.com 9989984744 Updated for lexer changes 2000-04-04 21:43:28 +00:00
waldemar%netscape.com 342f045b6d Added insertChars, removed SourcePosition, and reorganized Exception class 2000-04-04 21:42:39 +00:00
waldemar%netscape.com 23152b92cb Added postfix expression parsing. Simplified Reader. 2000-04-04 21:39:59 +00:00
waldemar%netscape.com 8c3ea7467e Updated sprintf call 2000-04-04 21:38:53 +00:00
waldemar%netscape.com a84c5b0547 Updated lexer API 2000-04-04 21:38:25 +00:00
waldemar%netscape.com cf09318769 Reordered files 2000-04-04 21:37:20 +00:00
waldemar%netscape.com b3f0341877 Fixed syntax errors 2000-04-04 21:36:57 +00:00
rogerl%netscape.com 131d10c8ea cleaning up the codestate classes; continue labels 2000-04-04 01:48:35 +00:00
rogerl%netscape.com 3714722cf4 For statements. 2000-04-01 02:53:16 +00:00
rogerl%netscape.com 4c52a939a5 Added do & switch statements, more hacking at the code state thing. 2000-04-01 01:30:32 +00:00
beard%netscape.com 33874b728f fixing a broken header. 2000-03-31 05:47:42 +00:00
rogerl%netscape.com 788fbc5ec8 Changes to CodeState thing, still not happy with this - RTTI would be
better?
2000-03-31 01:54:28 +00:00
beard%netscape.com 6763f39040 making icodegenerator work on Linux 2000-03-31 00:42:25 +00:00
beard%netscape.com b329cb0167 added icodegenerator.cpp 2000-03-31 00:09:24 +00:00
rogerl%netscape.com dd0e354b10 Test driver for icg in main, just a temporary thing 2000-03-29 19:24:07 +00:00
rogerl%netscape.com 4e4f0fd854 First hack at some icode generation. 2000-03-29 19:19:23 +00:00
waldemar%netscape.com c9f5bf1179 Made ifdef _WIN32 uniform 2000-03-22 00:52:06 +00:00
beard%netscape.com de9a3d5b81 Added gctest target, added -lm to get floor() 2000-03-09 02:11:52 +00:00
beard%netscape.com 936efe5b4c oops, commented out gc_types<T>::string. 2000-03-09 01:44:35 +00:00
beard%netscape.com 41c89d932b g++ doesn't provide numeric_limits<T> 2000-03-09 01:35:53 +00:00
beard%netscape.com 5d04d65d6c Cleaning up for GCC 2000-03-09 01:34:57 +00:00
beard%netscape.com ab088f1054 more tests, using safer auto_ptr. 2000-03-07 01:21:53 +00:00
beard%netscape.com 0ea2240645 can't use operator new to allocate containers that use GC_allocator, because the Mac heap zone isn't scanned. 2000-03-02 21:06:36 +00:00
beard%netscape.com 1c54ce1dd3 added gc_traits_finalizable to use GC finalization facilities to call destructors. 2000-03-02 20:58:26 +00:00
waldemar%netscape.com b0856ea797 *** empty log message *** 2000-03-02 03:46:10 +00:00
waldemar%netscape.com e739825b8b Workarounds for VC6 bugs 2000-03-02 03:43:40 +00:00