35 Commits

Author SHA1 Message Date
rogerl%netscape.com
09e69e2106 New (incomplete but functional) implementation of operator overriding.
git-svn-id: svn://10.0.0.236/trunk@84756 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-11 00:03:05 +00:00
rogerl%netscape.com
fd61a85fe9 re-ordered members wrt init sequence.
git-svn-id: svn://10.0.0.236/trunk@84213 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-30 01:08:31 +00:00
rogerl%netscape.com
3192db65c0 Sweeping set of changes to implement closures. Also re-targetted entire
front-end to Cobol and back-end now generates pdp11 assembly code in
spanish.


git-svn-id: svn://10.0.0.236/trunk@83413 18797224-902f-48f8-a5cc-f745e15eee43
2000-12-08 23:55:39 +00:00
rogerl%netscape.com
129334e4ff Added XMLparsing to load a class. Fixed handling of forward references to
class methods/fields.


git-svn-id: svn://10.0.0.236/trunk@81410 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-18 23:37:44 +00:00
rogerl%netscape.com
f287b862db Optional and rest parameters.
Named arguments (just begun).


git-svn-id: svn://10.0.0.236/trunk@77963 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-02 01:01:04 +00:00
rogerl%netscape.com
609feb88b0 Prototype munging for built-in global properties, implemented Function
object & Boolean object.


git-svn-id: svn://10.0.0.236/trunk@75594 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-04 20:28:35 +00:00
rogerl%netscape.com
65a4138aa9 Function prototype objects etc.
git-svn-id: svn://10.0.0.236/trunk@74792 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-26 01:56:47 +00:00
rogerl%netscape.com
1fc062cb5a 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.


git-svn-id: svn://10.0.0.236/trunk@74134 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-13 00:14:54 +00:00
rogerl%netscape.com
0fbe7a0bf0 Implemented Import -only it's not in the parser yet.
Added missing defineXXX functions.


git-svn-id: svn://10.0.0.236/trunk@74053 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 23:49:20 +00:00
rginda%netscape.com
0deba46ad9 Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing
git-svn-id: svn://10.0.0.236/trunk@73101 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:27:17 +00:00
rogerl%netscape.com
5f2e9befeb Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.


git-svn-id: svn://10.0.0.236/trunk@72337 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
593d1fc0e3 Playing with operator overloading & Type types.
git-svn-id: svn://10.0.0.236/trunk@70511 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-19 17:41:10 +00:00
beard%netscape.com
be78f0d1aa InterpretStage -> Context::Event. Added typedefs for ListenerList and ListenerIterator.
git-svn-id: svn://10.0.0.236/trunk@69303 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 01:17:32 +00:00
rginda%netscape.com
5f3e8f7af0 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


git-svn-id: svn://10.0.0.236/trunk@68276 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-04 22:42:49 +00:00
beard%netscape.com
69becd5ded 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.
git-svn-id: svn://10.0.0.236/trunk@67614 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 14:44:42 +00:00
beard%netscape.com
dbb69e2bd5 JSNamespace -> JSScope.
git-svn-id: svn://10.0.0.236/trunk@67611 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 14:14:28 +00:00
rginda%netscape.com
efe0062655 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


git-svn-id: svn://10.0.0.236/trunk@67593 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 00:23:06 +00:00
beard%netscape.com
d8d71120b0 Merged JSMap & JSObject. Introduced JSNamespace.
git-svn-id: svn://10.0.0.236/trunk@67576 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 23:04:43 +00:00
beard%netscape.com
b3a4a03169 Added Context::Frame, Context::Listener abstract classes. Initial support for debugger.
git-svn-id: svn://10.0.0.236/trunk@67199 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 05:29:35 +00:00
beard%netscape.com
8a6abe2247 JSFrame -> JSLinkage, using explicit linked list rather than a stack.
git-svn-id: svn://10.0.0.236/trunk@67165 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 01:42:00 +00:00
beard%netscape.com
2483f6c208 changed Context constructor to take JSObject* not JSObject&, to be able to control lifetime a little more carefully.
git-svn-id: svn://10.0.0.236/trunk@67068 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-25 03:32:53 +00:00
rginda%netscape.com
e7290871fc 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.


git-svn-id: svn://10.0.0.236/trunk@66611 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 00:04:14 +00:00
rginda%netscape.com
e400e4c1b0 formatting changes. use only one tab regardless of nested namespaces
git-svn-id: svn://10.0.0.236/trunk@66317 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 21:51:45 +00:00
rginda%netscape.com
570245f757 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)


git-svn-id: svn://10.0.0.236/trunk@66214 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 00:17:34 +00:00
beard%netscape.com
58374dbac2 Added JSFunction, defineFunction()
git-svn-id: svn://10.0.0.236/trunk@65596 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 05:10:40 +00:00
beard%netscape.com
a4e6e6cf4e use gc_allocator<T> everywhere, addGlobalProperty -> defineGlobalProperty
git-svn-id: svn://10.0.0.236/trunk@65591 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 03:07:39 +00:00
rogerl%netscape.com
1f60d50799 CALL opcode & frames etc. (r=beard)
git-svn-id: svn://10.0.0.236/trunk@65583 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 00:32:17 +00:00
beard%netscape.com
eb44d3ea34 added JSArray, comments.
git-svn-id: svn://10.0.0.236/trunk@65528 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 02:44:34 +00:00
rogerl%netscape.com
f8a5823b94 Added ICodeModule to collect extra info about executable chunks.
git-svn-id: svn://10.0.0.236/trunk@65522 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-08 01:04:55 +00:00
beard%netscape.com
860e0eb56b JSValues now using gc_allocator (XP_MAC only for now).
git-svn-id: svn://10.0.0.236/trunk@65483 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 04:38:18 +00:00
beard%netscape.com
36e56e8886 added forward declaration to class JSObject, and changed void* JSValue.ref to JSObject* JSValue.obj.
git-svn-id: svn://10.0.0.236/trunk@65475 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-07 02:47:53 +00:00
beard%netscape.com
82df346ee5 added a ref field, changed default constructor to initialize f64.
git-svn-id: svn://10.0.0.236/trunk@65410 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-06 02:52:51 +00:00
beard%netscape.com
e1e3d42b75 removed usage of labels (duh)
git-svn-id: svn://10.0.0.236/trunk@65392 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-05 23:57:51 +00:00
beard%netscape.com
c8c4fce31f added labels parameter.
git-svn-id: svn://10.0.0.236/trunk@65376 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-05 20:29:09 +00:00
beard%netscape.com
03f68d8e4f first crack at an icode interpreter
git-svn-id: svn://10.0.0.236/trunk@65353 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-05 06:05:57 +00:00