Commit Graph

300 Commits

Author SHA1 Message Date
beard%netscape.com
129ddf18e9 enabling GC on all platforms 2000-04-13 00:14:23 +00:00
beard%netscape.com
8aba8b4d32 JSActivation, JSFunction 2000-04-11 05:11:58 +00:00
beard%netscape.com
755c2cebf9 Added JSFunction, defineFunction() 2000-04-11 05:10:40 +00:00
beard%netscape.com
43a8442f14 defineFunction, added assert 2000-04-11 05:09:38 +00:00
beard%netscape.com
a1e930178f _Charalloc, deallocate(void*) for _WIN32 only 2000-04-11 04:55:27 +00:00
beard%netscape.com
38c0d29748 defineGlobalProperty 2000-04-11 03:11:47 +00:00
beard%netscape.com
61caef62db 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
7683394fc6 use gc_allocator<T> everywhere, addGlobalProperty -> defineGlobalProperty 2000-04-11 03:07:39 +00:00
beard%netscape.com
bf940ffbab removed commented out GET_PROP/SET_PROP. 2000-04-11 02:59:52 +00:00
beard%netscape.com
4ca0198d48 added gc_object. 2000-04-11 02:59:14 +00:00
beard%netscape.com
bbffbab18d fixing an assert and warnings 2000-04-11 01:10:26 +00:00
rogerl%netscape.com
bb3a13555c CALL opcode & frames etc. (r=beard) 2000-04-11 00:32:17 +00:00
waldemar%netscape.com
4e0864d1c2 Fixed delete/delete[] mismatch 2000-04-10 22:23:17 +00:00
waldemar%netscape.com
58dd2238a6 Fixed memory leak 2000-04-10 22:20:00 +00:00
beard%netscape.com
717ab59840 Fixed warnings about member initializers on Linux. Whatever. 2000-04-08 04:49:41 +00:00
beard%netscape.com
513caa886a Reduced size of args arrays to minimum. 2000-04-08 04:41:19 +00:00
beard%netscape.com
207529a65d 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
65f51d1dc0 JSArray::elements(1), operator[](const JSValue&), fixed register-indexing. 2000-04-08 04:12:28 +00:00
beard%netscape.com
654a3c2f25 Fixed NEW_ARRAY, GET_ELEMENT, SET_ELEMENT printing., 2000-04-08 04:11:16 +00:00
beard%netscape.com
baed85e41a NEW_ARRAY 2000-04-08 03:37:49 +00:00
beard%netscape.com
3a59608302 Reordered GetProp/SetProp operands to base, name. Added NewArray, GetElement, SetElement instructions. 2000-04-08 03:37:18 +00:00
beard%netscape.com
5834a20d81 added JSArray, GET_ELEMENT, SET_ELEMENT, changed some ops to dest/src. 2000-04-08 03:23:44 +00:00
beard%netscape.com
fffdece17c added JSArray, comments. 2000-04-08 02:44:34 +00:00
beard%netscape.com
eecdd6e6fb Changed boilerplate, chmod -x 2000-04-08 02:29:07 +00:00
beard%netscape.com
bd9723a414 converted NotALabel to an enum, so it obeys proper scoping rules. 2000-04-08 02:25:37 +00:00
rogerl%netscape.com
5071a48e76 added interpreter & icodegenerator 2000-04-08 01:09:50 +00:00
rogerl%netscape.com
3e3b3e45fd Fixed wacky tabs 2000-04-08 01:08:01 +00:00
rogerl%netscape.com
4898874939 Added ICodeModule to collect extra info about executable chunks. 2000-04-08 01:04:55 +00:00
beard%netscape.com
365dd176a7 fixed LoadImmediate. 2000-04-08 00:57:28 +00:00
beard%netscape.com
13179cd572 reindented, introduced gc_map_allocator to hide platform differences 2000-04-08 00:52:59 +00:00
beard%netscape.com
cd69e46bec conforming to MSVC++ allocators 2000-04-08 00:48:13 +00:00
rogerl%netscape.com
adb5b77071 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
748a0de92d fix invalid return in GC_free for win32 build 2000-04-07 21:58:33 +00:00
rginda%netscape.com
0bc7ecc593 #if out references to std::iterator to get gcc to compile 2000-04-07 21:11:40 +00:00
beard%netscape.com
545dc2fc59 printing code in testObjects(). 2000-04-07 04:59:57 +00:00
beard%netscape.com
8a93b77fcd 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
0679b2e1cf JSObject and its elements now allocated using gc_allocator<T> (XP_MAC only). 2000-04-07 04:39:50 +00:00
beard%netscape.com
abdc92ce96 JSValues now using gc_allocator (XP_MAC only for now). 2000-04-07 04:38:18 +00:00
beard%netscape.com
1ec7e291c8 added gc library. 2000-04-07 04:36:38 +00:00
beard%netscape.com
eb84a5964f prebuilt gc library for bootstrapping. 2000-04-07 04:35:14 +00:00
beard%netscape.com
34e5ea1801 added stub implementations of GC entry points. 2000-04-07 04:00:21 +00:00
beard%netscape.com
28357888da added failed gc_rebind, for future compilers to ponder. 2000-04-07 03:11:38 +00:00
beard%netscape.com
dee4064778 duh, can't use wide string constants on Linux 2000-04-07 03:08:20 +00:00
beard%netscape.com
deb19d6e30 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
5e0d72e3ce 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
82ea502a7c 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
1c75ce0fa0 fix calls to template superclass for gcc 2000-04-07 02:45:33 +00:00
beard%netscape.com
ec6420f75b 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
b40caf2ec9 added newObject(), saveName() and setProperty(). 2000-04-07 02:41:08 +00:00
waldemar%netscape.com
5e1e49d9bb Worked around Visual C++ bugs 2000-04-07 00:47:39 +00:00
beard%netscape.com
cd193318c5 needed to qualify isFieldKind 2000-04-07 00:24:42 +00:00
beard%netscape.com
cddbf0e5ec adding int to printCharBufferSize 2000-04-07 00:23:33 +00:00
waldemar%netscape.com
c039ba6036 Fixed Mac MPW build 2000-04-07 00:06:05 +00:00
waldemar%netscape.com
7c8bcb9a14 Made Mac MPW js2 tool work 2000-04-07 00:05:23 +00:00
waldemar%netscape.com
e92d0084eb Added Buffer, BitSet, and implemented Formatters for output 2000-04-06 23:48:05 +00:00
waldemar%netscape.com
6e1ee07def Implemented Formatters for output 2000-04-06 23:47:33 +00:00
waldemar%netscape.com
8cc02a37b8 Implemented Formatters for output and added parseMember 2000-04-06 23:45:58 +00:00
waldemar%netscape.com
cd3fd34095 Fixed syntax errors 2000-04-06 23:43:08 +00:00
waldemar%netscape.com
52080f6c74 Commented out syntax error 2000-04-06 23:40:47 +00:00
rogerl%netscape.com
7741726bd9 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
331f034b21 remove +x mode.
Not part of the default build.
2000-04-06 20:27:22 +00:00
beard%netscape.com
774881879c Added interpreter.o to build of js2. 2000-04-06 03:05:12 +00:00
beard%netscape.com
580c9ba5d4 cases for SUBTRACT, MULTIPLY, DIVIDE in print(). 2000-04-06 03:02:24 +00:00
beard%netscape.com
e6900034ca added testInterpreter(), which computes factorial using iCode (woo hoo!) 2000-04-06 02:59:16 +00:00
beard%netscape.com
fb68200586 more arithmetic, conditional branches, return instruction. 2000-04-06 02:58:22 +00:00
beard%netscape.com
c94d749d3f 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
22f7ad270e added a ref field, changed default constructor to initialize f64. 2000-04-06 02:52:51 +00:00
rogerl%netscape.com
a43377758b Resolved branch targets 2000-04-06 00:04:11 +00:00
beard%netscape.com
bb3c0f54a0 removed usage of labels (duh) 2000-04-05 23:57:51 +00:00
rogerl%netscape.com
0e8b29460c typedef'd instructions 2000-04-05 23:41:58 +00:00
beard%netscape.com
f1fef2ea55 Added default case to avoid warning 2000-04-05 21:26:01 +00:00
beard%netscape.com
f8999eeb8f added "globals", labels parameter for branches, combined some Instruction_N<> typedefs. 2000-04-05 20:33:41 +00:00
beard%netscape.com
3e4629d808 added labels parameter. 2000-04-05 20:29:09 +00:00
beard%netscape.com
fab870daa5 added Instruction::opcode(), and Instruction_N::oN(), and ICodeGenerator::getLabels(). 2000-04-05 20:28:17 +00:00
beard%netscape.com
1e6377ccaa moved declaration of lgBasicAlignment & basicAlignment inside the include guard. 2000-04-05 20:26:49 +00:00
rogerl%netscape.com
7925e76257 added missing semi in win32 case 2000-04-05 18:20:02 +00:00
beard%netscape.com
6e3b668298 added interpreter.cpp/.h 2000-04-05 18:06:04 +00:00
beard%netscape.com
d9f7558a70 linux fixes 2000-04-05 06:10:53 +00:00
beard%netscape.com
8283b89064 first crack at an icode interpreter 2000-04-05 06:05:57 +00:00
beard%netscape.com
0b18dd168a turned off '\n' -> '\r' mapping 2000-04-05 04:25:51 +00:00
beard%netscape.com
a8127fa669 backed out "fix" (thanks waldemar) 2000-04-05 04:24:19 +00:00
beard%netscape.com
1da98657a9 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
a1c47ffba5 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
561078ba6b removed DEBUG 2000-04-05 03:54:46 +00:00
beard%netscape.com
7b9a3a6d76 debug prefix for MPW tool. 2000-04-05 03:54:30 +00:00
beard%netscape.com
75fe46e792 now using gc_container<T>. 2000-04-05 02:05:12 +00:00
beard%netscape.com
200888085c convenience container types that use the GC_allocator. 2000-04-05 02:03:03 +00:00
beard%netscape.com
39293204c1 added a comment. 2000-04-05 01:55:14 +00:00
beard%netscape.com
cf49d1a5d6 making icode generation test not mutually exclusive with the REPL. 2000-04-05 00:52:47 +00:00
beard%netscape.com
dde290c866 changed to use locally built gc.o library. 2000-04-05 00:50:59 +00:00
beard%netscape.com
2dec354876 gc configuration file. 2000-04-05 00:50:32 +00:00
beard%netscape.com
a5aa982d30 local project to build the gc itself. 2000-04-05 00:50:01 +00:00
beard%netscape.com
a8a9242fac 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
428084c741 Updated for lexer changes 2000-04-04 21:43:28 +00:00
waldemar%netscape.com
7170168e24 Added insertChars, removed SourcePosition, and reorganized Exception class 2000-04-04 21:42:39 +00:00
waldemar%netscape.com
b620a17caf Added postfix expression parsing. Simplified Reader. 2000-04-04 21:39:59 +00:00
waldemar%netscape.com
ac3d51ea23 Updated sprintf call 2000-04-04 21:38:53 +00:00
waldemar%netscape.com
143e65e71e Updated lexer API 2000-04-04 21:38:25 +00:00
waldemar%netscape.com
2b53fb6a68 Reordered files 2000-04-04 21:37:20 +00:00
waldemar%netscape.com
cc9ba4e5b0 Fixed syntax errors 2000-04-04 21:36:57 +00:00
rogerl%netscape.com
fcd2e813a5 cleaning up the codestate classes; continue labels 2000-04-04 01:48:35 +00:00
rogerl%netscape.com
b8da7521e4 For statements. 2000-04-01 02:53:16 +00:00
rogerl%netscape.com
f4b33493b8 Added do & switch statements, more hacking at the code state thing. 2000-04-01 01:30:32 +00:00
beard%netscape.com
dff6633c76 fixing a broken header. 2000-03-31 05:47:42 +00:00
rogerl%netscape.com
820c2dd375 Changes to CodeState thing, still not happy with this - RTTI would be
better?
2000-03-31 01:54:28 +00:00
beard%netscape.com
8d72166d5d making icodegenerator work on Linux 2000-03-31 00:42:25 +00:00
beard%netscape.com
5894b78c53 added icodegenerator.cpp 2000-03-31 00:09:24 +00:00
rogerl%netscape.com
a0dcea4077 Test driver for icg in main, just a temporary thing 2000-03-29 19:24:07 +00:00
rogerl%netscape.com
98ade2a277 First hack at some icode generation. 2000-03-29 19:19:23 +00:00
waldemar%netscape.com
bc5679269d Made ifdef _WIN32 uniform 2000-03-22 00:52:06 +00:00
beard%netscape.com
3578deece1 Added gctest target, added -lm to get floor() 2000-03-09 02:11:52 +00:00
beard%netscape.com
f890b439c5 oops, commented out gc_types<T>::string. 2000-03-09 01:44:35 +00:00
beard%netscape.com
5f33cd841d g++ doesn't provide numeric_limits<T> 2000-03-09 01:35:53 +00:00
beard%netscape.com
52c6a7f379 Cleaning up for GCC 2000-03-09 01:34:57 +00:00
beard%netscape.com
83b2bf90b7 more tests, using safer auto_ptr. 2000-03-07 01:21:53 +00:00
beard%netscape.com
8875ed1f5c 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
e6d16f593a added gc_traits_finalizable to use GC finalization facilities to call destructors. 2000-03-02 20:58:26 +00:00
waldemar%netscape.com
a07f1abdee *** empty log message *** 2000-03-02 03:46:10 +00:00
waldemar%netscape.com
3abb50f20b Workarounds for VC6 bugs 2000-03-02 03:43:40 +00:00
waldemar%netscape.com
31bb7ef286 Added Visual C++ workspace 2000-03-02 02:06:40 +00:00
waldemar%netscape.com
9c407890b0 *** empty log message *** 2000-03-02 02:02:58 +00:00
waldemar%netscape.com
ad182ae0cb Visual C++ version 2000-03-02 01:54:49 +00:00
waldemar%netscape.com
130574d5ec File Removed. 2000-03-01 23:24:20 +00:00
waldemar%netscape.com
144c5973df First Checked In. 2000-03-01 23:24:19 +00:00
waldemar%netscape.com
5afe7c41b7 Added parser output classes 2000-03-01 07:00:31 +00:00
waldemar%netscape.com
cc161a3dad Added linked list and arena destructor utilities 2000-03-01 07:00:05 +00:00
beard%netscape.com
6a76191c91 gc_traits used to control whether a type is allocated using GC_malloc vs. GC_malloc_atomic. 2000-02-29 16:03:24 +00:00
beard%netscape.com
c2f0490a2b gc_allocator test 2000-02-29 16:01:57 +00:00
beard%netscape.com
5748379d82 allocator for garbage collection 2000-02-29 01:48:02 +00:00
waldemar%netscape.com
0fca92837a Work on adding parser 2000-02-23 01:54:30 +00:00
waldemar%netscape.com
fdd3317995 Added .h files to project 2000-02-23 01:53:08 +00:00
waldemar%netscape.com
aa5e162709 Fixed non-DEBUG warning 2000-02-23 01:51:44 +00:00
waldemar%netscape.com
1385512113 Added arenas 2000-02-23 01:40:48 +00:00
waldemar%netscape.com
db41e85aa9 Backed out extraneous change 2000-02-21 19:52:47 +00:00
waldemar%netscape.com
ffbd92eb71 Added x86 gcc support 2000-02-21 19:49:21 +00:00
waldemar%netscape.com
2b2ab50498 Added debug flags 2000-02-21 19:48:45 +00:00
waldemar%netscape.com
fe36f6f9bc Unix makefile 2000-02-19 10:03:07 +00:00
waldemar%netscape.com
51fdaf2000 Updated for GCC 2000-02-19 10:01:53 +00:00
waldemar%netscape.com
1604239c48 Fixed signed/unsigned warning 2000-02-19 09:32:45 +00:00
waldemar%netscape.com
46af6a2ba4 Fixed GCC incompatibilities 2000-02-19 09:26:59 +00:00
waldemar%netscape.com
c1057de79c Fixed bug 2000-02-05 00:39:58 +00:00
waldemar%netscape.com
97ff1329f4 Fixed & bugs 2000-02-04 23:54:29 +00:00
waldemar%netscape.com
ed715c8685 Fixed syntax error 2000-02-04 23:54:08 +00:00
waldemar%netscape.com
c1326568e6 VC6 project and workspace 2000-02-03 08:27:00 +00:00
waldemar%netscape.com
aef6520d4d Updated for VC6 2000-02-03 08:25:01 +00:00
waldemar%netscape.com
445e9926e4 Turned off optimizations and inlining in debug build 2000-02-02 08:51:16 +00:00
waldemar%netscape.com
b82ff40e5d Changed to match parser.h 2000-02-02 08:50:54 +00:00
waldemar%netscape.com
0639e1baad Added ArrayAutoPtr and reworked cstring -> String conversions 2000-02-02 08:50:26 +00:00
waldemar%netscape.com
94a4726044 Added parsing of numerals and token printing 2000-02-02 08:48:40 +00:00
waldemar%netscape.com
3f3536ec17 Cleaned up and added String routines 2000-02-02 08:47:54 +00:00