67 Commits

Author SHA1 Message Date
rogerl%netscape.com
62ae472ce8 New icodes to handle instanceof/is. Moved operator name handling to icg
for now (pending a semantics phase). Added a generic new and prototype
setting.


git-svn-id: svn://10.0.0.236/trunk@87238 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-16 23:15:34 +00:00
rogerl%netscape.com
5016c3b1d9 Cleaning up all over. New Operator enumeration.
git-svn-id: svn://10.0.0.236/trunk@87044 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-14 23:54:27 +00:00
rginda%netscape.com
0d19733052 initial checkin for source reorg. leaf copied mozilla/js/js2 to mozilla/js2/src, mozilla/js/js2/jsc to mozilla/js2/jsc, mozilla/js/js2/tools to mozilla/js2/tools, and mozilla/js/semantics to mozilla/js2/semantics
unix now has an autoconf based make system.  currently the new make system only makes parser related files, back end stuff to be added soon.

mac and windows makesystems will be checked in next.

parser.cpp has been factored into token.*, lexer.*, and parser.*
utilities.cpp has been factored into formatter.*, exception.*, mem.*, strings.*,ds.h, stlcfg.h, and algo.h


git-svn-id: svn://10.0.0.236/trunk@86568 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-07 21:21:22 +00:00
rogerl%netscape.com
33c966518e Changed Cast to take a JSValue containing a type instead of type directly.
Added LoadType to help support that. Also added LoadNull.


git-svn-id: svn://10.0.0.236/trunk@85917 18797224-902f-48f8-a5cc-f745e15eee43
2001-02-01 00:59:21 +00:00
rogerl%netscape.com
de77d1777b Fixes to support ICodeModule operand type (via name in global object) and
TRUE/FALSE/NULL/CLASS instructions.


git-svn-id: svn://10.0.0.236/trunk@85531 18797224-902f-48f8-a5cc-f745e15eee43
2001-01-25 23:34:33 +00:00
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
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
a2360d8337 Added BindThis argument, removed 'this' arg from Call.
git-svn-id: svn://10.0.0.236/trunk@82708 18797224-902f-48f8-a5cc-f745e15eee43
2000-11-16 23:49:29 +00:00
rogerl%netscape.com
a7b53cf793 Changed ArgumentList to ArgumentList*. (Still need to handle the
destructor though).


git-svn-id: svn://10.0.0.236/trunk@81553 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-21 00:31:22 +00:00
rginda%netscape.com
e0d39a5237 lalala, things run, lalala. (well, kinda.)
git-svn-id: svn://10.0.0.236/trunk@81523 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-20 10:33:57 +00:00
rginda%netscape.com
3f03ec66b9 more work on producing real live instructionstreams
git-svn-id: svn://10.0.0.236/trunk@81511 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-20 03:33:37 +00:00
rginda%netscape.com
58820fbf80 starting to turn the icode StatementNode vector into actual Instructions...
git-svn-id: svn://10.0.0.236/trunk@81496 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-20 01:13:03 +00:00
rginda%netscape.com
6efffba0fe adding genmap.pl to generate the icode map
git-svn-id: svn://10.0.0.236/trunk@81400 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-18 20:41:03 +00:00
rginda%netscape.com
9ff1c09f53 initial checkin of simple query script for the icode hash
git-svn-id: svn://10.0.0.236/trunk@80991 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-12 01:31:33 +00:00
rginda%netscape.com
801cc4adc1 seperate icode hash into module
git-svn-id: svn://10.0.0.236/trunk@80888 18797224-902f-48f8-a5cc-f745e15eee43
2000-10-11 02:42:39 +00:00
rogerl%netscape.com
9cb4c52c59 Fixed warnings for gcc build.
git-svn-id: svn://10.0.0.236/trunk@79541 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-19 20:35:05 +00:00
rogerl%netscape.com
c6f1227ecc Removed unnecessary arg. from Call instruction.
git-svn-id: svn://10.0.0.236/trunk@78783 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-11 22:11:55 +00:00
rogerl%netscape.com
ebf4085e3f Added Branch_initialized for argument handling.
git-svn-id: svn://10.0.0.236/trunk@78412 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-07 19:23:24 +00:00
rogerl%netscape.com
8a63e1a869 Switch from RegisterList to ArgumentList to handle named args.
Optional & rest parameter support.


git-svn-id: svn://10.0.0.236/trunk@77964 18797224-902f-48f8-a5cc-f745e15eee43
2000-09-02 01:01:41 +00:00
rogerl%netscape.com
3f8f37a462 Fixed printOperands to handle <NaR>
git-svn-id: svn://10.0.0.236/trunk@76929 18797224-902f-48f8-a5cc-f745e15eee43
2000-08-23 01:07:19 +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
rginda%netscape.com
c69750c8cd shut up "unused param" warnings by only naming the register param if the icode uses a RegisterList operand.
git-svn-id: svn://10.0.0.236/trunk@75134 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-29 02:00:12 +00:00
rogerl%netscape.com
27cfac201d More ECMA 3 mucking about to support constructors etc.
git-svn-id: svn://10.0.0.236/trunk@74774 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-25 22:58:04 +00:00
rogerl%netscape.com
f236eeaaff Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.


git-svn-id: svn://10.0.0.236/trunk@74388 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-18 20:53:03 +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
6a8822a673 More on @ operator. Fixed R 4billion print bug.
git-svn-id: svn://10.0.0.236/trunk@74024 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-11 20:54:06 +00:00
rogerl%netscape.com
11c82ac5b9 Some parts of x@<name> working.
git-svn-id: svn://10.0.0.236/trunk@73964 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-10 23:18:07 +00:00
rogerl%netscape.com
07b641917e Support for 'constructor'.
git-svn-id: svn://10.0.0.236/trunk@73865 18797224-902f-48f8-a5cc-f745e15eee43
2000-07-08 01:08:29 +00:00
beard%netscape.com
aa7664867d added DELETE_PROP instruction to implement the "delete" operation.
git-svn-id: svn://10.0.0.236/trunk@73520 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 17:11:50 +00:00
beard%netscape.com
16f447e7ad now uses conditional compilation #if defined(OPCODE_NAMES), so that a simple "icode.h" can be included by vmtypes.h and vmtypes.cpp.
git-svn-id: svn://10.0.0.236/trunk@73503 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 04:21:00 +00:00
rogerl%netscape.com
0e43b9fadb Implicit this and class lookup stuff.
git-svn-id: svn://10.0.0.236/trunk@73493 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-29 01:21:41 +00:00
rogerl%netscape.com
b1eb71fadb First set of unified 'dot' handling changes for statics.
git-svn-id: svn://10.0.0.236/trunk@73418 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 18:41:30 +00:00
beard%netscape.com
c616ad04eb GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name.
git-svn-id: svn://10.0.0.236/trunk@73410 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-28 16:13:12 +00:00
rogerl%netscape.com
0ab4d1b650 lots of stuff me and Patrick did
git-svn-id: svn://10.0.0.236/trunk@73275 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-27 02:39:32 +00:00
rogerl%netscape.com
071facaac6 Adding slot handling to code gen.
git-svn-id: svn://10.0.0.236/trunk@73116 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:43:24 +00:00
beard%netscape.com
5d613bac76 added NEW_CLASS instruction.
git-svn-id: svn://10.0.0.236/trunk@73115 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:41:27 +00:00
rogerl%netscape.com
f0dcf103dd Removed FUNCTION instruction, other class related junk.
git-svn-id: svn://10.0.0.236/trunk@73106 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 22:53:09 +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
c263fddb6c Work to support 'this'.
git-svn-id: svn://10.0.0.236/trunk@72823 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-21 22:32:21 +00:00
rogerl%netscape.com
656a834b8a Support for TypedRegister
git-svn-id: svn://10.0.0.236/trunk@72684 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:44:46 +00:00
rogerl%netscape.com
13c4b90ec8 Added 'Function' instruction, plus suppresses class output if there is
no super specified. (ok it's a hack, but it works)


git-svn-id: svn://10.0.0.236/trunk@72248 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
3b010bfe27 Removed old branches, changed offset printing to handle NULL operand.
git-svn-id: svn://10.0.0.236/trunk@70955 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-26 22:35:36 +00:00
rogerl%netscape.com
51985251d3 Fall out from operator overloading.
git-svn-id: svn://10.0.0.236/trunk@70635 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:09:02 +00:00
rogerl%netscape.com
1a9d746c54 Bunch o' expression ops.
git-svn-id: svn://10.0.0.236/trunk@70416 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-18 00:04:15 +00:00
rogerl%netscape.com
031f79e924 post inc/dec
git-svn-id: svn://10.0.0.236/trunk@69111 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-11 00:35:43 +00:00
beard%netscape.com
06cbcdcb54 LoadString now has JSString* as second operand
git-svn-id: svn://10.0.0.236/trunk@68817 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:38:48 +00:00
beard%netscape.com
89e8209acc LOAD_STRING now has String as second operand rather than String*
git-svn-id: svn://10.0.0.236/trunk@68811 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 05:18:16 +00:00
rogerl%netscape.com
d494d230a8 Load_String
git-svn-id: svn://10.0.0.236/trunk@68462 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 23:23:13 +00:00
rogerl%netscape.com
2bd22b9c07 Bunch more arithmetic ops etc.
Also fixed case munging when class name was only 2 letters long.


git-svn-id: svn://10.0.0.236/trunk@68432 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 21:36:36 +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