53 Commits

Author SHA1 Message Date
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
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
beard%netscape.com
660beb403e added WITHIN, WITHOUT instructions.
git-svn-id: svn://10.0.0.236/trunk@67607 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 14:10:53 +00:00
rginda%netscape.com
fab5dad791 80 column nit picked, comment fixed
git-svn-id: svn://10.0.0.236/trunk@67539 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 15:32:54 +00:00
beard%netscape.com
3570ae95ce tightened up spacing in printOperands().
git-svn-id: svn://10.0.0.236/trunk@67523 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 13:43:49 +00:00
beard%netscape.com
26dcdf733f support for printing ArgLists.
git-svn-id: svn://10.0.0.236/trunk@67516 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 13:17:35 +00:00
beard%netscape.com
c12f1ab4b4 generates printOperands()
git-svn-id: svn://10.0.0.236/trunk@67472 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 05:39:27 +00:00
rginda%netscape.com
a8bfb0a422 don't generate print_args if super_has_print
comment fixes


git-svn-id: svn://10.0.0.236/trunk@67461 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 02:33:36 +00:00
rginda%netscape.com
f2d467d84d moved comment so it made more sense
git-svn-id: svn://10.0.0.236/trunk@67456 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 02:26:14 +00:00
rginda%netscape.com
3708c97e3c printarg stubbed out
git-svn-id: svn://10.0.0.236/trunk@67454 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 02:20:23 +00:00
rogerl%netscape.com
61ae45d738 Fixes for handling missing params.
git-svn-id: svn://10.0.0.236/trunk@67003 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-24 22:40:53 +00:00
rginda%netscape.com
4a6106e9f6 adding comments
git-svn-id: svn://10.0.0.236/trunk@66997 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-24 21:43:49 +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