Commit Graph

410 Commits

Author SHA1 Message Date
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