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