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
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