Commit Graph

583 Commits

Author SHA1 Message Date
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
rginda%netscape.com
0d5e50344a initial add of perl script to generate icode classes 2000-04-18 00:22:51 +00:00
rginda%netscape.com
17ec7b0f1a removing bogus file 2000-04-18 00:20:10 +00:00
rginda%netscape.com
501e880dcc adding files for namespace change 2000-04-18 00:19:09 +00:00
rginda%netscape.com
f8d4b9c989 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
8cdd6bce1b FASTLOCK changes. 2000-04-17 23:58:28 +00:00
beard%netscape.com
2abecb9b3f gc_base now used as common base class of GC allocated objects. 2000-04-13 04:54:41 +00:00
beard%netscape.com
3ee95dbd9c added gc_base, which defines a more generic operator new(). 2000-04-13 04:53:56 +00:00
beard%netscape.com
a011ebff90 builds gc 2000-04-13 00:37:00 +00:00
beard%netscape.com
926ba002f5 Added gc_allocator.h to project and gc.lib to link against. 2000-04-13 00:28:40 +00:00
beard%netscape.com
f1a26f0ae3 linking in gc.lib from ../../gc/boehm 2000-04-13 00:16:58 +00:00
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
5afe7c41b7 Added parser output classes 2000-03-01 07:00:31 +00:00