120 Commits

Author SHA1 Message Date
beard%netscape.com
771cfb9f71 Always use the target object, regardless of where a method property is found along the prototype chain.
git-svn-id: svn://10.0.0.236/trunk@73164 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 05:21:49 +00:00
beard%netscape.com
d5f478e4b2 Added call to constructor when executing NEW_CLASS.
git-svn-id: svn://10.0.0.236/trunk@73149 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 02:50:23 +00:00
rogerl%netscape.com
9d9a6a599f Got newClass working, added printProperties for instances, some slot
stuff is happening.


git-svn-id: svn://10.0.0.236/trunk@73133 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-24 00:50:59 +00:00
beard%netscape.com
f0d31a051c added NEW_CLASS instruction, to instantiate classes.
git-svn-id: svn://10.0.0.236/trunk@73122 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 23:49:48 +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
beard%netscape.com
7fb39e02e0 added assertion to ensure that mPC is always valid before fetching the next instruction.
git-svn-id: svn://10.0.0.236/trunk@73047 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 06:10:14 +00:00
beard%netscape.com
af70f28237 When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared.
git-svn-id: svn://10.0.0.236/trunk@73040 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-23 05:10:46 +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
ae69e1c56c Changed use of Register to TypedRegister throughout.
git-svn-id: svn://10.0.0.236/trunk@72685 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-20 22:45:45 +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
27c8e7b5f6 Adding support for Functions and Vars, preXcrement, object literals.
git-svn-id: svn://10.0.0.236/trunk@72247 18797224-902f-48f8-a5cc-f745e15eee43
2000-06-14 23:26:15 +00:00
waldemar%netscape.com
33c4987b24 Fixed Mac warnings
git-svn-id: svn://10.0.0.236/trunk@70693 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-24 00:54:40 +00:00
rogerl%netscape.com
5bd38c3d54 Added operator overloading support
git-svn-id: svn://10.0.0.236/trunk@70634 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-23 00:08:29 +00:00
rginda%netscape.com
e13ae8edbb quieting linux warnings and fixing build bustage
git-svn-id: svn://10.0.0.236/trunk@70608 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-22 21:05:35 +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
rogerl%netscape.com
d62fe47db9 Moved genExpr to ICodeGenerator - added most expression ops.
git-svn-id: svn://10.0.0.236/trunk@70415 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-18 00:03:23 +00:00
beard%netscape.com
871655af92 Fixed signed/unsigned warning. InterpretStage -> Context::Event. Context::removeListener now using find() from <algorithm>.
git-svn-id: svn://10.0.0.236/trunk@69304 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-12 01:19:39 +00:00
rogerl%netscape.com
1ed0e7b17e Added post inc/dec for properties & names.
git-svn-id: svn://10.0.0.236/trunk@69110 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-11 00:35:06 +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
79c9bf61aa VC6 bustage: can't initialize refs using construction form
git-svn-id: svn://10.0.0.236/trunk@68801 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 04:29:32 +00:00
beard%netscape.com
ef4461e92e JSNativeFunction::mCode returns JSValue now to avoid leaking
git-svn-id: svn://10.0.0.236/trunk@68797 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 03:57:28 +00:00
beard%netscape.com
9470cf777b Fixed leaks by changing JSValue::toString()/toNumber() to return JSValue rather than JSValue*. LOAD_STRING now creates a JSString from a String*.
git-svn-id: svn://10.0.0.236/trunk@68792 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-09 03:11:54 +00:00
rogerl%netscape.com
8ba0e32346 Added more string handling + valueToString/Number code.
NativeFunction support.


git-svn-id: svn://10.0.0.236/trunk@68732 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-08 22:59:42 +00:00
rogerl%netscape.com
dee0321fd6 New arithmetic ops.
git-svn-id: svn://10.0.0.236/trunk@68433 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-05 21:38:16 +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
13d60e41ab warnings on Linux
git-svn-id: svn://10.0.0.236/trunk@67730 18797224-902f-48f8-a5cc-f745e15eee43
2000-05-01 17:18:49 +00:00
beard%netscape.com
0e9bbd2edc 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.
git-svn-id: svn://10.0.0.236/trunk@67613 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 14:43:36 +00:00
beard%netscape.com
afb35bf33b moved kUndefinedValue to jstypes.cpp, where it belongs.
git-svn-id: svn://10.0.0.236/trunk@67608 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 14:11:27 +00:00
beard%netscape.com
8249e64a0a fixing windows bustage.
git-svn-id: svn://10.0.0.236/trunk@67597 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-29 00:29:56 +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
76df7ba704 using JSValue::tag to do simple operand validation.
git-svn-id: svn://10.0.0.236/trunk@67478 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 05:43:33 +00:00
beard%netscape.com
0fc16a2fb9 reordered inheritance graph of Linkage.
git-svn-id: svn://10.0.0.236/trunk@67455 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-28 02:23:08 +00:00
rogerl%netscape.com
e626dba4ad More exception handling handling.
git-svn-id: svn://10.0.0.236/trunk@67356 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-27 01:27:09 +00:00
beard%netscape.com
0b93de01f3 Using getProperty/setProperty rather than JSMap::operator[]. This follows the prototype chain.
git-svn-id: svn://10.0.0.236/trunk@67293 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 21:38:14 +00:00
beard%netscape.com
638f25e058 Fixing windows bustage in Linkage.
git-svn-id: svn://10.0.0.236/trunk@67204 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 05:56:20 +00:00
beard%netscape.com
7e863f9219 JSActivation -> Activation, JSLinkage --> Linkage. Linkage now implements the Context::Frame interface. Implemented simple Context::Listener support.
git-svn-id: svn://10.0.0.236/trunk@67201 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-26 05:35:07 +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
rogerl%netscape.com
c4747ce60e Added a beginning for exception handling.
git-svn-id: svn://10.0.0.236/trunk@66788 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 22:52:52 +00:00
rogerl%netscape.com
cf972ed7c0 Added labelled statements, fixed some VC++'isms
git-svn-id: svn://10.0.0.236/trunk@66617 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-21 00:37:51 +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
rogerl%netscape.com
41b94e7563 Removing variables.
git-svn-id: svn://10.0.0.236/trunk@66472 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-19 22:45:57 +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
88784cab59 removed superfluous ;s after namespace decs.
git-svn-id: svn://10.0.0.236/trunk@66270 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 07:14:49 +00:00
rogerl%netscape.com
1bfac2ec9e Fixed WINDOZE build issues
git-svn-id: svn://10.0.0.236/trunk@66218 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-18 00:38:26 +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
8f6ef04403 gc_base now used as common base class of GC allocated objects.
git-svn-id: svn://10.0.0.236/trunk@65771 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-13 04:54:41 +00:00
beard%netscape.com
9381029146 JSActivation, JSFunction
git-svn-id: svn://10.0.0.236/trunk@65597 18797224-902f-48f8-a5cc-f745e15eee43
2000-04-11 05:11:58 +00:00