Граф коммитов

2348 Коммитов

Автор SHA1 Сообщение Дата
mccabe%netscape.com e6f060e635 Add pithy quote. 2000-05-10 00:35:30 +00:00
rogerl%netscape.com 178e8e9fc7 Bug #31316, didn't reset paren state after failed alt. 2000-05-09 23:47:18 +00:00
rogerl%netscape.com 732442c367 Bug #32937, toLocaleString added to Number class. 2000-05-09 23:46:13 +00:00
rogerl%netscape.com a912f99c10 Bug #22866, support \u2028 \u2029 line terminators 2000-05-09 23:44:49 +00:00
waldemar%netscape.com 7647f38e6f Added 'public' to the list of qualifiers 2000-05-09 20:55:09 +00:00
rogerl%netscape.com f1ae8af483 playing with gencode 2000-05-09 19:01:00 +00:00
beard%netscape.com a4dea03835 Needed to transfer ownwership of iCode from ICodeGenerator to ICodeModule 2000-05-09 18:59:12 +00:00
beard%netscape.com bcdfb1addd generalized gc_allocator copy constructor 2000-05-09 18:32:14 +00:00
beard%netscape.com 6812bcc78f removed JSFunction::operator delete 2000-05-09 18:31:43 +00:00
rogerl%netscape.com d3b5bfb405 Fixed leakage of ICodeModule via JSFunction 2000-05-09 18:09:33 +00:00
beard%netscape.com eb9d678d61 Need to modify string BEFORE caching iterators. 2000-05-09 06:39:39 +00:00
beard%netscape.com ad2ad1e77c ensure that source buffer is always terminated by a uni::null (which isn't automatically true for basic_string<T>). 2000-05-09 06:31:54 +00:00
beard%netscape.com 7a09fcc4cd map::find() works just fine on all platforms. 2000-05-09 05:55:30 +00:00
beard%netscape.com a2f5fc24f7 generating code rather than showing tokens, printing generic result rather than assuming it's a float64. 2000-05-09 05:46:26 +00:00
beard%netscape.com 1c816f64a6 LoadString now has JSString* as second operand 2000-05-09 05:38:48 +00:00
beard%netscape.com 6f85ea39ec Added JSString(const String&) and operator<<(Formatter&, const JSString&) 2000-05-09 05:37:58 +00:00
beard%netscape.com c7c46e062f LOAD_STRING now has String as second operand rather than String* 2000-05-09 05:18:16 +00:00
beard%netscape.com 8647206526 VC6 bustage: can't initialize refs using construction form 2000-05-09 04:29:32 +00:00
beard%netscape.com 7b293d0e75 std::numeric_limits isn't working... 2000-05-09 04:26:44 +00:00
beard%netscape.com 3f60dde90e JSNativeFunction::mCode returns JSValue now to avoid leaking 2000-05-09 03:57:28 +00:00
beard%netscape.com 3553a3b540 print now returns JSValue, added space between args when printing 2000-05-09 03:56:56 +00:00
beard%netscape.com d0c644149e CASE(string) 2000-05-09 03:56:08 +00:00
beard%netscape.com e0725293d9 g++ basic_string annoyances 2000-05-09 03:55:43 +00:00
beard%netscape.com 7f3d0eee51 needed deallocate(void*, size_type) on XP_UNIX for basic_string. 2000-05-09 03:46:03 +00:00
beard%netscape.com 5e272eaaf9 Fixed leaks by changing JSValue::toString()/toNumber() to return JSValue rather than JSValue*. LOAD_STRING now creates a JSString from a String*. 2000-05-09 03:11:54 +00:00
beard%netscape.com 0327df07be Added JSString for gc-able UNICODE strings, changed toString(), toNumber() to return JSValue rather than JSValue*. 2000-05-09 03:10:04 +00:00
beard%netscape.com f97cc95de0 make wchar_t an atomic type, for JSString. 2000-05-09 03:06:49 +00:00
waldemar%netscape.com 0857316bd7 Changed default constructor name from 'new' to the same name as its class 2000-05-09 00:10:50 +00:00
rogerl%netscape.com d703cf6197 testing native 'print' function 2000-05-08 23:12:10 +00:00
rogerl%netscape.com 261b8ef660 Added more string handling + valueToString/Number code.
NativeFunction support.
2000-05-08 22:59:42 +00:00
waldemar%netscape.com 1d6bd07587 Fixed syntax errors 2000-05-06 03:47:35 +00:00
waldemar%netscape.com fd0ea8f40a Reordered includes to ensure that systemtypes.h is always included first; that's needed for Visual C++ 2000-05-06 03:47:13 +00:00
waldemar%netscape.com 73847d74d6 Reordered files back to dependency order. Added gc_allocator.h. 2000-05-06 03:33:25 +00:00
waldemar%netscape.com fdfd1288f5 Fixed syntax error 2000-05-06 03:31:50 +00:00
waldemar%netscape.com 4a3e9723dd Added formatters, zones, and other miscellaneous utilities 2000-05-06 03:31:35 +00:00
waldemar%netscape.com d9dcb3515c Fixed mac warning 2000-05-06 03:30:37 +00:00
rogerl%netscape.com 504e3cfd96 Load_String 2000-05-05 23:23:13 +00:00
rogerl%netscape.com 7030042c20 Basic string literal & value support 2000-05-05 23:22:31 +00:00
rogerl%netscape.com ca4af3db37 New arithmetic ops. 2000-05-05 21:38:16 +00:00
rogerl%netscape.com ed1a08b00a Bunch more arithmetic ops etc.
Also fixed case munging when class name was only 2 letters long.
2000-05-05 21:36:36 +00:00
beard%netscape.com 8f3673e367 Added debugger source 2000-05-05 18:20:05 +00:00
norris%netscape.com 3300d508c9 Fix bug of IndexOutOfRangeException for
function query(query, text) {}
2000-05-05 16:38:16 +00:00
norris%netscape.com 26d7203e07 Make NativeJavaPackage.class optional. 2000-05-05 16:37:40 +00:00
beard%netscape.com aa279464b9 No need to use string, now that size_t LineReader::readLine(String& wstr) exists. 2000-05-05 05:25:00 +00:00
beard%netscape.com 70fd8a8a97 added size_t LineReader::readLine(String& wstr) for convenience. 2000-05-05 05:24:02 +00:00
beard%netscape.com eba9b0985c regenerated dependencies 2000-05-05 04:58:56 +00:00
beard%netscape.com ec5da004d9 LineReader returns at least '\n' 2000-05-05 04:50:45 +00:00
beard%netscape.com 5a1ab13253 stdin rather than cin 2000-05-05 04:45:39 +00:00
beard%netscape.com a3c7ab8446 Needed to use namespace Interpreter to see Context, using LineReader instead of istream. 2000-05-05 04:44:51 +00:00
beard%netscape.com f1cda623c3 remove unnecessary #include <iostream> 2000-05-05 04:44:01 +00:00
beard%netscape.com efc76ad32c Use FILE* instead of istream& for better line handling 2000-05-05 04:43:12 +00:00
beard%netscape.com 825b909a2d EOF handling 2000-05-05 04:19:20 +00:00
beard%netscape.com a6aad50ed4 can't use std::getline() with a String on all platforms. 2000-05-05 04:10:01 +00:00
beard%netscape.com 00af2ac3c8 forward declaring std::istream. 2000-05-05 04:08:59 +00:00
beard%netscape.com 57e570a531 fixed ICodeGenerator/ICodeModule::print on Mac, which seems to be getting confused when using operator<< in another namespace. 2000-05-05 04:05:56 +00:00
beard%netscape.com a7729c3959 removed unused macro NS_JSICG. 2000-05-05 04:04:23 +00:00
rginda%netscape.com d2e0252642 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
2000-05-04 22:42:49 +00:00
rogerl%netscape.com cc4d067c13 Added const to the StringAtom usage.
Propagated variableList to ICodeModule
2000-05-04 22:08:38 +00:00
cls%seawood.org 4bb89416eb More OS/2 Makefile changes. Bug #34106 Batch 12 2000-05-04 11:00:47 +00:00
norris%netscape.com afafee3288 Add missing files. 2000-05-03 22:00:22 +00:00
norris%netscape.com 6e0e18c45e Clean up; remove need for synchronize 2000-05-03 21:55:09 +00:00
beard%netscape.com 5a2a9f040d fix assert bustage in DEBUG build. 2000-05-03 01:41:37 +00:00
cls%seawood.org ab7b9347df MOZ_JS_LIBS doesn't set the linker path so put it after MOZ_COMPONENT_LIBS. 2000-05-03 00:21:08 +00:00
thayes%netscape.com e4c6cab6d9 Replace implementation of nsISupports with thread-safe version. This allows
SSL/HTTPS operations to complete on debug builds with thread-safety checking.
r=bryner
2000-05-03 00:04:48 +00:00
mkaply%us.ibm.com 2c291b6d67 # 34082
r= rogerl
OS/2 bring up continues - support for debugging asserts on OS/2
2000-05-02 23:18:32 +00:00
mkaply%us.ibm.com bb754cab59 # 34082
r= rogerl
OS/2 bring up continues - VisualAge fixes
2000-05-02 22:44:23 +00:00
rogerl%netscape.com 0573914859 Cleaning up some label stuff 2000-05-02 21:36:28 +00:00
norris%netscape.com 9bf723214b Fix bug: All the standard object constructors were showing up as enumerable properties of the global object. 2000-05-02 17:36:47 +00:00
cls%seawood.org 04417332fe OS/2 Makefile.in tweaks. Batch 10 & 11. Bug #34106 2000-05-02 01:18:46 +00:00
rogerl%netscape.com 54e812842e r=norris@netscape.com. Add ASSERT/ASSERT_NOT cases to fixNext child
processing - was running into garbage when processing these as children
of a '|'
2000-05-01 21:57:22 +00:00
rogerl%netscape.com 0d6de00daf r=norris@netscape.com
Bug #34187, adding 'eval' as property of global object.
Bug #31864, decompiler failure when attempting to invoke a non-function
where that object is accessed via an incoming argument of the current
function.
2000-05-01 21:55:52 +00:00
rogerl%netscape.com ba3bbf1120 r=norris@netscape.com; Bug#32174
Prevent recursive death when user has a function 'Object'.
2000-05-01 21:53:20 +00:00
beard%netscape.com 846e79c959 warnings on Linux 2000-05-01 17:18:49 +00:00
beard%netscape.com 97c6f17dfa fixing breakage on Linux 2000-05-01 17:18:23 +00:00
beard%netscape.com 4942c057e3 removed unnecessary casts to int32 in ICodeGenerator::setLabel() which were generating warnings. 2000-05-01 17:11:36 +00:00
waldemar%netscape.com 1d32f1a9b3 Changed syntax of identifiers, attributes, expressions, functions, and packages. Added export, use, constructor, namespace, import. 2000-05-01 06:21:39 +00:00
beard%netscape.com 2d4c0ff91a made startsWith() static, to fix no prototype warning. 2000-04-30 14:56:31 +00:00
beard%netscape.com e863459fb5 added debugger.cpp/h. 2000-04-30 14:55:51 +00:00
beard%netscape.com a5df22b0a6 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. 2000-04-29 14:44:42 +00:00
beard%netscape.com 7d9e844cad 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. 2000-04-29 14:43:36 +00:00
beard%netscape.com b6d49c9fe0 Added JSScope::getParent(). 2000-04-29 14:39:50 +00:00
beard%netscape.com 6f9510ebc6 JSNamespace -> JSScope. 2000-04-29 14:14:28 +00:00
beard%netscape.com e9c3fbc2e1 JSValue::operator==(const JSValue&) 2000-04-29 14:13:43 +00:00
beard%netscape.com 6d66e9ffb3 Added JSValue::operator==(const JSValue&), renamed JSNamespace JSScope. 2000-04-29 14:13:08 +00:00
beard%netscape.com 50f1660869 moved kUndefinedValue to jstypes.cpp, where it belongs. 2000-04-29 14:11:27 +00:00
beard%netscape.com 9a9f6ba249 added WITHIN, WITHOUT instructions. 2000-04-29 14:10:53 +00:00
beard%netscape.com 3eed137323 fixing windows bustage. 2000-04-29 00:29:56 +00:00
rginda%netscape.com 522d51c5b6 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
2000-04-29 00:23:06 +00:00
beard%netscape.com 4a8f41d458 Added jstypes.cpp 2000-04-28 23:10:06 +00:00
beard%netscape.com 1f0e341d77 Merged JSMap & JSObject. Introduced JSNamespace. 2000-04-28 23:04:43 +00:00
rginda%netscape.com a41de8f590 80 column nit picked, comment fixed 2000-04-28 15:32:54 +00:00
beard%netscape.com aec49c3ae8 Don't print BRANCH operands. 2000-04-28 13:46:01 +00:00
beard%netscape.com 34189b3459 tightened up spacing in printOperands(), changed GenericBranch.printOperands() to conditionally print condition register contents. 2000-04-28 13:44:59 +00:00
beard%netscape.com f4ae9c632f tightened up spacing in printOperands(). 2000-04-28 13:43:49 +00:00
beard%netscape.com 74ffb17601 Added Tracer to testFunctionCall(). 2000-04-28 13:31:39 +00:00
beard%netscape.com 0be964c389 const ArgList& makes gcc happy. 2000-04-28 13:25:57 +00:00
beard%netscape.com 0a05625ba6 Added jstypes.o 2000-04-28 13:25:24 +00:00
beard%netscape.com 3583fb214c added ArgList helper struct to print Call operands, regenerated printOperands() methods to reduce warnings. 2000-04-28 13:20:26 +00:00
beard%netscape.com b790669bbc operator<< (Formatter& f, ArgList& al) 2000-04-28 13:18:03 +00:00
beard%netscape.com 9252fe2e66 support for printing ArgLists. 2000-04-28 13:17:35 +00:00
beard%netscape.com 63bdc966ee Unused. 2000-04-28 13:16:23 +00:00
beard%netscape.com 5416b79b52 regenerated dependencies 2000-04-28 05:46:22 +00:00
beard%netscape.com 905703a8f3 tracing now prints instruction operands. 2000-04-28 05:44:38 +00:00
beard%netscape.com 74a712cb16 using JSValue::tag to do simple operand validation. 2000-04-28 05:43:33 +00:00
beard%netscape.com 0738cd6cd1 forward declaring ICodeModule, to break circularity. JSValue is now a tagged union. 2000-04-28 05:42:46 +00:00
beard%netscape.com ea344e71ab Instruction::count(), Instruction::printOperands(), plus newly generated instruction classes. 2000-04-28 05:41:54 +00:00
beard%netscape.com d175bc97b6 added jstypes.cpp 2000-04-28 05:40:42 +00:00
beard%netscape.com ca3c76a044 operator<<(Formatter&, const JSValue&) 2000-04-28 05:40:16 +00:00
beard%netscape.com 554a69c801 generates printOperands() 2000-04-28 05:39:27 +00:00
beard%netscape.com f9b2ea4212 runs gencode.pl with MW Perl. 2000-04-28 05:39:04 +00:00
waldemar%netscape.com a1e085023c Changed attributes and 'language' statement syntax, added interfaces, and removed ^*, ^?, |*, and |?. 2000-04-28 02:34:14 +00:00
rginda%netscape.com ac3f62e80e don't generate print_args if super_has_print
comment fixes
2000-04-28 02:33:36 +00:00
waldemar%netscape.com a6891ee49a Changed period to dot 2000-04-28 02:31:41 +00:00
waldemar%netscape.com cee3bc879e Fixed syntax of (bottom) 2000-04-28 02:30:44 +00:00
waldemar%netscape.com 9c8cec86f9 First Checked In. 2000-04-28 02:30:19 +00:00
rginda%netscape.com 2b82c98539 moved comment so it made more sense 2000-04-28 02:26:14 +00:00
beard%netscape.com d30332fed4 reordered inheritance graph of Linkage. 2000-04-28 02:23:08 +00:00
rginda%netscape.com 4f2ea173c2 printarg stubbed out 2000-04-28 02:20:23 +00:00
beard%netscape.com 6b94a5aefc testProto() 2000-04-28 01:43:03 +00:00
rogerl%netscape.com f399ef5301 try/catch exercise changes 2000-04-28 00:11:18 +00:00
rogerl%netscape.com 7b1fe9f1b1 fixed bad constructor thing. 2000-04-28 00:10:22 +00:00
norris%netscape.com ff5f45db12 Propagate changes from 1.21.2.3 into tip. 2000-04-27 18:39:10 +00:00
rogerl%netscape.com d96a9a02a4 More exception handling handling. 2000-04-27 01:27:09 +00:00
norris%netscape.com a0d8c78c2d Allow multiple uses of importClass on the same class. 2000-04-26 23:47:15 +00:00
norris%netscape.com a5493a0353 Fix bug 37317. 2000-04-26 23:33:25 +00:00
norris%netscape.com 70aa69f0a0 Fix NullPointerException caused by clearing cache 2000-04-26 22:48:48 +00:00
beard%netscape.com fec4f17019 oops. 2000-04-26 22:10:20 +00:00
beard%netscape.com 328d338eaf removed JSMap::operator[], added set/getPrototype(). 2000-04-26 22:06:17 +00:00
beard%netscape.com 8ec53e3c09 oops getProperty() can't be const unless map.find() is used everywhere. 2000-04-26 21:48:04 +00:00
beard%netscape.com 4fb22b1f43 Using getProperty/setProperty rather than JSMap::operator[]. This follows the prototype chain. 2000-04-26 21:38:14 +00:00
beard%netscape.com 3610f211ce added JSMap::setProperty()/getProperty(), and a prototype field. 2000-04-26 21:27:44 +00:00
rginda%netscape.com db9c7f1a2a initial add of debugger vapors 2000-04-26 06:04:02 +00:00
beard%netscape.com 3b3617a676 Fixing windows bustage in Linkage. 2000-04-26 05:56:20 +00:00
beard%netscape.com c9140f3cfb fixing bug: js2.cpp:328: Internal compiler error in scope_die_for, at dwarf2out.c:7794 Please submit a full bug report. See <URL:http://www.gnu.org/software/gcc/faq.html#bugreport> for instructions. 2000-04-26 05:43:24 +00:00
beard%netscape.com 4d54a513ae testFactorial() now installs a Context::Listener to trace execution. 2000-04-26 05:37:00 +00:00
beard%netscape.com 4996f07b77 JSActivation -> Activation, JSLinkage --> Linkage. Linkage now implements the Context::Frame interface. Implemented simple Context::Listener support. 2000-04-26 05:35:07 +00:00
beard%netscape.com 31c7fe60f7 Added Context::Frame, Context::Listener abstract classes. Initial support for debugger. 2000-04-26 05:29:35 +00:00
beard%netscape.com 51b10bdffb JSFrame -> JSLinkage, using explicit linked list rather than a stack. 2000-04-26 01:42:00 +00:00
beard%netscape.com 14e2fadb8c removed intentionally private JSActivation/JSFrame types. The debugger should be able to ask questions of the interpreter to obtain this information. 2000-04-26 01:39:56 +00:00
jband%netscape.com 4ca5f185a3 be less aggresive in shutdown cleanup to avoid shutdown crashes. See bug 37058 for an example stack. 2000-04-25 07:26:02 +00:00
jband%netscape.com 97a6fcc778 release the threadcontextstack to avoid a shutdown leak 2000-04-25 04:59:21 +00:00
jband%netscape.com 35d002f3fe Cleanup at shutdown the JSContexts that xpconnect manages on a per thread basis. This should fix some shutdown leaks. 2000-04-25 04:57:32 +00:00
beard%netscape.com b33c70b006 changed Context constructor to take JSObject* not JSObject&, to be able to control lifetime a little more carefully. 2000-04-25 03:32:53 +00:00
beard%netscape.com 02525db2ed warning removal 2000-04-25 03:28:41 +00:00
beard%netscape.com 1bc1bc77d5 fixing mac bustage (we do reference argc/argv, to initialize them to something sensible). 2000-04-25 02:58:30 +00:00
beard%netscape.com 88208308b6 renamed not() -> complement() (not is a keyword in C++), implemented complement(). 2000-04-25 02:55:08 +00:00
brendan%mozilla.org 1a90497652 Final destroy-context must await racing GCs before freeing atom state (32525, r=jband). 2000-04-25 01:12:36 +00:00
rogerl%netscape.com 43a5e02de9 Fixes for handling missing params. 2000-04-24 22:40:53 +00:00
rginda%netscape.com cdf10d48f2 adding comments 2000-04-24 21:43:49 +00:00
rginda%netscape.com 9366e18dd5 NotARegister check in GenericBranch::print() 2000-04-24 20:08:16 +00:00
norris%netscape.com 600d365e30 Patch from Matthias Radestock <rade@logee.com>:
Subject:
             JavaAdapter return type conversion
        Date:
             Wed, 19 Apr 2000 12:12:47 +0100
       From:
             Matthias Radestock <rade@logee.com>
 Organization:
             Logee
         To:
             norris@netscape.com
         CC:
             mccabe@netscape.com, beard@netscape.com, rogerl@netscape.com




Dear Rhino team,

When returning an array from a scripted Java object (i.e. a JS object
that implements a Java interface), no type conversion is performed, ie.
a NativeArray is returned instead of a Java array. Example:

Java:
interface Foo {
        public String[] boo();
        }

JS:
FooI = {
        boo: function() { return ["Boo"];}
        }
myFoo = new Packages.Foo(FooI);
myFoo.boo(); //==> breaks with a ClassCastException


Looking at the JavaAdapter code, there is no code for array conversion.
This is particularly bad because precisely such a conversion *does*
happen when calling a Java method from JS. So we end up with a
discrepancy.

See attachment for a patch to fix this and little test program. The
patch works by calling the coerceType function on NativeJavaObject,
which is the function responsible for doing the conversion when calling
from JS to Java. I've simplified the code so that this function gets
called for all non-primitive return type, not just arrays. There are
probably more efficient solutions but I'm not a Java bytecode hacker.


Matthias
PS: I didn't open a bug for this because I wasn't sure whether you guys
would agree that this is indeed a problem ;)





public interface JSReturnTest {

  public boolean returnBoolean();
  public char returnChar();
  public int returnInt();
  public String returnString();
  public org.mozilla.javascript.Scriptable returnScriptable();
  public Object returnObject();
  public boolean[] returnBooleanA();
  public char[] returnCharA();
  public int[] returnIntA();
  public String[] returnStringA();
  public org.mozilla.javascript.Scriptable[] returnScriptableA();
  public Object[] returnObjectA();
  public Object[][] returnObjectAA();
}




Index: JavaAdapter.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/JavaAdapter.java,v
retrieving revision 1.21
diff -r1.21 JavaAdapter.java
54c54,59
<
---
>
>     public static Object convertResult(Object result, String classname)
>     throws ClassNotFoundException {
>         return NativeJavaObject.coerceType(Class.forName(classname),
>                                            result);
>     }
467,474c472,474
<         } else  if (retType.equals(String.class)) {
<             cfw.add(ByteCode.INVOKESTATIC,
<                     "org/mozilla/javascript/Context",
<                     "toString", "(Ljava/lang/Object;)",
<                     "Ljava/lang/String;");
<             cfw.add(ByteCode.ARETURN);
<         } else if (retType.equals(Scriptable.class)) {
<             cfw.add(ByteCode.ALOAD_0);  // load 'this' to find scope from
---
>         } else {
>             String retTypeStr = retType.getName();
>             cfw.addLoadConstant(retTypeStr);
476,477c476,477
<                     "org/mozilla/javascript/Context",
<                     "toObject",
---
>                     "org/mozilla/javascript/JavaAdapter",
>                     "convertResult",
479,500c479,480
<                      "Lorg/mozilla/javascript/Scriptable;)",
<                     "Lorg/mozilla/javascript/Scriptable;");
<             cfw.add(ByteCode.ARETURN);
<         } else {
<             // If it is a wrapped type, cast to Wrapper and call unwrap()
<             cfw.add(ByteCode.DUP);
<             cfw.add(ByteCode.INSTANCEOF, "org/mozilla/javascript/Wrapper");
<             // skip 3 for IFEQ, 3 for CHECKCAST, and 5 for INVOKEINTERFACE
<             cfw.add(ByteCode.IFEQ, 11);
<             cfw.add(ByteCode.CHECKCAST, "org/mozilla/javascript/Wrapper");
<             cfw.add(ByteCode.INVOKEINTERFACE,
<                     "org/mozilla/javascript/Wrapper",
<                     "unwrap", "()", "Ljava/lang/Object;");
<
<             // If Undefined, return null
<             cfw.add(ByteCode.DUP);
<             cfw.add(ByteCode.INSTANCEOF, "org/mozilla/javascript/Undefined");
<             // skip 3 for IFEQ, 1 for ACONST_NULL, 1 for ARETURN
<             cfw.add(ByteCode.IFEQ, 5);
<             cfw.add(ByteCode.ACONST_NULL);
<             cfw.add(ByteCode.ARETURN);
<
---
>                     "Ljava/lang/String;)",
>                     "Ljava/lang/Object;");
502,503c482
<             String retTypeStr = retType.getName().replace('.', '/');
<             cfw.add(ByteCode.CHECKCAST, retTypeStr);
---
>             cfw.add(ByteCode.CHECKCAST, retTypeStr.replace('.', '/'));



   testpatch.js

               Name:
                     testpatch.js
                Type:
                     JavaScript Program (application/x-javascript)
             Encoding:
                     7bit
2000-04-24 19:36:51 +00:00
rginda%netscape.com 9c545008e5 quieting linux warnings 2000-04-24 18:41:05 +00:00
jband%netscape.com fbf36f7076 belt and suspenders check of WITH_SERVICE results 2000-04-23 23:04:40 +00:00
jband%netscape.com 98eeec5119 fix a dangerous looking (but harmless) warning on Mac opt 2000-04-22 01:06:42 +00:00
rogerl%netscape.com adfcfe0dca Added a beginning for exception handling. 2000-04-21 22:52:52 +00:00
mccabe%netscape.com 610a029cf5 Fix to 23532. Check validity of JS_ARENA_ALLOCATE call before using it as an argument of memcpy in JS_ArenaGrow.
Thanks to wyeung@real.com for noticing we were being unsafe here and suggesting the fix.
2000-04-21 09:25:43 +00:00
brendan%mozilla.org 27df4eb10b Spruce up a couple of comments. 2000-04-21 01:49:49 +00:00
brendan%mozilla.org 3bdfa83a05 Functions that use unqualified __parent__ or __proto__ must be heavyweight (36625, r=shaver). 2000-04-21 01:47:20 +00:00
rginda%netscape.com 8007074ccd Add nsIScriptError.idl. Build it here rather than back in xpfe/components/console. Checkin by McCabe, on rginda's mac. 2000-04-21 00:57:27 +00:00
rogerl%netscape.com 4683e4c869 oops 2000-04-21 00:46:48 +00:00
rogerl%netscape.com 8c81be5a55 Added labelled statements, fixed some VC++'isms 2000-04-21 00:37:51 +00:00
rginda%netscape.com 6ceaff6eaf 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
norris%netscape.com 2c9997aaf4 Clean up new methods. 2000-04-20 23:08:07 +00:00
beard%netscape.com 45f08249f7 Simple dependency tracking with make depend target. 2000-04-20 23:02:19 +00:00
rogerl%netscape.com d2674e90be Added ASSERT cases to FixNext child handling. 2000-04-20 23:00:37 +00:00
beard%netscape.com d40f4c7499 Simple dependencies list. Rebuilt with make depend target. 2000-04-20 22:58:23 +00:00
norris%netscape.com 07735d8e89 Fix build error. 2000-04-20 22:36:46 +00:00
norris%netscape.com 721391dfa7 Subject:
contextClassloader problem in ScriptRuntime.java
   Date:
        Tue, 11 Apr 2000 09:45:36 -0400
   From:
        "Howard Lin" <howard@softcom.com>
     To:
        "Norris Boyd" <norris@netscape.com>
    CC:
        "Andrew Wason" <aw@softcom.com>




Hi, Norris, we are trying to create a Java class in JavaScript. When security manager is on, everything works fine. But when security
manager is off, we got an error saying the "... is not defined". The problem is that in ScriptRuntime.java, when security is on,
getContextClassLoader is null due to SecurityException and Class.forName is used to find the class, which works fine. When security
is off, ContextClassLoaderMethod is invoked to find the class. Since we use a separate thread to load third party jar files,
ContextClassLoaderMethod will throw a ClassNotFound exception.

To illustrate this problem, I wrote a simple applet, evaluating a simple js file in its paint method, which is running on a separate thread.
When security is off, I got the following:

ReferenceError: "Global" is not defined.
        at org.mozilla.javascript.NativeGlobal.constructError(NativeGlobal.java:
494)
        at org.mozilla.javascript.ScriptRuntime.name(ScriptRuntime.java, Compile
d Code)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java, Compil
ed Code)
        at org.mozilla.javascript.InterpretedScript.call(InterpretedScript.java:
67)
        at org.mozilla.javascript.InterpretedScript.exec(InterpretedScript.java:
54)
        at org.mozilla.javascript.Context.evaluateReader(Context.java:739)
        at test.evaluate(test.java:26)
        at test.paint(test.java:16)
        at sun.awt.windows.WComponentPeer.handleEvent(WComponentPeer.java:117)
        at java.awt.Component.dispatchEventImpl(Component.java:2447)
        at java.awt.Container.dispatchEventImpl(Container.java:1035)
        at java.awt.Component.dispatchEvent(Component.java:2307)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:287)
        at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:10
1)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:92)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:83)

When security is on, it runs fine. Or if the code moved to init method, it works fine regardless of security. We are using JDK 1.2.2.

Howard
2000-04-20 19:53:16 +00:00
jband%netscape.com dc13704f3f Had the wrong clazz for the root! So it was better when the caching was broken. Now it works on MI objects with caching fixed. My bad copy/paste error from long ago. 2000-04-20 12:16:45 +00:00
jband%netscape.com 41e5c7514e backing out little fix from earlier today because it causes crashes in some MI cases. I'll investigate and do the right fix 2000-04-20 11:06:48 +00:00
brendan%mozilla.org 8dc79066e8 Check access and redeclaration legality when defining a getter/setter (36117, r=norris) 2000-04-20 07:10:14 +00:00
beard%netscape.com 40022cf8f5 removed extraneous semi-colons after namespace declarations. 2000-04-20 06:20:31 +00:00
beard%netscape.com 7279428cf8 warnings: commented out unused parameter name. 2000-04-20 06:19:43 +00:00
jband%netscape.com a0b141afcc fix typo bug that was causing wrapper cache misses on wrapper around objects implementing multiple interfaces when the first wrapper is made for an interface that is not leftmost 2000-04-20 03:38:47 +00:00
norris%netscape.com b27bb891d9 Add line number information. 2000-04-19 23:24:04 +00:00
rogerl%netscape.com 07efe443fa Removing variables. 2000-04-19 22:45:57 +00:00
rogerl%netscape.com f07ec29168 Added hasOwnProperty, propertyIsEnumerable, isPrototypeOf to Object. 2000-04-19 22:32:50 +00:00
rogerl%netscape.com 2beda190e7 Began moving away from variables, fixed compare/branch ordering.
Testcases working.
2000-04-19 02:09:06 +00:00
scc%netscape.com 18ebe287b9 making string conversions explicit 2000-04-18 23:53:10 +00:00
rginda%netscape.com 4308ea7ed1 formatting changes. use only one tab regardless of nested namespaces 2000-04-18 21:51:45 +00:00
norris%netscape.com d23d359cba Add missing method for 1.4R3 compatibility. 2000-04-18 16:53:28 +00:00
norris%netscape.com 564f1dca5b Fix bug where a bean property can conflict with a method name. 2000-04-18 16:52:00 +00:00
norris%netscape.com 3ef540f70d Fix bug:
var a = Math.abs;
  a(-245);

  gets the following error :

  org.mozilla.javascript.EvaluatorException: Method "abs" called on
  incompatible object.
2000-04-18 16:34:36 +00:00
rginda%netscape.com 6d135f273c removed superfluous ;s after namespace decs. 2000-04-18 07:14:49 +00:00
rginda%netscape.com 12509b464c regenerated opcode classes after grncode.pl changes 2000-04-18 07:06:25 +00:00
rginda%netscape.com ad7e72b179 modified to print R~ if NotARegister 2000-04-18 07:04:24 +00:00
dp%netscape.com fb1a037854 Implemented component unregister. 2000-04-18 05:26:40 +00:00
mccabe%netscape.com 9908d528c7 added files: mozilla/js/src/xpconnect/src/nsScriptError.cpp 2000-04-18 02:35:06 +00:00
mccabe%netscape.com 369030f2b6 Move nsIConsoleService and implementation into xpcom/base, and nsIScriptError and implementation into js/src/xpconnect. (A place for JavaScript-specific XPCOM would be better, but xpconnect will do). 2000-04-18 02:34:54 +00:00
rogerl%netscape.com ef88b04ba2 added '(' for RegisterList output 2000-04-18 01:46:32 +00:00
rginda%netscape.com c156b65e07 regenerated opcodenames to include padding, added label printing back into icg::print 2000-04-18 01:31:24 +00:00
rginda%netscape.com a74abe59c8 space out opcodenames array 2000-04-18 01:19:12 +00:00
beard%netscape.com f51bb4d1d9 std::pair 2000-04-18 00:52:07 +00:00
beard%netscape.com cbc85867b4 moved initConsole() out to :: namespace. 2000-04-18 00:51:53 +00:00
beard%netscape.com a45402c371 added vmtypes.h,.cpp 2000-04-18 00:50:58 +00:00
rogerl%netscape.com f14edea523 added vmtypes/jstypes 2000-04-18 00:46:18 +00:00
rogerl%netscape.com 8812cb41bd Fixed WINDOZE build issues 2000-04-18 00:38:26 +00:00
rginda%netscape.com 0d5e50344a initial add of perl script to generate icode classes 2000-04-18 00:22:51 +00:00
rginda%netscape.com 17ec7b0f1a removing bogus file 2000-04-18 00:20:10 +00:00
rginda%netscape.com 501e880dcc adding files for namespace change 2000-04-18 00:19:09 +00:00