rogerl%netscape.com
ca67259713
oops
2000-04-21 00:46:48 +00:00
rogerl%netscape.com
5e238bd7a5
Added labelled statements, fixed some VC++'isms
2000-04-21 00:37:51 +00:00
rginda%netscape.com
7615ee9226
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
d7ad5021eb
Simple dependency tracking with make depend target.
2000-04-20 23:02:19 +00:00
beard%netscape.com
30971c4c45
Simple dependencies list. Rebuilt with make depend target.
2000-04-20 22:58:23 +00:00
beard%netscape.com
9acaa398fe
removed extraneous semi-colons after namespace declarations.
2000-04-20 06:20:31 +00:00
beard%netscape.com
bb0348e64d
warnings: commented out unused parameter name.
2000-04-20 06:19:43 +00:00
rogerl%netscape.com
5199f6e49c
Removing variables.
2000-04-19 22:45:57 +00:00
rogerl%netscape.com
7b7fc3829f
Began moving away from variables, fixed compare/branch ordering.
...
Testcases working.
2000-04-19 02:09:06 +00:00
rginda%netscape.com
3a06b96f97
formatting changes. use only one tab regardless of nested namespaces
2000-04-18 21:51:45 +00:00
rginda%netscape.com
1952e14ff8
removed superfluous ;s after namespace decs.
2000-04-18 07:14:49 +00:00
rginda%netscape.com
531ede4f17
regenerated opcode classes after grncode.pl changes
2000-04-18 07:06:25 +00:00
rginda%netscape.com
33d0848741
modified to print R~ if NotARegister
2000-04-18 07:04:24 +00:00
rogerl%netscape.com
fce9fa62b1
added '(' for RegisterList output
2000-04-18 01:46:32 +00:00
rginda%netscape.com
8ac24b9045
regenerated opcodenames to include padding, added label printing back into icg::print
2000-04-18 01:31:24 +00:00
rginda%netscape.com
b0eca07a47
space out opcodenames array
2000-04-18 01:19:12 +00:00
beard%netscape.com
52d7e01394
std::pair
2000-04-18 00:52:07 +00:00
beard%netscape.com
7add6915a1
moved initConsole() out to :: namespace.
2000-04-18 00:51:53 +00:00
beard%netscape.com
c18125076f
added vmtypes.h,.cpp
2000-04-18 00:50:58 +00:00
rogerl%netscape.com
f163805c99
added vmtypes/jstypes
2000-04-18 00:46:18 +00:00
rogerl%netscape.com
0e17feea55
Fixed WINDOZE build issues
2000-04-18 00:38:26 +00:00
rginda%netscape.com
73017de6a1
initial add of perl script to generate icode classes
2000-04-18 00:22:51 +00:00
rginda%netscape.com
5a6fd84159
removing bogus file
2000-04-18 00:20:10 +00:00
rginda%netscape.com
0fac613959
adding files for namespace change
2000-04-18 00:19:09 +00:00
rginda%netscape.com
66cb26879d
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
02798c9177
FASTLOCK changes.
2000-04-17 23:58:28 +00:00
beard%netscape.com
e82b4e2532
gc_base now used as common base class of GC allocated objects.
2000-04-13 04:54:41 +00:00
beard%netscape.com
56d97a71e9
added gc_base, which defines a more generic operator new().
2000-04-13 04:53:56 +00:00
beard%netscape.com
d92905d034
builds gc
2000-04-13 00:37:00 +00:00
beard%netscape.com
1468acd8d1
Added gc_allocator.h to project and gc.lib to link against.
2000-04-13 00:28:40 +00:00
beard%netscape.com
a1bed20974
linking in gc.lib from ../../gc/boehm
2000-04-13 00:16:58 +00:00
beard%netscape.com
2922707730
enabling GC on all platforms
2000-04-13 00:14:23 +00:00
beard%netscape.com
12ccc48ec4
JSActivation, JSFunction
2000-04-11 05:11:58 +00:00
beard%netscape.com
95604b5bff
Added JSFunction, defineFunction()
2000-04-11 05:10:40 +00:00
beard%netscape.com
c721ec102b
defineFunction, added assert
2000-04-11 05:09:38 +00:00
beard%netscape.com
b574e77f13
_Charalloc, deallocate(void*) for _WIN32 only
2000-04-11 04:55:27 +00:00
beard%netscape.com
92ec71fb35
defineGlobalProperty
2000-04-11 03:11:47 +00:00
beard%netscape.com
af1f41fb7d
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
8ef180ab04
use gc_allocator<T> everywhere, addGlobalProperty -> defineGlobalProperty
2000-04-11 03:07:39 +00:00
beard%netscape.com
2930dfd621
removed commented out GET_PROP/SET_PROP.
2000-04-11 02:59:52 +00:00
beard%netscape.com
8bd406efae
added gc_object.
2000-04-11 02:59:14 +00:00
beard%netscape.com
f7fdcbff8b
fixing an assert and warnings
2000-04-11 01:10:26 +00:00
rogerl%netscape.com
2757a2004e
CALL opcode & frames etc. (r=beard)
2000-04-11 00:32:17 +00:00
waldemar%netscape.com
84bdf052ab
Fixed delete/delete[] mismatch
2000-04-10 22:23:17 +00:00
waldemar%netscape.com
d1e89106de
Fixed memory leak
2000-04-10 22:20:00 +00:00
beard%netscape.com
1edba28c48
Fixed warnings about member initializers on Linux. Whatever.
2000-04-08 04:49:41 +00:00
beard%netscape.com
14a585783b
Reduced size of args arrays to minimum.
2000-04-08 04:41:19 +00:00
beard%netscape.com
138afee3b4
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
6337059f6f
JSArray::elements(1), operator[](const JSValue&), fixed register-indexing.
2000-04-08 04:12:28 +00:00
beard%netscape.com
f589a1ab24
Fixed NEW_ARRAY, GET_ELEMENT, SET_ELEMENT printing.,
2000-04-08 04:11:16 +00:00
beard%netscape.com
8c93fb3d06
NEW_ARRAY
2000-04-08 03:37:49 +00:00
beard%netscape.com
0822793571
Reordered GetProp/SetProp operands to base, name. Added NewArray, GetElement, SetElement instructions.
2000-04-08 03:37:18 +00:00
beard%netscape.com
afd93b4e07
added JSArray, GET_ELEMENT, SET_ELEMENT, changed some ops to dest/src.
2000-04-08 03:23:44 +00:00
beard%netscape.com
468bc29100
added JSArray, comments.
2000-04-08 02:44:34 +00:00
beard%netscape.com
95cb0e8b9d
Changed boilerplate, chmod -x
2000-04-08 02:29:07 +00:00
beard%netscape.com
010a45313a
converted NotALabel to an enum, so it obeys proper scoping rules.
2000-04-08 02:25:37 +00:00
rogerl%netscape.com
5e55242311
added interpreter & icodegenerator
2000-04-08 01:09:50 +00:00
rogerl%netscape.com
e60b5c26e9
Fixed wacky tabs
2000-04-08 01:08:01 +00:00
rogerl%netscape.com
d26609534d
Added ICodeModule to collect extra info about executable chunks.
2000-04-08 01:04:55 +00:00
beard%netscape.com
bda3717ce9
fixed LoadImmediate.
2000-04-08 00:57:28 +00:00
beard%netscape.com
895fa664c4
reindented, introduced gc_map_allocator to hide platform differences
2000-04-08 00:52:59 +00:00
beard%netscape.com
7810a0856a
conforming to MSVC++ allocators
2000-04-08 00:48:13 +00:00
rogerl%netscape.com
ad01c0a3c9
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
6b29288692
fix invalid return in GC_free for win32 build
2000-04-07 21:58:33 +00:00
rginda%netscape.com
a475c7a48a
#if out references to std::iterator to get gcc to compile
2000-04-07 21:11:40 +00:00
beard%netscape.com
89b42085ab
printing code in testObjects().
2000-04-07 04:59:57 +00:00
beard%netscape.com
d5333de9ec
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
a1ce56851a
JSObject and its elements now allocated using gc_allocator<T> (XP_MAC only).
2000-04-07 04:39:50 +00:00
beard%netscape.com
3f67d58724
JSValues now using gc_allocator (XP_MAC only for now).
2000-04-07 04:38:18 +00:00
beard%netscape.com
2800c15275
added gc library.
2000-04-07 04:36:38 +00:00
beard%netscape.com
22d99fdce4
prebuilt gc library for bootstrapping.
2000-04-07 04:35:14 +00:00
beard%netscape.com
ca07212aa6
added stub implementations of GC entry points.
2000-04-07 04:00:21 +00:00
beard%netscape.com
d7fa1b7fe2
added failed gc_rebind, for future compilers to ponder.
2000-04-07 03:11:38 +00:00
beard%netscape.com
1a2406676c
duh, can't use wide string constants on Linux
2000-04-07 03:08:20 +00:00
beard%netscape.com
26a073ebc4
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
781aff8cd6
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
53882505b5
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
59f99c863e
fix calls to template superclass for gcc
2000-04-07 02:45:33 +00:00
beard%netscape.com
dab8f50344
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
9c646bbafc
added newObject(), saveName() and setProperty().
2000-04-07 02:41:08 +00:00
waldemar%netscape.com
14b0eb8f01
Worked around Visual C++ bugs
2000-04-07 00:47:39 +00:00
beard%netscape.com
f973ddc215
needed to qualify isFieldKind
2000-04-07 00:24:42 +00:00
beard%netscape.com
bfe503795f
adding int to printCharBufferSize
2000-04-07 00:23:33 +00:00
waldemar%netscape.com
56188bfaae
Fixed Mac MPW build
2000-04-07 00:06:05 +00:00
waldemar%netscape.com
709bb0562d
Made Mac MPW js2 tool work
2000-04-07 00:05:23 +00:00
waldemar%netscape.com
7523109fc4
Added Buffer, BitSet, and implemented Formatters for output
2000-04-06 23:48:05 +00:00
waldemar%netscape.com
f9ce82ae8e
Implemented Formatters for output
2000-04-06 23:47:33 +00:00
waldemar%netscape.com
5d892e7bf7
Implemented Formatters for output and added parseMember
2000-04-06 23:45:58 +00:00
waldemar%netscape.com
66d8f5244f
Fixed syntax errors
2000-04-06 23:43:08 +00:00
waldemar%netscape.com
182fc056f3
Commented out syntax error
2000-04-06 23:40:47 +00:00
rogerl%netscape.com
dcbc9904da
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
b4eab2df18
remove +x mode.
...
Not part of the default build.
2000-04-06 20:27:22 +00:00
beard%netscape.com
bed1820c51
Added interpreter.o to build of js2.
2000-04-06 03:05:12 +00:00
beard%netscape.com
efcd4404fa
cases for SUBTRACT, MULTIPLY, DIVIDE in print().
2000-04-06 03:02:24 +00:00
beard%netscape.com
6e423dece1
added testInterpreter(), which computes factorial using iCode (woo hoo!)
2000-04-06 02:59:16 +00:00
beard%netscape.com
602bdc5282
more arithmetic, conditional branches, return instruction.
2000-04-06 02:58:22 +00:00
beard%netscape.com
a57994c317
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
2901700dc5
added a ref field, changed default constructor to initialize f64.
2000-04-06 02:52:51 +00:00
rogerl%netscape.com
047b74d5c6
Resolved branch targets
2000-04-06 00:04:11 +00:00
beard%netscape.com
f1388bf5a6
removed usage of labels (duh)
2000-04-05 23:57:51 +00:00
rogerl%netscape.com
d5b0b5bc32
typedef'd instructions
2000-04-05 23:41:58 +00:00
beard%netscape.com
76e3fd2f85
Added default case to avoid warning
2000-04-05 21:26:01 +00:00
beard%netscape.com
528d7eb22f
added "globals", labels parameter for branches, combined some Instruction_N<> typedefs.
2000-04-05 20:33:41 +00:00
beard%netscape.com
9a69888729
added labels parameter.
2000-04-05 20:29:09 +00:00
beard%netscape.com
391d9767eb
added Instruction::opcode(), and Instruction_N::oN(), and ICodeGenerator::getLabels().
2000-04-05 20:28:17 +00:00
beard%netscape.com
59cf8293ac
moved declaration of lgBasicAlignment & basicAlignment inside the include guard.
2000-04-05 20:26:49 +00:00
rogerl%netscape.com
c0c155dec7
added missing semi in win32 case
2000-04-05 18:20:02 +00:00
beard%netscape.com
96f9207cc7
added interpreter.cpp/.h
2000-04-05 18:06:04 +00:00
beard%netscape.com
8a75ea3668
linux fixes
2000-04-05 06:10:53 +00:00
beard%netscape.com
ab11ac751b
first crack at an icode interpreter
2000-04-05 06:05:57 +00:00
beard%netscape.com
932ecf336b
turned off '\n' -> '\r' mapping
2000-04-05 04:25:51 +00:00
beard%netscape.com
2ff22a0e79
backed out "fix" (thanks waldemar)
2000-04-05 04:24:19 +00:00
beard%netscape.com
91135e142e
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
a5e6536104
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
f6728f15b4
removed DEBUG
2000-04-05 03:54:46 +00:00
beard%netscape.com
7562d30003
debug prefix for MPW tool.
2000-04-05 03:54:30 +00:00
beard%netscape.com
8a1dbf5904
now using gc_container<T>.
2000-04-05 02:05:12 +00:00
beard%netscape.com
66bbb0bc4b
convenience container types that use the GC_allocator.
2000-04-05 02:03:03 +00:00
beard%netscape.com
86d14fee9a
added a comment.
2000-04-05 01:55:14 +00:00
beard%netscape.com
5b21e4b8ec
making icode generation test not mutually exclusive with the REPL.
2000-04-05 00:52:47 +00:00
beard%netscape.com
18a631e12e
changed to use locally built gc.o library.
2000-04-05 00:50:59 +00:00
beard%netscape.com
fbfcf75306
gc configuration file.
2000-04-05 00:50:32 +00:00
beard%netscape.com
a6dabb8495
local project to build the gc itself.
2000-04-05 00:50:01 +00:00
beard%netscape.com
540d3fe5d1
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
9989984744
Updated for lexer changes
2000-04-04 21:43:28 +00:00
waldemar%netscape.com
342f045b6d
Added insertChars, removed SourcePosition, and reorganized Exception class
2000-04-04 21:42:39 +00:00
waldemar%netscape.com
23152b92cb
Added postfix expression parsing. Simplified Reader.
2000-04-04 21:39:59 +00:00
waldemar%netscape.com
8c3ea7467e
Updated sprintf call
2000-04-04 21:38:53 +00:00
waldemar%netscape.com
a84c5b0547
Updated lexer API
2000-04-04 21:38:25 +00:00
waldemar%netscape.com
cf09318769
Reordered files
2000-04-04 21:37:20 +00:00
waldemar%netscape.com
b3f0341877
Fixed syntax errors
2000-04-04 21:36:57 +00:00
rogerl%netscape.com
131d10c8ea
cleaning up the codestate classes; continue labels
2000-04-04 01:48:35 +00:00
rogerl%netscape.com
3714722cf4
For statements.
2000-04-01 02:53:16 +00:00
rogerl%netscape.com
4c52a939a5
Added do & switch statements, more hacking at the code state thing.
2000-04-01 01:30:32 +00:00
beard%netscape.com
33874b728f
fixing a broken header.
2000-03-31 05:47:42 +00:00
rogerl%netscape.com
788fbc5ec8
Changes to CodeState thing, still not happy with this - RTTI would be
...
better?
2000-03-31 01:54:28 +00:00
beard%netscape.com
6763f39040
making icodegenerator work on Linux
2000-03-31 00:42:25 +00:00
beard%netscape.com
b329cb0167
added icodegenerator.cpp
2000-03-31 00:09:24 +00:00
rogerl%netscape.com
dd0e354b10
Test driver for icg in main, just a temporary thing
2000-03-29 19:24:07 +00:00
rogerl%netscape.com
4e4f0fd854
First hack at some icode generation.
2000-03-29 19:19:23 +00:00
waldemar%netscape.com
c9f5bf1179
Made ifdef _WIN32 uniform
2000-03-22 00:52:06 +00:00
beard%netscape.com
de9a3d5b81
Added gctest target, added -lm to get floor()
2000-03-09 02:11:52 +00:00
beard%netscape.com
936efe5b4c
oops, commented out gc_types<T>::string.
2000-03-09 01:44:35 +00:00
beard%netscape.com
41c89d932b
g++ doesn't provide numeric_limits<T>
2000-03-09 01:35:53 +00:00
beard%netscape.com
5d04d65d6c
Cleaning up for GCC
2000-03-09 01:34:57 +00:00
beard%netscape.com
ab088f1054
more tests, using safer auto_ptr.
2000-03-07 01:21:53 +00:00
beard%netscape.com
0ea2240645
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
1c54ce1dd3
added gc_traits_finalizable to use GC finalization facilities to call destructors.
2000-03-02 20:58:26 +00:00
waldemar%netscape.com
b0856ea797
*** empty log message ***
2000-03-02 03:46:10 +00:00
waldemar%netscape.com
e739825b8b
Workarounds for VC6 bugs
2000-03-02 03:43:40 +00:00