Commit Graph

941 Commits

Author SHA1 Message Date
rogerl%netscape.com
dca0647bab Adding xmlparser stuff 2000-10-19 22:34:23 +00:00
beard%netscape.com
a85ec92774 More const String& happiness. 2000-10-19 03:37:02 +00:00
beard%netscape.com
1352d297a2 const String& to soothe g++ 2000-10-19 03:33:51 +00:00
beard%netscape.com
6561f9adaf Fixing linux breakage, incorrect constructor name. 2000-10-19 03:32:23 +00:00
rginda%netscape.com
05f1f7e5e5 made (most) parse*operand functions do the right thing... the rest choke for now. 2000-10-19 00:03:12 +00:00
rogerl%netscape.com
68b8fcce5f More warning whining. 2000-10-19 00:02:37 +00:00
rogerl%netscape.com
216cd29273 Quiet warnings 2000-10-18 23:55:47 +00:00
rogerl%netscape.com
274ac67b4a Added icodeasm & xmlparser to build 2000-10-18 23:46:39 +00:00
rogerl%netscape.com
7806a764aa Added XMLparsing to load a class. Fixed handling of forward references to
class methods/fields.
2000-10-18 23:37:44 +00:00
rginda%netscape.com
f983d862e9 making argument name optional in argumetlists 2000-10-18 22:01:17 +00:00
rginda%netscape.com
2662739c56 waugh, "..." isn't supported on windows. Added full icode map generated by the new perl script. Added a comment character to the assembler, and required newlines after instructions. 2000-10-18 20:44:14 +00:00
rginda%netscape.com
83ad281615 adding genmap.pl to generate the icode map 2000-10-18 20:41:03 +00:00
rginda%netscape.com
80d2831bce fixed testcase and icodemap size 2000-10-18 04:33:54 +00:00
rginda%netscape.com
8d5c21f096 whee! the parse "tree" minimally "works" 2000-10-18 03:12:42 +00:00
rginda%netscape.com
9a4a9a865d more icodeasm work... parse "tree" is finally testable... it might even work. 2000-10-18 01:02:13 +00:00
rginda%netscape.com
ab377fd783 working in labels 2000-10-17 08:02:16 +00:00
rginda%netscape.com
169089589e icode assembler changes 2000-10-17 00:41:54 +00:00
rginda%netscape.com
6a0f4f16a9 guess what? yep, more icode asm hacking. 2000-10-14 00:06:42 +00:00
rginda%netscape.com
074349e52d adding some comments 2000-10-12 23:59:25 +00:00
rginda%netscape.com
f74b1d34dd icode assembler still in progress 2000-10-12 23:58:51 +00:00
rginda%netscape.com
cdb2f4b71c move # to first column for Very Lame Compilers. 2000-10-12 23:58:30 +00:00
rginda%netscape.com
a7476e025b more icodeasm hacks 2000-10-12 07:55:13 +00:00
rginda%netscape.com
fad36a7a42 more hacking (flailing, maybe) on the icode assembler 2000-10-12 01:32:01 +00:00
rginda%netscape.com
8cf3b758ad initial checkin of simple query script for the icode hash 2000-10-12 01:31:33 +00:00
rginda%netscape.com
efb89b56d0 initial checkin of icode assembler 2000-10-11 02:44:14 +00:00
rginda%netscape.com
a5b6788b8d seperate icode hash into module 2000-10-11 02:42:39 +00:00
waldemar%netscape.com
7d5f2e430b Added s flag 2000-10-11 02:28:13 +00:00
waldemar%netscape.com
bdc17dc404 Changed classof x to x.class. Removed eval. Made include be a non-reserved word. Changed syntax of import to allow an automatic use of selected namespaces. 2000-10-10 02:49:34 +00:00
waldemar%netscape.com
98479bac77 Removed "eval" and "include" keywords 2000-10-10 02:48:17 +00:00
rogerl%netscape.com
1db3618a98 Mods for getter/setter methods. 2000-10-09 22:21:26 +00:00
waldemar%netscape.com
ec904909e9 Added void and classof operators 2000-09-24 06:08:53 +00:00
waldemar%netscape.com
4e0482b40b Made implements clauses js2-only 2000-09-23 08:15:06 +00:00
waldemar%netscape.com
e020824d43 Major revisions for Sep 18 and 21 language changes 2000-09-22 08:16:22 +00:00
waldemar%netscape.com
20e9a49178 Removed "constructor" keyword 2000-09-22 08:14:56 +00:00
rogerl%netscape.com
6a6ec06924 Cleanup warning fix. 2000-09-19 20:56:49 +00:00
rogerl%netscape.com
6f4f3db7ad Fixed warnings for gcc build. 2000-09-19 20:35:05 +00:00
beard%netscape.com
7cfe830e81 Fixing scope problems on Linux 2000-09-12 00:53:33 +00:00
waldemar%netscape.com
1a342812e7 Renamed target files 2000-09-11 23:49:53 +00:00
rogerl%netscape.com
9538af446c Removed unnecessary arg. from Call instruction. 2000-09-11 22:11:55 +00:00
rogerl%netscape.com
e9324adac8 Added getter/setter for names. 2000-09-11 22:10:44 +00:00
waldemar%netscape.com
a6d92aa305 Added support for highlights. Made @ operator js2-only. 2000-09-09 02:15:37 +00:00
waldemar%netscape.com
dc4e188aea Updated to correspond to js2 site 2000-09-09 02:15:06 +00:00
waldemar%netscape.com
8f752abf38 Added support for highlights. 2000-09-09 02:14:35 +00:00
beard%netscape.com
61de6a40df All JSValue constructors are explicit. 2000-09-08 01:16:03 +00:00
rogerl%netscape.com
64cc59fc91 Added Branch_initialized for argument handling. 2000-09-07 19:23:24 +00:00
rogerl%netscape.com
091e41c301 Named arguments. 2000-09-07 19:22:59 +00:00
rogerl%netscape.com
18ad1c2378 Named arguments 2000-09-07 19:22:13 +00:00
rogerl%netscape.com
84fe8782a2 copy non-named args through 2000-09-06 02:17:47 +00:00
rogerl%netscape.com
6484d2a821 fix for redundancy 2000-09-06 02:17:18 +00:00
rogerl%netscape.com
7383f26d6a Fix for empty function body 2000-09-06 02:16:51 +00:00
rogerl%netscape.com
b98c866d6f Switch from RegisterList to ArgumentList to handle named args.
Optional & rest parameter support.
2000-09-02 01:01:41 +00:00
rogerl%netscape.com
60221db240 Optional and rest parameters.
Named arguments (just begun).
2000-09-02 01:01:04 +00:00
rogerl%netscape.com
d7c5abb056 Fixed printOperands to handle <NaR> 2000-08-23 01:07:19 +00:00
rogerl%netscape.com
934c77a9b2 Fixed printOperand to handle <NaR> properly. Added missing 'return this' to
all constructors.
2000-08-23 01:06:52 +00:00
waldemar%netscape.com
8d725f1e58 Added arguments to attributes; made 'use', 'namespace', and 'constructor' into keywords and simplified resulting grammar; merged attribute definitions into const definitions; made eval use function call syntax; renamed 'language' to 'use'. 2000-08-22 04:31:37 +00:00
waldemar%netscape.com
37c88b80da Added \Q escape 2000-08-22 04:29:34 +00:00
waldemar%netscape.com
89765d999d Added line-break constraint 2000-08-22 04:29:01 +00:00
waldemar%netscape.com
b9ffa39439 Made terminal constraint error message more detailed 2000-08-22 04:28:01 +00:00
waldemar%netscape.com
fec02531da Updated to generate Netscape 6-compatible HTML 2000-08-11 06:27:55 +00:00
waldemar%netscape.com
7a3bd65ac3 Added attributes to for-initializers and no-line-breaks in a few places 2000-08-11 06:27:25 +00:00
waldemar%netscape.com
d955e75027 Updated to match documentation site 2000-08-11 06:24:57 +00:00
waldemar%netscape.com
b7c2380049 Updated to match styles.css on documentation site 2000-08-11 06:24:39 +00:00
rogerl%netscape.com
e8f1a9e20c Added 'static' to global object routines. 2000-08-04 20:54:24 +00:00
rogerl%netscape.com
67730faf1f Oops. Left icode output on by default, now off. 2000-08-04 20:37:42 +00:00
rogerl%netscape.com
0013224436 Prototype munging for built-in global properties, implemented Function
object & Boolean object.
2000-08-04 20:28:35 +00:00
waldemar%netscape.com
9e38333da6 Made link order consistent 2000-08-02 23:09:53 +00:00
waldemar%netscape.com
8941a10acb Fixed Mac errors and warnings 2000-08-02 23:09:29 +00:00
beard%netscape.com
e2d1e94396 fixing warnings, removing need for JStrings to be copied for mClass 2000-08-02 03:53:04 +00:00
rginda%netscape.com
80b337ffd6 shut up "unused param" warnings by only naming the register param if the icode uses a RegisterList operand. 2000-07-29 02:00:12 +00:00
rogerl%netscape.com
9cb37bc8c8 Function prototype objects etc. 2000-07-26 01:56:47 +00:00
rogerl%netscape.com
c30779b359 More ECMA 3 mucking about to support constructors etc. 2000-07-25 22:58:04 +00:00
beard%netscape.com
583d45e258 added jsmath.cpp/h 2000-07-21 05:07:29 +00:00
beard%netscape.com
90c948a47a XML project file. 2000-07-21 05:07:05 +00:00
beard%netscape.com
eec51fa4ce update dependencies to include jsmath.o 2000-07-21 05:01:10 +00:00
beard%netscape.com
94888cdb78 add jsmath.cpp to the build. 2000-07-21 05:00:43 +00:00
beard%netscape.com
b955eb7e09 scope of loop variables fix 2000-07-21 05:00:10 +00:00
rogerl%netscape.com
84455b51d9 Implementing Object.prototype object and global object for ECMA 3
Adding Math class support.
2000-07-21 01:16:49 +00:00
rogerl%netscape.com
06f0a5261f Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.
2000-07-18 20:53:03 +00:00
beard%netscape.com
a5ef09a1a6 cleaned up by removing widenCString() calls when using world.identifiers 2000-07-17 20:39:19 +00:00
rginda%netscape.com
950d90e264 removing bogus assert (per rogerl) 2000-07-15 00:01:25 +00:00
beard%netscape.com
96e8363f86 added operator[](const char*) to StringAtomTable. 2000-07-14 23:10:02 +00:00
rogerl%netscape.com
3def89ee0d Fixed slots for non-function vars, plus bug in slot xcrement. 2000-07-14 22:23:20 +00:00
rogerl%netscape.com
0d866e25b5 Backed out time() 2000-07-14 01:46:14 +00:00
rogerl%netscape.com
23e9d7c1c8 Type targetted binary operators.
Added 'time()' function as native.
2000-07-14 01:00:53 +00:00
beard%netscape.com
89608ef140 need <stdio.h> for fopen on the Mac. 2000-07-13 02:23:55 +00:00
beard%netscape.com
60feb5d1fd fixing readEvalFile to save off important Context data members. implemented identical_Default for string 2000-07-13 01:35:57 +00:00
beard%netscape.com
e9a25e0a62 fixing readEvalFile() by creating another Context 2000-07-13 00:44:30 +00:00
rogerl%netscape.com
58dc7e47b7 Switching to generic binary operator in order to distinguish situation
where Operators package had been loaded and be able to generate typed
versions of the binary operators otherwise.
2000-07-13 00:14:54 +00:00
rogerl%netscape.com
b8bd1adb30 Implemented Import -only it's not in the parser yet.
Added missing defineXXX functions.
2000-07-11 23:49:20 +00:00
rginda%netscape.com
3a02396fda cleaned up linux warnings, minor debugger tweaks 2000-07-11 23:08:03 +00:00
rogerl%netscape.com
774d010635 More on @ operator. Fixed R 4billion print bug. 2000-07-11 20:54:06 +00:00
rogerl%netscape.com
087d2475a7 Some parts of x@<name> working. 2000-07-10 23:18:07 +00:00
rogerl%netscape.com
daba9186aa Support for 'constructor'. 2000-07-08 01:08:29 +00:00
rogerl%netscape.com
1375151969 Removed preprocess step, consolidated identifier handling. 2000-07-06 18:26:26 +00:00
beard%netscape.com
0eeae607ae Fix build bustage. 2000-06-29 18:40:58 +00:00
rogerl%netscape.com
fd98adafce use handleDot for call, too. 2000-06-29 18:30:47 +00:00
beard%netscape.com
8f5fea173e delete property support. 2000-06-29 18:14:14 +00:00
beard%netscape.com
a4c5f704f4 DELETE_PROP 2000-06-29 18:13:46 +00:00
beard%netscape.com
7a6367c583 DELETE_PROP 2000-06-29 17:14:56 +00:00
beard%netscape.com
11134b4173 added DELETE_PROP instruction to implement the "delete" operation. 2000-06-29 17:11:50 +00:00
beard%netscape.com
97dfdc5f04 unused parameter warning 2000-06-29 05:48:09 +00:00
beard%netscape.com
8f4cadb250 complementary operator delete(void*, JSClass*). 2000-06-29 05:46:36 +00:00
beard%netscape.com
8891b0c7ba some classes to test js2 with. 2000-06-29 04:49:48 +00:00
beard%netscape.com
8da0055bc5 updated dependencies 2000-06-29 04:25:10 +00:00
beard%netscape.com
074f981eb4 Changed StaticCall to use static slot. 2000-06-29 04:23:56 +00:00
beard%netscape.com
b202adfd39 Fixing static dotted expressions. 2000-06-29 04:23:20 +00:00
beard%netscape.com
7a512866fd now uses conditional compilation #if defined(OPCODE_NAMES), so that a simple "icode.h" can be included by vmtypes.h and vmtypes.cpp. 2000-06-29 04:21:00 +00:00
beard%netscape.com
486b437613 moved all machine generated classes, etc. to icode.h. 2000-06-29 04:19:19 +00:00
beard%netscape.com
2a451cdd8b Generated by tools/gencode.pl. 2000-06-29 04:18:16 +00:00
beard%netscape.com
640ba6e24c fixed static calls. 2000-06-29 03:15:52 +00:00
rogerl%netscape.com
63744d7c1c Implicit this and class lookup stuff. 2000-06-29 01:21:41 +00:00
beard%netscape.com
237dd352ed implemented JSClass::printProperties(). 2000-06-28 19:46:13 +00:00
beard%netscape.com
9930edd0d5 Enhanced printing of types. 2000-06-28 19:45:44 +00:00
beard%netscape.com
c0e9f6d274 Type of a JSType* is Type_Type (wow, recursive). Changed mBaseType to be JSType* instead of const JSType*. 2000-06-28 19:45:09 +00:00
rogerl%netscape.com
52bffdadcf First set of unified 'dot' handling changes for statics. 2000-06-28 18:41:30 +00:00
beard%netscape.com
d40b8dd8cb added jsclasses.h 2000-06-28 18:10:04 +00:00
beard%netscape.com
941b505765 Fix string <. 2000-06-28 16:38:20 +00:00
beard%netscape.com
d9bf640477 Fixed dynamic lookup of static slots. Added code to compare strings. 2000-06-28 16:32:52 +00:00
beard%netscape.com
b1350d87b6 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Implemented GET_PROP/SET_PROP for class objects (looks up slot dynamically, etc.) 2000-06-28 16:15:06 +00:00
beard%netscape.com
866b5d3d8d GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Now using JSClass::hasStatic() rather than looking up statics in class' scope. 2000-06-28 16:14:18 +00:00
beard%netscape.com
8132734212 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. 2000-06-28 16:13:12 +00:00
beard%netscape.com
970477555f Static slots. 2000-06-28 16:11:54 +00:00
beard%netscape.com
2b1351cc3b Win-specific operator== noise. 2000-06-27 03:52:56 +00:00
beard%netscape.com
4873ce7882 Fixed unitialized static class members. 2000-06-27 03:43:40 +00:00
beard%netscape.com
7b2b4a1e2f addSlot -> defineSlot, added defineStatic. 2000-06-27 03:42:42 +00:00
beard%netscape.com
74e8d0a780 Fixed type management. 2000-06-27 03:21:33 +00:00
rogerl%netscape.com
fbdb3fe1c1 lots of stuff me and Patrick did 2000-06-27 02:39:32 +00:00
beard%netscape.com
965f10e915 JSValue::operator==: added CASE(type) to fix warning. 2000-06-26 17:47:07 +00:00
beard%netscape.com
f276cc3dfd added JSObject::deleteProperty(), and changed mName in JSType to be a JSString. Need to revisit other uses of String soon. 2000-06-26 17:42:20 +00:00
beard%netscape.com
07dff8c5d1 simplified string addition 2000-06-26 17:25:25 +00:00
beard%netscape.com
fef138fae2 defined JSStringBase, and constructors from in JSString 2000-06-26 17:24:57 +00:00
beard%netscape.com
769d11bcbf String addition: don't share structure with LHS. 2000-06-26 17:09:27 +00:00
beard%netscape.com
45301bb589 added constructor from JSString&. 2000-06-26 16:55:01 +00:00
beard%netscape.com
3a78e14938 Reset register usage after generating each initializer statement. 2000-06-26 15:19:45 +00:00
beard%netscape.com
714e109074 Simplified NEW_CLASS, using a single do .. while loop, introducing nextPC instruction iterator to simplify initial case. now calls all defined constructors. 2000-06-26 15:06:36 +00:00
beard%netscape.com
07d6ee2613 Only call non-null constructors. 2000-06-25 17:04:38 +00:00
beard%netscape.com
40e53d46ea Conditionally set constructor, if it has any instructions. 2000-06-25 17:04:01 +00:00
beard%netscape.com
21f549896a updated dependencies 2000-06-25 16:44:29 +00:00
beard%netscape.com
d6c6cc31bb check for non-null superClass 2000-06-25 16:43:25 +00:00
beard%netscape.com
5d311184e2 hooked up superClass' scope as the prototype of a class's scope, to do method inheritance, removed bogus JSInstance::getSlotCount(), which overcounted slots. 2000-06-25 16:35:33 +00:00
beard%netscape.com
728580c6f8 Added calls to superClass constructors. 2000-06-24 22:42:43 +00:00
beard%netscape.com
e41bd745dd JSInstance::getSlotCount() no longer recursive. 2000-06-24 22:42:15 +00:00
beard%netscape.com
7b76b9503a Beginning support for superclass slots. 2000-06-24 22:07:00 +00:00
beard%netscape.com
36eef7adea Added emptyArgs, removed unused return value in readEvalFile 2000-06-24 05:42:51 +00:00
beard%netscape.com
a6493add9f enable RTTI 2000-06-24 05:36:52 +00:00
beard%netscape.com
b877fde64f VC++ doesn't like local classes in templates. 2000-06-24 05:36:09 +00:00
beard%netscape.com
c5298ced1d major surgery to enable the "load()" native function. 2000-06-24 05:25:33 +00:00
beard%netscape.com
46c0a7c5a8 Experiment with looking up methods in the prototype chain. 2000-06-24 05:22:23 +00:00
beard%netscape.com
c337fff76a Always use the target object, regardless of where a method property is found along the prototype chain. 2000-06-24 05:21:49 +00:00
beard%netscape.com
8558f071a4 When generating a reference to "this" use the current code generator's mClass when appropriate. 2000-06-24 05:21:03 +00:00
rginda%netscape.com
486d1cc51a fixing source stepping (opcode stepping to come back later)
debugger is now quiet by default.
2000-06-24 02:53:29 +00:00
beard%netscape.com
27b088f22a Removed JSType::isClassType(). 2000-06-24 02:51:34 +00:00
beard%netscape.com
565b0389db Added JSClass::get/setConstructor(). 2000-06-24 02:51:03 +00:00
beard%netscape.com
9fd0505086 Added call to constructor when executing NEW_CLASS. 2000-06-24 02:50:23 +00:00
beard%netscape.com
47638a00c7 Generating default constructor to run slot initializers. 2000-06-24 02:49:45 +00:00
beard%netscape.com
146e187c7b testCompile() is static 2000-06-24 01:04:58 +00:00
rogerl%netscape.com
e497a7809f typing 'this' 2000-06-24 01:02:34 +00:00
rogerl%netscape.com
432c8b3cdc Got newClass working, added printProperties for instances, some slot
stuff is happening.
2000-06-24 00:50:59 +00:00
beard%netscape.com
f304229d7f added NEW_CLASS instruction, to instantiate classes. 2000-06-23 23:49:48 +00:00
beard%netscape.com
35b239cd47 added NEW_CLASS instruction. 2000-06-23 23:49:17 +00:00
rogerl%netscape.com
e939fbddc4 Adding slot handling to code gen. 2000-06-23 23:43:24 +00:00
beard%netscape.com
841b79b5eb added NEW_CLASS instruction. 2000-06-23 23:41:27 +00:00
beard%netscape.com
da108e7b96 Added JSClass::hasSlot, getSlotCount(), and JSInstance. 2000-06-23 23:25:55 +00:00
beard%netscape.com
9f413f408b JSValue::type now JSType* instead of const JSType*, all predefined JSType objects no longer const as well. 2000-06-23 23:25:14 +00:00
rogerl%netscape.com
89515e83dc Removed FUNCTION instruction, other class related junk. 2000-06-23 22:53:09 +00:00
rginda%netscape.com
da45d9b0eb Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing 2000-06-23 22:27:17 +00:00
rogerl%netscape.com
ea920b48c8 Add return statement if the function doesn't end with one 2000-06-23 21:20:03 +00:00
beard%netscape.com
da19218b3e added assertion to ensure that mPC is always valid before fetching the next instruction. 2000-06-23 06:10:14 +00:00
beard%netscape.com
95adc8b187 Additional JSClass processing: defining slots, generating methods. 2000-06-23 05:13:04 +00:00
beard%netscape.com
ca9001f387 When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared. 2000-06-23 05:10:46 +00:00
beard%netscape.com
6ccb94e600 A JSClass is a JSType now, and has a JSScope. Added addSlot, getSlot, getScope. 2000-06-23 05:09:37 +00:00
beard%netscape.com
dee62b8d67 remove unused file. 2000-06-23 04:10:04 +00:00
beard%netscape.com
f7c44fcf6f putting the JSClass* in the current global scope, and looking up superclass rereferences. 2000-06-23 02:22:55 +00:00
rogerl%netscape.com
33c9eb064a Added support for 'debugger' as a statement. (Rob made me) 2000-06-23 00:08:10 +00:00
beard%netscape.com
5ee7d6da77 JSClass support. 2000-06-21 23:58:17 +00:00
beard%netscape.com
124280ce07 initial checkin, starting on a representation for JS2 classes. 2000-06-21 23:57:09 +00:00
rogerl%netscape.com
f2591282dc Work to support 'this'. 2000-06-21 22:32:21 +00:00
rogerl%netscape.com
27e254fee3 Changed use of Register to TypedRegister throughout. 2000-06-20 22:45:45 +00:00
rogerl%netscape.com
8a71a568af Support for TypedRegister 2000-06-20 22:44:46 +00:00
rogerl%netscape.com
a8a18e9d21 Added tests for scripts as strings. 2000-06-16 01:37:47 +00:00
rogerl%netscape.com
ecd0d99e85 Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
670a8310fb Fixed spelling. 2000-06-16 01:35:25 +00:00
rogerl%netscape.com
b2f3dff014 Added op= support. 2000-06-15 16:03:54 +00:00
rogerl%netscape.com
c354e43376 Mark top-level execution as 'script' rather than function - to handle
vars correctly.
2000-06-14 23:28:38 +00:00
rogerl%netscape.com
5762b34619 Added 'Function' instruction, plus suppresses class output if there is
no super specified. (ok it's a hack, but it works)
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
6526fedd31 Adding support for Functions and Vars, preXcrement, object literals. 2000-06-14 23:26:15 +00:00
waldemar%netscape.com
2166c80bec Added parsing and printing of classes, interfaces, and namespaces 2000-06-02 04:35:44 +00:00
waldemar%netscape.com
767f3c1669 Widened default line width to 30 2000-06-01 03:31:17 +00:00
waldemar%netscape.com
5c440a5bc5 Added function and constructor parsing and printing; fixed printing of blocks, compound statements, and :: 2000-06-01 03:30:58 +00:00
waldemar%netscape.com
ebbccfd9f8 Added two-argument linearBreak 2000-06-01 03:30:19 +00:00
rogerl%netscape.com
4e3dcc082c Removed old branches, changed offset printing to handle NULL operand. 2000-05-26 22:35:36 +00:00
rogerl%netscape.com
565b842243 Update to new icg constructor etc. 2000-05-26 22:34:42 +00:00
rogerl%netscape.com
573531b249 Statement fun 2000-05-26 22:33:05 +00:00
waldemar%netscape.com
bd3b79569c Added var, const, and for statements 2000-05-26 06:20:11 +00:00
waldemar%netscape.com
cec8a6816d Fixed case/default indenting 2000-05-24 02:18:57 +00:00
rogerl%netscape.com
39ebb9c8d8 Codegen for statements. Blew off old statement API and most of the test
functions for now, sorry.
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
d4e4f10d14 Turned on statement parsing and printing 2000-05-24 01:51:32 +00:00
waldemar%netscape.com
c970639ae9 Added statement parsing 2000-05-24 01:51:20 +00:00
waldemar%netscape.com
fe6fac7c85 Added using std::fmod declaration 2000-05-24 00:55:23 +00:00
waldemar%netscape.com
389625522b Fixed Mac warning 2000-05-24 00:54:56 +00:00
waldemar%netscape.com
bdd3276507 Fixed Mac warnings 2000-05-24 00:54:40 +00:00
waldemar%netscape.com
0765893319 Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word 2000-05-24 00:54:28 +00:00
rginda%netscape.com
b71c85c7dc apparently windows is too 2000-05-23 00:15:06 +00:00
rginda%netscape.com
27345b3bb3 linux is so picky 2000-05-23 00:13:48 +00:00
rogerl%netscape.com
709d6c75d9 COMPARE_GT etc are gone. 2000-05-23 00:09:44 +00:00
rogerl%netscape.com
8dc4133f96 Fall out from operator overloading. 2000-05-23 00:09:02 +00:00
rogerl%netscape.com
932d63213b Added operator overloading support 2000-05-23 00:08:29 +00:00
rginda%netscape.com
6fa16759c6 quieting linux warnings and fixing build bustage 2000-05-22 21:05:35 +00:00
rogerl%netscape.com
408e469b4b Playing with operator overloading & Type types. 2000-05-19 17:41:10 +00:00
beard%netscape.com
091146e0f7 fix const cast away linux breakage 2000-05-19 05:38:29 +00:00
rogerl%netscape.com
79201b942d Bunch o' expression ops. 2000-05-18 00:04:15 +00:00
rogerl%netscape.com
477b9aecd9 Moved genExpr to ICodeGenerator - added most expression ops. 2000-05-18 00:03:23 +00:00
rogerl%netscape.com
f38a2dd543 Moved genExpr to ICodeGenerator 2000-05-18 00:01:33 +00:00
beard%netscape.com
aa18b202a8 ensuring both arguments to max are the same type 2000-05-16 22:23:15 +00:00
beard%netscape.com
312fe40643 fix for linux bustage 2000-05-13 02:14:52 +00:00
waldemar%netscape.com
e4b1d1c7b0 Simplified grammar without changing syntax 2000-05-13 00:18:56 +00:00
waldemar%netscape.com
1038627ac0 Fixed ?: parsing bug and pretty-printing offsets 2000-05-12 05:39:28 +00:00
waldemar%netscape.com
e0d60183af Fixed build flags 2000-05-12 05:16:08 +00:00
waldemar%netscape.com
4332726ebb Fixed parser errors 2000-05-12 05:15:52 +00:00
waldemar%netscape.com
87e3817578 Worked around Visual C++ problem 2000-05-12 05:15:17 +00:00
waldemar%netscape.com
6f509ed95c Interchanged linearBreak and fillBreak 2000-05-12 03:43:35 +00:00
waldemar%netscape.com
0a6fc9df09 Turned on expression parsing and printing 2000-05-12 03:26:43 +00:00
waldemar%netscape.com
66582beffd Added expression parsing and printing code 2000-05-12 03:26:24 +00:00
waldemar%netscape.com
f240e58708 Added RawArrayBuffer::reserve_advance_back 2000-05-12 03:25:49 +00:00
beard%netscape.com
7e8c26b8ab removed unnecessary #include <iomanip> 2000-05-12 01:46:16 +00:00
beard%netscape.com
71c6e11ea9 InterpretStage -> Context::Event. 2000-05-12 01:20:34 +00:00
beard%netscape.com
5323c7b05c Fixed signed/unsigned warning. InterpretStage -> Context::Event. Context::removeListener now using find() from <algorithm>. 2000-05-12 01:19:39 +00:00
beard%netscape.com
04581163ba InterpretStage -> Context::Event. Added typedefs for ListenerList and ListenerIterator. 2000-05-12 01:17:32 +00:00
beard%netscape.com
314e712f22 turned off extra comma warnings. 2000-05-12 00:31:48 +00:00
rogerl%netscape.com
b29b7084fa post inc/dec 2000-05-11 00:35:43 +00:00
rogerl%netscape.com
3dd4d8ff15 Added post inc/dec for properties & names. 2000-05-11 00:35:06 +00:00
waldemar%netscape.com
7647f38e6f Added 'public' to the list of qualifiers 2000-05-09 20:55:09 +00:00
rogerl%netscape.com
f1ae8af483 playing with gencode 2000-05-09 19:01:00 +00:00
beard%netscape.com
a4dea03835 Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule 2000-05-09 18:59:12 +00:00
beard%netscape.com
bcdfb1addd generalized gc_allocator copy constructor 2000-05-09 18:32:14 +00:00
beard%netscape.com
6812bcc78f removed JSFunction::operator delete 2000-05-09 18:31:43 +00:00
rogerl%netscape.com
d3b5bfb405 Fixed leakage of ICodeModule via JSFunction 2000-05-09 18:09:33 +00:00
beard%netscape.com
eb9d678d61 Need to modify string BEFORE caching iterators. 2000-05-09 06:39:39 +00:00
beard%netscape.com
ad2ad1e77c ensure that source buffer is always terminated by a uni::null (which isn't automatically true for basic_string<T>). 2000-05-09 06:31:54 +00:00
beard%netscape.com
7a09fcc4cd map::find() works just fine on all platforms. 2000-05-09 05:55:30 +00:00
beard%netscape.com
a2f5fc24f7 generating code rather than showing tokens, printing generic result rather than assuming it's a float64. 2000-05-09 05:46:26 +00:00
beard%netscape.com
1c816f64a6 LoadString now has JSString* as second operand 2000-05-09 05:38:48 +00:00
beard%netscape.com
6f85ea39ec Added JSString(const String&) and operator<<(Formatter&, const JSString&) 2000-05-09 05:37:58 +00:00
beard%netscape.com
c7c46e062f LOAD_STRING now has String as second operand rather than String* 2000-05-09 05:18:16 +00:00
beard%netscape.com
8647206526 VC6 bustage: can't initialize refs using construction form 2000-05-09 04:29:32 +00:00
beard%netscape.com
7b293d0e75 std::numeric_limits isn't working... 2000-05-09 04:26:44 +00:00
beard%netscape.com
3f60dde90e JSNativeFunction::mCode returns JSValue now to avoid leaking 2000-05-09 03:57:28 +00:00
beard%netscape.com
3553a3b540 print now returns JSValue, added space between args when printing 2000-05-09 03:56:56 +00:00
beard%netscape.com
d0c644149e CASE(string) 2000-05-09 03:56:08 +00:00
beard%netscape.com
e0725293d9 g++ basic_string annoyances 2000-05-09 03:55:43 +00:00
beard%netscape.com
7f3d0eee51 needed deallocate(void*, size_type) on XP_UNIX for basic_string. 2000-05-09 03:46:03 +00:00
beard%netscape.com
5e272eaaf9 Fixed leaks by changing JSValue::toString()/toNumber() to return JSValue rather than JSValue*. LOAD_STRING now creates a JSString from a String*. 2000-05-09 03:11:54 +00:00
beard%netscape.com
0327df07be Added JSString for gc-able UNICODE strings, changed toString(), toNumber() to return JSValue rather than JSValue*. 2000-05-09 03:10:04 +00:00
beard%netscape.com
f97cc95de0 make wchar_t an atomic type, for JSString. 2000-05-09 03:06:49 +00:00
waldemar%netscape.com
0857316bd7 Changed default constructor name from 'new' to the same name as its class 2000-05-09 00:10:50 +00:00
rogerl%netscape.com
d703cf6197 testing native 'print' function 2000-05-08 23:12:10 +00:00
rogerl%netscape.com
261b8ef660 Added more string handling + valueToString/Number code.
NativeFunction support.
2000-05-08 22:59:42 +00:00
waldemar%netscape.com
1d6bd07587 Fixed syntax errors 2000-05-06 03:47:35 +00:00
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