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

5657 Коммитов

Автор SHA1 Сообщение Дата
igor%mir2.org 4da147d828 Adjusting examples not to assume that Context.initStandardObjects(ScriptableObject) returns ScriptableObject since that was changed back to Scriptable for compatibility. 2003-11-04 14:54:43 +00:00
igor%mir2.org 4c338669a9 Removal of initStandardObjects(boolean) not to proliferate versions of initStandardObjects: if Rhino would support recursive object sealing, it would not be necessary to call initStandardObjects with sealed flag at all. 2003-11-04 14:52:48 +00:00
igor%mir2.org 6cbd10e41c JavaDoc @link fixes 2003-11-04 14:49:20 +00:00
igor%mir2.org da6b0bef31 Return type of Context.initStandardObject(ScriptableObject) is changed back to Scriptable for binary compatibility. 2003-11-03 20:42:32 +00:00
brendan%mozilla.org cd582ddebe Move ComputeThis call up in js_Invoke so __noSuchMethod__ sees the correct |this| parameter. 2003-11-03 20:23:23 +00:00
igor%mir2.org 8349b3ea49 Removal of possibility to alter JavaAdapter through an external property as such functionality is redundant and can be emulated with altering JavaAdapter in the scope object after Context.initStandardObjects returns. 2003-11-03 19:58:17 +00:00
igor%mir2.org 7d26c9eb27 Use reflection to access JavaAdapter to allow to use NativeJavaObject with JavaAdapter classes absent. 2003-11-03 19:55:37 +00:00
igor%mir2.org 80c54a080a When converting function to Java interface and checking for the previous wrapping, do not use key stored in ClassCache.javaAdapterIFGlueMasters as it can be thrown away when caches are emptied and instead construct a key object from the passed class and uniqueness tag. 2003-11-03 18:15:00 +00:00
igor%mir2.org bef3bd17c6 In NativeJavaClass.constructSpecific use passed scope, not function pointer as scope source so shared system scope with custom top scope and custom wrap factory would work. 2003-11-03 18:06:49 +00:00
igor%mir2.org 2c30bb423d Added Kit.makeHashKeyFromPair to make combined key for hashtables from 2 objects 2003-11-03 18:04:27 +00:00
brendan%mozilla.org 2e7b972ae2 Fiddle a bit cosmetically to make arena member comparisons have the same form; add a comment. 2003-11-03 17:47:43 +00:00
brendan%mozilla.org 1156b9ae73 Squeeze a few instructions out of the noSuchMethod special case, and restore needed arena metering (followup to 196097, r=sparky). 2003-11-03 05:07:41 +00:00
brendan%mozilla.org 7809adca33 Fix missing cx param problem (223041, r=caillon, sr=dbaron). 2003-11-03 04:26:55 +00:00
igor%mir2.org ef93931896 Added Context.javaToJS as a convenient way to get JS values from Java objects and Context.emptyArgs so documentation does not need to refer to ScriptRuntime.emptyArgs. 2003-11-02 21:15:14 +00:00
igor%mir2.org e793b86743 In WrapFactory.wrap use String.valueOf(charValue) instead of new String(new char[] { charValue }) to get string from character. 2003-11-02 21:12:08 +00:00
brendan%mozilla.org c4cd345781 Fix JS_DropPrincipals (thanks, dbaron). 2003-11-02 03:25:25 +00:00
brendan%mozilla.org c85bc41f9e Use eval's object principals if possible, ditto for other eval-like methods (223041, r=caillon, sr=shaver). 2003-11-02 01:04:50 +00:00
igor%mir2.org 314f3f5bc8 Deprecation of get/setAttributes forms that take start argument. It was never used to pass anything but this object. 2003-11-01 20:23:28 +00:00
igor%mir2.org efd61a6673 Since Undefined inherits from Scriptable, not ScriptableObject, it does not need to override get/setAttributes() 2003-11-01 20:21:28 +00:00
igor%mir2.org 674cfbf1bb Removal of completely unnecessary getSlotToSet as its implementation repeated already unsuccessfully search done by getSlot. The put methods now call addSlot directly.
In addition, shared code in has and get to check/update lastAccess cache is moved to common method getNamedSlot.
2003-11-01 19:40:24 +00:00
igor%mir2.org 16dcc44df0 GlobalScope is removed as its introduction had to serious consequences with compatibility and usage. Instead a special purpose class ClassCache is introduces to hold various caches. The class binds itself to an arbitrary object by using new SciptableObject.associateValue method so arbitrary ScriptableObject can be used as a scope without performance penalties. 2003-11-01 15:34:23 +00:00
brendan%mozilla.org e9ff806fda Fix from zack-weg@gmx.de for magic number botch and early Java bug copy/paste in Math.random code (211590, r=me). 2003-10-31 23:21:13 +00:00
igor%mir2.org f78d4de11b parent and prototype fields are made privatenot to allow to mess with them from subclasses. Althoygh setter and getter can be used still to do that, at least some sanity checks can be added there. 2003-10-30 16:40:43 +00:00
igor%mir2.org 2851be6c6c Use getPrototype instead of explicit reference to this.prototype 2003-10-30 16:40:42 +00:00
igor%mir2.org 6b0c1e82ad passing Context instance to NativeJavaMethod.findMethod not to call Context.getContext() id some form of API to override method selection will surface 2003-10-30 16:40:41 +00:00
igor%mir2.org 552126e233 Added readReader 2003-10-30 16:40:40 +00:00
igor%mir2.org ba5928dd83 Not to call Context.getContext() in TokenStrea/IRFactory, an explicit Context instance is passed to TokenStream constructor 2003-10-30 16:40:39 +00:00
igor%mir2.org 85fcb8e2bc Use passed scope instead of the object parent scope 2003-10-30 16:39:46 +00:00
igor%mir2.org a80d67208d First part of resolving http://bugzilla.mozilla.org/show_bug.cgi?id=223435 :
Allow to pass JS function to Java method accepting interface with single method. The function will be called when interface method will be called.
2003-10-28 08:37:30 +00:00
igor%mir2.org c25c8fc58f Added getAssociatedValue()/associateValue() to allow to connect arbitrary application-specific object with ScriptableObject. 2003-10-27 19:19:50 +00:00
brendan%mozilla.org 102afcc93c Don't under-malloc for short script filename entry (223810, r=shaver, a=dbaron). 2003-10-27 19:13:01 +00:00
igor%mir2.org 7514a2a682 Added initHash which would put value into hashtable only if it is first. This is usable to ensure proper synchronization with lazy initialization. 2003-10-27 18:45:39 +00:00
igor%mir2.org 2b2f9d3303 If invoker master throws RuntimeException during creation of invoker, then disable invokerOptimization. It fixes regression when SecurityManager prevents InvokerMaster from creation of class loader. 2003-10-27 18:42:39 +00:00
tor%cs.brown.edu 7d206cb287 Backout of bug 153586. a=asa 2003-10-27 17:00:38 +00:00
igor%mir2.org 64affb2798 Added addPush version taking long argument. 2003-10-27 15:47:05 +00:00
pschwartau%netscape.com 1faffc0fb6 Replacing "Copyright �" by "Copyright (C)" in JS test suite sources. See bug 222759. 2003-10-27 01:49:27 +00:00
igor%mir2.org a9d220df39 Common logic to create and cache adapter class on demand is moved to the new method getAdapterClass 2003-10-25 11:46:18 +00:00
igor%mir2.org 8b796c2f63 In getApplicationClassLoader cache result of Thread.getContextClassLoader if it coincides with the loader that loaded Context class. 2003-10-25 11:42:34 +00:00
brendan%mozilla.org 94f8c13c56 Hack to cope with input case (/|/, /x|/, etc.) not handled by recent rewrite (223535, r=timeless, sr=shaver, a=asa). 2003-10-24 22:23:36 +00:00
pschwartau%netscape.com 82a03fc995 Adding more cases. 2003-10-24 17:55:06 +00:00
pschwartau%netscape.com e3b4c16fa0 Initial add. Regression test for bug 223535. 2003-10-24 17:47:36 +00:00
pschwartau%netscape.com 92ef5f7beb Follow Perl 5, not ECMA-262 Ed 3 on unescaped, unbalanced brackets and braces. See bug 223273. 2003-10-24 17:18:21 +00:00
pschwartau%netscape.com 21596d6383 Correcting a mistake: remember to escape the escape character inside eval strings! 2003-10-24 00:51:37 +00:00
brendan%mozilla.org 0355393543 Fix to error on extra ) in regexp rather than corrupt 'n' crash (223273, r=timeless, sr=shaver, a=asa). 2003-10-24 00:37:49 +00:00
igor%mir2.org e5b4886f58 Added information on shared scopes 2003-10-23 21:49:23 +00:00
igor%mir2.org f813a31aa8 Updated to remove NotAFunction exception handler which is not generated any more and was deprecated. 2003-10-23 21:48:45 +00:00
pschwartau%netscape.com 0b9f8244c1 Whitespace fix. 2003-10-23 21:15:06 +00:00
pschwartau%netscape.com e03b9ebe33 Fixing a comment. 2003-10-23 21:13:34 +00:00
pschwartau%netscape.com d04a86445e Added cases covering unbalanced brackets and braces. 2003-10-23 20:48:43 +00:00
pschwartau%netscape.com 054eaeb6fc Initial add. Regression test for bug 223273. 2003-10-23 20:27:32 +00:00
igor%mir2.org a23733fc96 The class is no longer used. 2003-10-22 08:02:37 +00:00
igor%mir2.org 00c2ae199e 1. Added Context.hideFromContextListeners() which makes invisible for listeners.
2. Made sure that ContextListener.contextCreated is called only once. After a resent change to call the method from Context.enter, not from Context constructor the method would be called each time on first enter which broke the debugger.

3. Using new listener utilities from Kit instead of ListenerArray methods that would create a special storage object only if there is more then one listener.
2003-10-22 08:01:46 +00:00
igor%mir2.org 0e4347e841 Added JavaDoc for listener utilities 2003-10-22 07:57:49 +00:00
dbaron%dbaron.org 99ee03d000 Convert CR-LF line endings to LF. 2003-10-22 07:30:52 +00:00
brendan%mozilla.org eb925a7246 Check in rogerl's big perf patch (85721). 2003-10-22 07:01:50 +00:00
brendan%mozilla.org a15916b480 Add __noSuchMethod__ handler support, and clean up js_ValueToFunction/js_ReportIsNotDefined error diagnosis hard cases (196097, r=sparky). 2003-10-22 06:26:03 +00:00
caillon%returnzero.com 66caced69a Re-land patch for bug 83536, merging principal objects.
Also includes fixes from bug 216041.
r=bzbarsky
sr=jst
2003-10-21 22:11:49 +00:00
tor%cs.brown.edu 6f00139216 Bug 153586 - add js callback to convert native string to unicode, use
for date.toLocale*String.  r=jst, sr=brendan
2003-10-21 18:03:04 +00:00
igor%mir2.org 368bd47f1e Introduction of org.mozilla.javascript.Kit to contain generic support utilities. 2003-10-21 13:43:22 +00:00
igor%mir2.org 8c9720b2b3 Use getPrototype instead of explicit reference to this.prototype 2003-10-21 13:43:21 +00:00
igor%mir2.org 31bc498af4 Added readUrl method to shell 2003-10-21 09:13:59 +00:00
igor%mir2.org d6cd0b4569 Reuse results of method.getParameterTypes() and better hash code for javaAdapterSignature. 2003-10-20 14:11:08 +00:00
igor%mir2.org 0e47d37a12 Count syntax error in TokenStream directly instead of going through Context object so it would be possible to use TokenStream without instantiating Context. 2003-10-20 14:06:12 +00:00
igor%mir2.org 36c079aa4c Cosmetics: indentation fixes 2003-10-20 14:02:53 +00:00
igor%mir2.org 136718b2e1 1. Static hash table in JavaAdapter is replaced by a non-static fields in GlobalScope.
2. NativeObject implements just Serializable, not Externalizable interface to simplify serialization.
2003-10-19 09:59:52 +00:00
igor%mir2.org 2d87a134ca Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=222635 :
Now activation is always properly removed under the debugger.
2003-10-17 18:24:29 +00:00
igor%mir2.org d939e7224e I changed FunctionObject and ScriptableObject to use MemberBox wrapper for native methods, getters and setters that allowed to get following:
1. Method serialization code in MemberBox takes care of all serialization so ScriptableObject and FunctionObject does not need anything on its own.

2. Invoker optimization is extended to getters and setters in ScriptableObject.

3. Recovery from IllegalAccessException is extended to all cases of method invocation via reflection.

4. All error wrapping happens in a single class so FunctionObject and ScriptableObject does not need to wary about it.
2003-10-16 14:27:53 +00:00
pschwartau%netscape.com 2049f8f1b7 Skip new tests that use SpiderMonkey's f.caller property (non-ECMA). 2003-10-16 04:08:38 +00:00
brendan%mozilla.org 45f871a076 Fix f.call and f.apply so f.caller skips those natives, to match IE (222029, r=shaver). 2003-10-16 03:30:18 +00:00
igor%mir2.org d4413688b0 Updated ftp links to the download files due ftp server reorganization 2003-10-15 18:13:33 +00:00
brendan%mozilla.org 8a74bd32a6 Fix comment bug reported by timeless (222055). 2003-10-13 23:25:48 +00:00
pschwartau%netscape.com d764fcd48b Initial add. Regression test for bug 222029. 2003-10-13 22:23:17 +00:00
pschwartau%netscape.com e21b28f1d4 Whitespace fix. 2003-10-13 20:56:55 +00:00
pschwartau%netscape.com d3607e4a9d Initial add. Regression test for bug 222029. 2003-10-13 20:18:46 +00:00
brendan%mozilla.org ef6607007f Expand tabs, add assertion. 2003-10-13 18:38:50 +00:00
igor%mir2.org 4b876ea459 Code to create invoker master instance is placed into Invoker itself since FunctionObject does not need to know which classes stays behind the implementation. 2003-10-13 16:04:20 +00:00
igor%mir2.org c21ab0c7a0 FunctionObject.convertArg is split into FunctionObject.getTypeTag() and FunctionObject.convertArg version taking that tag for better error reporting and performance since the tag can be cached and an expensive sequence of if and instanceof to check for the type would be replaced by a simple switch. 2003-10-13 16:02:35 +00:00
igor%mir2.org 064afe0a07 Run ContextListener.contextCreated from Context.enter(), not Context constructor. In this way listeners will not be invoked for Context that are never associated with a thread and contextCreated will be more symmetric with Context.contextReleased. 2003-10-13 15:57:18 +00:00
igor%mir2.org 89318be0fd Inlining code into exceMethod to shrink code size. 2003-10-13 07:30:33 +00:00
igor%mir2.org d50209987d In getLength check for version of compiled function, not version from the current context for consistency. 2003-10-13 07:29:43 +00:00
igor%mir2.org 27cae5bd87 In classOrNull and newInstanceOrNull catch and ignore LinkageError since it can be thrown if class links to unknown class. 2003-10-13 07:28:37 +00:00
igor%mir2.org c23530f968 Added to build.xml the smalljar target to generate smalljs.jar. Its usage is documented in doc/footprint.html. 2003-10-12 13:45:41 +00:00
igor%mir2.org 6419c245b7 More optimizations to shrink code size. 2003-10-12 08:52:24 +00:00
igor%mir2.org 778fff4c99 Inlining of private functions and reorganization to shrink code size to offset resent Rhino size growth 2003-10-11 20:29:32 +00:00
igor%mir2.org 3cc6308b48 Using ScriptRuntime.splitSC to extract packages from semicolon-separated string instead of explicit code. 2003-10-11 20:27:08 +00:00
igor%mir2.org 0a5b59efe7 Added ScriptRuntime.splitSC 2003-10-11 20:24:27 +00:00
igor%mir2.org bb5d66ddc1 Change JavaScriptException to include source and line information in Throwable.getMessage() 2003-10-11 19:36:25 +00:00
igor%mir2.org 6935fd4558 Optimization: for line counting use offset of line icode of interpreter instead of the line itself. In this way interpreter does not need to read encoded line data on each line marker which can occur quite frequently. 2003-10-11 19:34:29 +00:00
dbaron%dbaron.org d13a4dc44c I am not sure what brendan meant to do, but making JS_HAS_XDR always be the same as it was before the previous checkin should get the Mozilla client working again. 2003-10-11 19:01:43 +00:00
brendan%mozilla.org 1221cd0a72 Split jsconfig.h JS_HAS_XDR macro for better code factoring. 2003-10-11 18:17:53 +00:00
dwitte%stanford.edu 7a2d3ff642 spelling fixes... s/debuging/debugging/. thanks to WeirdAl for the patch.
b=106386, p=ajvincent@juno.com, r=timeless, sr=bz.
2003-10-10 04:31:15 +00:00
brendan%mozilla.org ea5c7f67be Remove false comment (whew). 2003-10-10 01:46:55 +00:00
igor%mir2.org fe83dbd84d BinaryDigitReader logic is inlined in ScriptRuntime.stringToNumber removing the need in the class. 2003-10-09 17:38:34 +00:00
peter%propagandism.org 9059682e5b Move voidable string into xpcom. Part of fix for bug 221387 (XPathExpression.createExpression doesn't throw NAMESPACE_ERR). r=bz, sr=dbaron. 2003-10-09 16:15:29 +00:00
igor%mir2.org 4f020527c8 Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the examples 2003-10-09 07:00:40 +00:00
igor%mir2.org 13d75fc940 Use non-static functions in Shell 2003-10-09 07:00:01 +00:00
igor%mir2.org 2aa3f1b663 Cosmetics: removal of end-of-line junk space 2003-10-09 06:57:12 +00:00
igor%mir2.org 99ad0b5fed Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the documentation 2003-10-09 06:55:49 +00:00
igor%mir2.org a738d7b424 dist depends on deepclean to prevent erroneous distribution builds when ant fails to detect source code dependencies and misses recompilation. 2003-10-09 06:44:38 +00:00
igor%mir2.org a95f9c4651 GlobalScope is a part of API now. 2003-10-09 06:42:30 +00:00
igor%mir2.org 0c39c2bd7b Cosmetics: change argument order for package-private EcmaError constructor to it matchers other cases when a method takes line and column number. 2003-10-09 06:41:28 +00:00
igor%mir2.org 75e6970c55 Added version of Context.initStandardObjects that does not take scope as its argument. 2003-10-09 06:37:25 +00:00
brendan%mozilla.org 40b84ab879 Late-breaking security fix (221526, r=shaver). 2003-10-07 23:02:29 +00:00
cls%seawood.org f1c0224f36 What bryner said 2003-10-07 22:07:14 +00:00
bryner%brianryner.com dffdfd622c attempting to fix windows bustage 2003-10-07 21:18:57 +00:00
cls%seawood.org 5c61023297 Case matters.
Fixing mingw cross-compiling bustage.
2003-10-07 20:39:25 +00:00
igor%mir2.org 2593ae88cb Adding getParent() to omg.debug.DebuggableScript to allow to browse whole script function tree from any function. 2003-10-01 15:03:06 +00:00
igor%mir2.org 2ab3731f6d Cosmetics: expanding tabs 2003-10-01 15:02:09 +00:00
igor%mir2.org 002127495a Changing ScriptRuntime.initScript to return vois since it does not and should not change scope 2003-10-01 11:55:56 +00:00
igor%mir2.org c3fc6c32a5 Extending omj.debug.DebuggableScript interface with functions to access nested functions and check if it is top-level script. 2003-10-01 11:55:55 +00:00
BradleyJunk%cinci.rr.com 65bc76fe1e Bug 220692 - Syntax error in /js/src/xpconnect/xpcmodule.cpp if MOZ_JSLOADER not defined. r=timeless, sr=brendan 2003-10-01 00:11:17 +00:00
pschwartau%netscape.com 18aa61bacd Initial add. Regression test for bug 39309. 2003-10-01 00:03:32 +00:00
pschwartau%netscape.com de6f7a3a8b Initial add. Regression test for bug 220584. 2003-09-29 17:45:15 +00:00
igor%mir2.org f8232c4663 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220584 :
Script() result has no prototype and scope chains

Fix: initialize scope and prototype for Script instances in
NativeScript.jsConstructor

If Script is called as a constructor, it will get the proper parent and
prototype from the generic code to initialize newly constructed objects but if
it is called as a function, then it is the responsibility of the call
implementation to do the job.
2003-09-28 22:52:57 +00:00
igor%mir2.org b74c0ad822 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220362 :
Local functions lose scope when called from outside (compiled with dynamic scopes, optlevel >= 0)

Fix: ignore dynamic scope for nested functions and functions declared within
the with statement.

The patch makes optimizer to behave in the same way as the interpreter does
with regard to dynamic scope: it ignores it for nested functions and functions
declared under with statements. Now parser checks for such functions and set
new flag itsIgnoreDynamicScope in FunctionNode. The flag then checked both by
interpreter and optimizer during byte code generation.

The patch also changes slightly interaction between changing dynamic scope flag
and interpreted Script instances. Currently the dynamic flag is read during
script execution but patch changes interpreter to behave exactly as the
optimizer does: the dynamic flag only affect script compilation, changes in its
value does not affect already compiled scripts.
2003-09-28 20:01:27 +00:00
igor%mir2.org 1ef13c34c6 Self-documenting example 2003-09-28 19:49:07 +00:00
igor%mir2.org caa446bcc0 Added msg.adapter.zero.args 2003-09-28 18:14:16 +00:00
igor%mir2.org b976cc3dce JavaAdapter.createAdapterCode now takes the function name to function arity instead of Scriptable object. It allows to remove a hack from optimizer/Codegen where it created a temporary Scriptable just to populate it with FunctionNode as a source of arity values thus violating requirement on types of JS values.
The rest of JavaAdapter code is updated to use the ned form of the method as well.
2003-09-28 18:13:51 +00:00
igor%mir2.org 0335328a4b In ScriptRuntime.toInt32 check for Integer, not Byte when doing short-circuit optimization since Integer is always used to wrap int values. 2003-09-28 16:03:10 +00:00
brendan%mozilla.org 553f7df961 Redo thread/process stack size checking and API to avoid having to guess/fudge; instead, require embedders to advise explicitly, for fudge-free limits and backward API compatibility (192414, r=shaver). 2003-09-26 22:47:01 +00:00
pschwartau%netscape.com 2bf2a57dd4 Improving readability. 2003-09-26 19:37:15 +00:00
pschwartau%netscape.com 769b832c24 Initial add. Regression test for bug 220367. 2003-09-26 19:24:58 +00:00
pschwartau%netscape.com 59648663bd Initial add. Regression test for bug 220362. 2003-09-26 18:56:23 +00:00
igor%mir2.org fc51c3df0e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220367 :
Fix: if in RegExpImpl.getParenSubString parens.get(i) is null, return
emptySubstring

If a branch of | with capturing () does not match , then RegExpImpl.parens will
contain null for corresponding $<group-number> according to code in
NativeRegExp.executeRegExp(). The current code does not check for a possible
null in RegExpImpl.parens when calling toString and the patch fixes that by
making sure that getParenSubString return SubString.emptySubString in such
cases.
2003-09-26 17:25:33 +00:00
brendan%mozilla.org 34313f0f12 Follow-up fix to clamp cx->stackLimit so it doesn't wrap (192414, r=shaver). 2003-09-26 17:22:14 +00:00
brendan%mozilla.org 7cb2529128 Check in my version of a patch to avoid thread or process stack overflow from Igor Bukanov <igor@fastmail.fm> (192414, r=shaver). 2003-09-24 16:49:58 +00:00
igor%mir2.org 9aed8fe664 Use ScriptableObject.getPropertyIds(jsObj) to get all object ids instead of explicit working throw prototype chain. 2003-09-24 13:35:52 +00:00
igor%mir2.org 0924111af4 Optimization in getPropertyIds: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain. 2003-09-24 13:32:42 +00:00
igor%mir2.org f04a8dec42 Optimization in IdEnumeration: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain. 2003-09-24 13:29:17 +00:00
brendan%mozilla.org 2497aed559 Eliminate unnecessary local variable. 2003-09-23 00:07:24 +00:00
brendan%mozilla.org fa18fa1e14 Don't finish temp and code arena-pools in JS_GC, in case it's nesting in the compiler via the debugger (131712, r=rginda, sr=shaver). 2003-09-19 18:36:50 +00:00
igor%mir2.org 7546dbbac4 Use special subclasses of Node to represent various jumps and control structures to avoid allocating of property objects for frequently occurring parse tree nodes. 2003-09-18 16:20:32 +00:00
igor%mir2.org 7848633a4a Mark parse subtree for finally statement with Token.FINALLY instead of using special property to mark USETEMP node. 2003-09-17 13:43:12 +00:00
igor%mir2.org 8df24a01d8 Addressing http://bugzilla.mozilla.org/show_bug.cgi?id=219055 :
Delay creation of NativeError wrapper for EcmaError until the exception is caught in the script.
2003-09-16 16:08:55 +00:00
mkaply%us.ibm.com 1e85c1d2f9 #215581
r/sr=brendan
Changes to get GCC 3.2.2 working on OS/2 - this set is OS/2 only changes
2003-09-15 22:10:12 +00:00
rginda%netscape.com 1bc491b06a bug 217768, interruptHandler isn't properly loaded if trapHandler returns JSTRAP_CONTINUE
sr=brendan
2003-09-15 18:50:10 +00:00
dougt%meer.net 57083559e2 Fixing 219094. Simple build bustage fix. r=darin 2003-09-15 04:13:19 +00:00
igor%mir2.org c7382925ac Changing Main.eval implementation to use compileString/exec instead of evalString to avoid dependancy on NativeGlobal when passing explicit thisObj to Script instances when they implement Function interface which holds currently in Rhino. 2003-09-12 17:12:20 +00:00
igor%mir2.org 9aa6317814 Cosmetics: identation fixes 2003-09-12 15:04:21 +00:00
igor%mir2.org ca657b86ae Siplified code to extract error message from Throwable to reflect recent changes in exception-related API semantics. 2003-09-11 15:41:06 +00:00
igor%mir2.org cf45db3956 Changing Context.newObject to use ScriptRuntime.getExistingCtor to get constructor Function instance. In this way Context.newObject will throw the same set of exceptions that other parts of Rhino will throw on bad access to constructor.
With this change NotAFunctionException is no longer used so it is deprecated and changed to extend from Error not Exception for source compatibility: otherwise compiler will complain about unreachable catch handler.
2003-09-10 12:44:23 +00:00
igor%mir2.org f0adcfbccd Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=218440 :
Making Script implementations by Interpreter and Optimizer scope independent while keeping while still supporting compiling of regexp literals only once per Script instance.
2003-09-10 11:06:25 +00:00
igor%mir2.org 207ceb33fe Restoring NativeJavaPackage(String) constructor as deprecated for compatibility with Batik. 2003-09-09 13:27:11 +00:00
igor%mir2.org 0296631e46 ScriptRuntime.getCatchObject is modified to allow to accept instances of EvaluatorException, not only its WrappedException subclass. 2003-09-09 13:25:15 +00:00
igor%mir2.org 68676e179e Restoring JavaScriptException(String) as deprecated constructor for compatibility with BSF. 2003-09-09 13:22:50 +00:00
pschwartau%netscape.com 5547869e54 Initial add. Regresssion test for bug 216320. 2003-09-09 00:37:49 +00:00
bryner%brianryner.com 9d11b3c424 Fix build on gcc 3.4 by removing extra semicolons (bug 218551). r/sr=dbaron, a=brendan. 2003-09-07 22:37:27 +00:00
igor%mir2.org 88c394e664 Explicit separation between regexp compilation and execution: all data structures that represent compiled regexp are moved to a separated RECompiled class. 2003-09-06 15:49:05 +00:00
igor%mir2.org 31b2256d97 To construct regexp objects the generated code now calls omj.RegExpProxy instead of explicit calls to NativeRegExp constructor. It removes dependence of compiled Script instances on details of RegExp implementation. 2003-09-06 15:44:41 +00:00
igor%mir2.org f8c669f1dd Added ScriptRuntime.checkRegExpProxy which is used in Interpreter and NativeString to check for regexp package presence instead of own duplicating code.
RegExpProxy.find_split is changed to include Context argument to follow the rest of RegExpProxy functions.
2003-09-06 15:41:03 +00:00
igor%mir2.org de7b10603e I made most internal functions of NativeRegExp static since they do not reference NativeRegExp. 2003-09-06 12:49:07 +00:00
igor%mir2.org 54f85a5212 ScriptRuntime.main now takes Script as the first argument since it is simpler instantiate Script directly and pass it to ScriptRuntime.main then load Script lass which will be then instantiated in ScriptRuntime.main 2003-09-06 07:51:02 +00:00
igor%mir2.org c9d7ff074e Replace Context field In REGlobalData by boolean multiline since it is the only information that is needed for matching code from RegExpImpl which was previously accessed through Context. 2003-09-05 21:22:51 +00:00
igor%mir2.org 1fe8179c7b Fixing regression caused by optimizer changes to address http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now Script.exec can be called more then once.
2003-09-05 21:17:58 +00:00
igor%mir2.org 54563952a0 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
Replacing static caches by global scope based storage.
2003-09-05 14:35:09 +00:00
igor%mir2.org 008e6de35a Patch from Nicolas JOUVE to address http://bugzilla.mozilla.org/show_bug.cgi?id=218163 2003-09-05 09:04:36 +00:00
igor%mir2.org fbd31b0fe2 Cosmetics: removal of EOL blanks 2003-09-03 14:26:39 +00:00
igor%mir2.org 2956f5b69d Work for http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
Code for NativeJavaPackage.TopLevelPackage is moved to a separated file NativeJavaTopPackage.java
2003-09-03 10:42:36 +00:00
brendan%mozilla.org 214fac7ac4 Fix js_FinishTakingSrcNotes edge-case (bug 216320, r=shaver, a=asa). 2003-09-03 02:10:38 +00:00
igor%mir2.org 6e967acb16 Fix from Merten Schumann to initialize lineNumber/sourceName in the constructor, see http://bugzilla.mozilla.org/show_bug.cgi?id=217584 . 2003-09-02 12:32:41 +00:00
igor%mir2.org 57f50e5f8d Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214594 :
In IRFactory.createLoop propagate line number information to the condition subtree for "while" and "for" loops so exceptions generated in a loop condition would have proper line number.
2003-09-02 06:23:20 +00:00
igor%mir2.org 0b3c7a2041 Fix from Olivier Oeuillot to address http://bugzilla.mozilla.org/show_bug.cgi?id=212395 . 2003-09-01 13:32:33 +00:00
igor%mir2.org 1dadf61103 Fix from Ming-Yee Iu to address http://bugzilla.mozilla.org/show_bug.cgi?id=217951 2003-09-01 11:06:03 +00:00
igor%mir2.org 2aa340aba8 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217379 :
The code in RegExpImpl.findReplen did not take into account that a particular
parenthesis pair can be null if it is not captured. The patch fixes that to
send undefined to the replace function for that case.
2003-09-01 09:05:52 +00:00
igor%mir2.org 6814bf31f0 Fix for DToA.JS_dtoa() to resolve http://bugzilla.mozilla.org/show_bug.cgi?id=217268 2003-08-31 19:42:58 +00:00
igor%mir2.org 46c31c6a73 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217346 :
I changed DToA.JS_dtobasestr to use BigInteger for its integer part when it does not fit long.
2003-08-30 15:34:44 +00:00
igor%mir2.org 4936fa3877 Finalizing work on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now optimizer generates exactly one class per script and all its functions.
2003-08-30 12:02:19 +00:00
igor%mir2.org d1be8de8ca Changing ScriptRuntime to return vois since it does not and should not change scope 2003-08-30 12:02:18 +00:00
igor%mir2.org b8655920a5 More fixing for http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
Use Context.getSourcePositionFromStack in the EvaluatorException(String details) constructor to get line number information.
2003-08-30 11:59:15 +00:00
pkw%us.ibm.com 48c6e651e5 Bug 217499: Clean up AIX libpath and configure script
r=cls@seawood.org, a=asa@mozilla.org
2003-08-29 17:15:06 +00:00
igor%mir2.org cd2ce4c17c Cosmetics: removal end-of-line blanks 2003-08-29 15:28:08 +00:00
igor%mir2.org 965090841f Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
Implementation of Merten Schumann suggestion to add to EvaluatorException and JavaScripException information about script source name and error line .
2003-08-29 13:19:37 +00:00
igor%mir2.org 37375e32cf More work for http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
The patch changes omj.NativeScript to represent only instances of Script object
in scripts and removes its second role to server as a superclass for compiled
forms of JS scripts. In is not only allow to make optimizer to generate only
single class but also would make instances of Script generated by optimizer not
to depend on the scope. The later is essential for Script object reuse to
execute it against different scopes.
2003-08-29 10:42:23 +00:00
igor%mir2.org 3c9b841737 Working on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
Now optimizer will generate only one class for all functions a script contains instead of class per function.
2003-08-28 12:40:10 +00:00
igor%mir2.org 89468875b8 Changing signature of addConstant from short to int and updating the code correspondingly to allow for constant indexes to exceed 32K since their type is unsigned short, not short and int allows to cover that while removing casts. 2003-08-28 12:29:01 +00:00
igor%mir2.org 6dd4d70e56 1. Removal of NativeScript.initScript which was empty and was never overridden by script function implementations.
2. Using in NativeScript.compile Context.compileString instead of compileReader to avoid unnecessary construction of StringReader.

3. Overriding NativeFunction.getEncodedSource() in NativeScript to call this method on the delegated script object so decompilation of scripts constructed via script.compile would work.
2003-08-27 11:53:01 +00:00
igor%mir2.org 18456e5ca1 NativeFunction.decompile abd NativeFunction.initScriptFunction are final since script function implementations should not override them. 2003-08-27 11:47:19 +00:00
igor%mir2.org 894383d75f New form of markTableSwitchCase that allows to mark a switch case jump target and adjust stack top. 2003-08-27 11:44:46 +00:00
igor%mir2.org 51bf324448 Added NativeFunction.initScriptFunction to initialize NativeFunction.argNames, NativeFunction.version and its usage in InterpretedFunction/InterpretedScript.
It will allow to make the protected fields in NativeFunction private when the optimizer will be updated to use the new function.
2003-08-26 18:06:10 +00:00
igor%mir2.org 2709c61a4d Using ScriptRuntime.emptyStrings to return emoty var array 2003-08-26 15:45:16 +00:00
igor%mir2.org cb46fe1b41 Added public static final String[] emptyStrings to denote zero-length string array 2003-08-26 15:45:15 +00:00
igor%mir2.org 7d0e681b6a Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217257 :
Patch from Larry Blair to fix decodeURIComponent()
2003-08-26 15:45:14 +00:00
igor%mir2.org f9b335bf06 Making createObject public so optimizer implementation can access it outside BaseFunction subclass 2003-08-26 15:45:13 +00:00
igor%mir2.org 856b7cabb4 1. Support for generation tableswitch code
2. Utility method addLoadThis() as an alias for add(ByteCode.ALOAD_0)
2003-08-26 15:43:11 +00:00
igor%mir2.org a803853242 Fixing line-table initialization issue: set itsLineNumberTableTop to 0 at the end of stopMethod so generation of multiple methods with source line information would work. 2003-08-22 09:10:14 +00:00
caillon%returnzero.com f8e8aed8a7 Backing out the patch to bug 83536.
I will reland this when 1.6a re-opens.
r+sr=jst@netscape.com
a=chofmann
2003-08-22 03:06:53 +00:00
igor%mir2.org 9983fdb0e8 Cosmetics: removal of end-of-line blanks 2003-08-20 11:11:00 +00:00
igor%mir2.org 9be83bb44c Splitting Codegen into 2 Codegen and BodyCodegen where the second class contains code to generate butecode for the body of script. 2003-08-20 10:52:54 +00:00
igor%mir2.org b6c1d3644c 1. Codegen.classNameToSignature is removed and call to the methods are replaced by cfw.classNameToSignature.
2. Calls to ClassFileWriter.fullyQualifiedForm are removed since all ClassFileWriter API accepts both dotted and slashed forms of Java class names.

3. Few identation fixes
2003-08-20 07:36:33 +00:00
igor%mir2.org 43cbf72f08 1. Added ClassFileWriter.classNameToSignature to convert Java class name into JVM signature.
2. The public method getFullyQualifieedForm that was used to replace . to / is removed since all classname API accepts both form of class names and convertion to the internal /-form can be done in ClassFileWriter in a more efficient way.
2003-08-20 07:32:48 +00:00
pschwartau%netscape.com 60a8469472 Correcting a typo. 2003-08-19 16:45:03 +00:00
pschwartau%netscape.com 19674c814c Initial add. Regression test for bug 216591. 2003-08-19 16:36:54 +00:00
igor%mir2.org 040923febc More renames and preparations for code split. 2003-08-19 15:37:50 +00:00
igor%mir2.org 32e0764d1c More preparations for separating code to generate main script method and the rest of methods. 2003-08-19 13:19:57 +00:00
igor%mir2.org bd2594e6eb 1. Renaming Codegen.classFile to Codegen.cfw and removal of methods like push/load/store in favour of directly calling ClassFileMethods.
2. Move all code related to generating of prologue for main function implementation to Codegen.generatePrologue.

In this way the following patch to split Codegen into 2 classes to factor away all generation code for the main function will look smaller.
2003-08-19 08:21:36 +00:00
igor%mir2.org 810aa53fd8 Renaming [ilfda]load/store into add[ILFDA]Load/Store for consistency and moving package-private functions from ByteCode to ClassFileWriter so JVM does not need to load ByteCode since it includes only constants. 2003-08-19 08:15:33 +00:00
igor%mir2.org ed64a67527 Replace few usages of Node.cloneNode by a more explicit code to create a fesh childless node copy. 2003-08-18 14:27:51 +00:00
igor%mir2.org abefa99b1e Using simple Token.<op> instead of (Token.EQOP, Token.<op>) to denote parser nodes for equality operations. It allowed to remove sharing of Node.intValue to mean line number and operation type so it was renamed to Node.lineno. 2003-08-18 11:53:00 +00:00
igor%mir2.org 5f6517906c Added store/load function to shortcut add(ByteCode.x, i) 2003-08-18 11:49:39 +00:00
igor%mir2.org 041149139b Using simple Token.<op> instead of (Token.RELOP, Token.<op>) to denote parser nodes for relational operation. 2003-08-18 09:55:19 +00:00
igor%mir2.org 5be8c599eb Move code to classify binary and relation operation tokens to IRFactory so parser does not need to know about details of tree implementation. 2003-08-18 08:05:06 +00:00
igor%mir2.org 0ee771b8c2 Changing order of parameters in ScriptRuntime.instanceOf to match order in ScriptRuntime.in to use simpler code in optimizer. 2003-08-18 08:00:55 +00:00
igor%mir2.org 7c70d93492 Removal of unnecessary instanceOf: Scriptable does not have such method and Undefined does not need to override it. 2003-08-18 07:57:40 +00:00
cls%seawood.org 1b51ba858c Set MODULE in makefiles at the top of a heirarchy so that module-deps lists are more precise and builds will have the proper order if some subdirs contain other modules. 2003-08-16 00:42:35 +00:00
igor%mir2.org fe402a8124 Make all convertions from == to === to support JavaScript 1.2 to single place in Parser 2003-08-15 16:48:56 +00:00
igor%mir2.org b96ac683c8 Added explicit IRFactory.createIncDec to create ++/-- subtree which removed need to have Token.PRE/Token.POST. 2003-08-15 11:19:47 +00:00
igor%mir2.org 9fce703481 Removal of Token.UNARYOP: after the previous patches parse tree used Token.UNARYOP only to group Token.TYPEOF and Token.VOID into the same node type. Since they are very different, it is simpler to use the tokens directly as node type.
To remove ambiguity caused by re-use of Token.VOID to denote no-operation node, a new Token.EMPTY is added to denote the former usage.
2003-08-15 10:21:09 +00:00
igor%mir2.org b63333276d Added Token.TYPEOFNAME to denote explicitly parser nodes for typeof(name) to make code more explicit about this case compared with typeof(expression) which is denote by Token.TYPEOF. Previously the ambiguity was resolved by using (Token.UNARY.OP, Token.TYPEOF) for parser tree nodes denoting the later and simple Token.TYPEOF for the former. 2003-08-15 09:00:42 +00:00
igor%mir2.org 7fdd9e85d1 Another replace of (Token.UNARYOP, Token.X) -> Token.X: this time it is for Token.BITNOT and Token.NOT 2003-08-15 08:11:32 +00:00
igor%mir2.org 09c327adc3 Changing Token.POS, Token.NEG to represent their parser tree nodes by the token themselves, not via pair Token.UNARYOP, POS/NEG. It simplifies code especially in optimizer/Optimizer.java 2003-08-15 07:15:07 +00:00
igor%mir2.org 9a1fbf3def Removal of Token.TONUMBER: it had exactly the same semantics as Token.POS, that is to convert its argument to number. 2003-08-15 06:08:44 +00:00
rginda%netscape.com 8f4d8cb810 bug 216112, "add ability to disable object tracking in jsd"
r=caillon, sr=brendan, a=asa

adds the ability to turn off the object tracking without having to disable the debugger.  should make a dormant venkman less of a performance impact.
2003-08-14 22:49:09 +00:00
igor%mir2.org e1290d4dbb Removal of Token.PRIMARY: it was used in parser to group primary tokens such as false, true, null, this but since the semantic of them is very different it is simpler to create parse tree nodes directly from tokens and check only for node type, not for type and operation. 2003-08-14 14:49:46 +00:00
igor%mir2.org 13865e4143 Parser tree nodes of Token.CONVERT type are replaced by Token.TONUMBER and additional optimizer nodes to convert to double or object eliminating the need to distinguish them by Node.TYPE_PROPERTY. 2003-08-14 11:21:46 +00:00
igor%mir2.org 0dec223435 Removal of TypeEvent since its essential functionality beyond the declaration of few constants was used only to implement OptLocalVariable.assignType. Inlining that code eliminated need in TypeEvent. 2003-08-14 06:03:22 +00:00
brendan%mozilla.org 165194b972 One more comment tweak. 2003-08-14 01:19:30 +00:00
brendan%mozilla.org 1ba5b62aa7 Followup to last checkin to better comment the dependency I missed. 2003-08-14 01:17:27 +00:00
igor%mir2.org a5f9d59614 Change TokenStream to return operational tokens as is without grouping them through Token.UNARY, Token.PRIMARY etc. Instead do grouping only in parser. In this way exceptional cases when grouping of tokens has to be changed by parser (like reinterpretation of Token.IN) it is easy to deal with. Another advantage is decompiler simplification since it does not need to perform nested switches to unwrap tokens. 2003-08-13 14:21:39 +00:00
igor%mir2.org 6fa381d49b I replaced Token.ADD/Token.SUB by Token.POS/Token.NEG as operands of UNARY operation nodes in parse tree. This is mostly for readability and to catch ADD/SUB misuse earlier. 2003-08-13 11:57:33 +00:00
igor%mir2.org 593784cb96 Cosmetics: nodeOp as variable name is replaced by assignOp in methods related to construction of assignment nodes. 2003-08-13 11:53:14 +00:00
igor%mir2.org a4742a5fe9 Change Parser to use IRFactory.createAssignment to create assignment nodes instead of calling createBinary only to handle assignments explicitly in IRFactory later. 2003-08-13 10:51:38 +00:00
brendan%mozilla.org 1ed53e7ef1 Really fix 215878, with great help from darin. 2003-08-13 06:54:13 +00:00
igor%mir2.org a692d990fc Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=215923 :
Search prototype chain of JS this until wrapped Java object is found that is compatible with Java this.
2003-08-13 06:04:41 +00:00
brendan%mozilla.org f2e719a0e8 Restore next-to-last rev, which is harmless. 2003-08-13 05:25:04 +00:00
darin%meer.net 37619fcb6b backing out changes for bug 215878 to clear tinderbox orange (startup crash) 2003-08-13 05:17:14 +00:00
brendan%mozilla.org 09094b8f3b Fix js_FinishTakingSrcNotes 'logic gap' bug (215878, r=shaver, a=dveditz). 2003-08-12 23:42:55 +00:00
igor%mir2.org 9c0e1f0749 Making Decompiler.decompile public and changing NativeFunction.getSourceFunction() to return Object so it is easy to implement alternative presentation of encoded source. 2003-08-12 13:12:39 +00:00
igor%mir2.org 08560c4e86 Encoded source presentation changes.
Now encoded source does not encode sources of nested functions as external references. Rather they are encoded as any other source elements and to implement function.toString() runtime stores starting and ending offsets for function encoded source.

In this way decompiler is separated from the rest of runtime and external applications can access the encoded source with less efforts.
2003-08-12 11:50:48 +00:00
igor%mir2.org a9944948f9 Using ScriptRuntime.emptyStrings to return emoty var array 2003-08-12 11:50:45 +00:00
igor%mir2.org e725b9c0be Switching to use ClassFileWriter.addPush(String) instead of ClassFileWriter.addLoadConstant(String) to support string constants with JVM UTF8 encoding exceeding 64k. 2003-08-11 14:54:19 +00:00
igor%mir2.org 93e05fffaa Fixing bugs in the initial implementation of ClassFileWriter.addPush(String): now it works 2003-08-11 14:14:12 +00:00
igor%mir2.org 3594eb4b6b Use special token to encode function escape in Decompiler instead of using elaborated code to distinguish between start of function and function escape. 2003-08-11 11:06:21 +00:00
igor%mir2.org 8a8ca75068 Adding readFile function to the shell to read file context. 2003-08-11 10:54:40 +00:00
igor%mir2.org af20fbe788 making decompiler class public so public method Parser.parser still can be called from outside omj. 2003-08-08 16:42:41 +00:00
igor%mir2.org 5523fffb09 Pass Decompiler object as an argument for Parser.parse instead of creating an instance there for better flexibility. 2003-08-08 15:42:19 +00:00
igor%mir2.org 6d6c104572 Calling Decompiler.decompile directly instead of calling Parser.decompile 2003-08-08 15:36:48 +00:00
igor%mir2.org dda5331153 Decompiler class is moved to a separated file 2003-08-08 10:35:57 +00:00
igor%mir2.org 1c08dda3b8 1. Fixing Decompler.decopile for a function body when justBody is true Token.LC is added to the list of tokens to skip in function header.
2. Various cleanups in Decompiler to finalize Parser/Decompler split.
2003-08-08 09:35:36 +00:00
igor%mir2.org 0148813038 push(int/double) simply calls now ClassFileWriter.addPush() 2003-08-08 09:32:40 +00:00
igor%mir2.org 9ad008dd30 Added addPush(String) to generate code to push the given String into stack even if String does not fit the class file format restriction that JVM utf-8 encoding of strings in constant pool can not exceed 64K - 1.
Also added addPush(int/double) for symmetry, they are copied here from omj/optimizer/Codegen.java.
2003-08-08 09:30:57 +00:00
igor%mir2.org 99e484ca5b Restoring from bad commit of development uncompilable code 2003-08-07 15:10:10 +00:00
igor%mir2.org 666483b96d Notification of debugger about finished compilation of script/top-level-function is moved to a separated function. In this way Interpreter and ScriptOrFnNode does not need to pass original source around just to throw it away if debugger is not present. 2003-08-07 15:08:00 +00:00
igor%mir2.org 74d4f30e0e Replace anonymous/empty name play for functions constructed through Function in NativeFunction/Parser by using anonymous when necessary when assembling function source from Function arguments. 2003-08-07 10:46:41 +00:00
igor%mir2.org 954158fd2c Less generic code for interactioon between Parser and Decompiler 2003-08-07 07:19:16 +00:00
igor%mir2.org db59f1d230 Code to generate/decode encoded source presentation is factored to a separated class Decompiler. 2003-08-06 16:18:28 +00:00
igor%mir2.org 2b68f1745e 1. Add Token.NOT as a byte code instead of generating if code to push false/true as "!" is frequent enough and interpreter does not have optimized mode to remove most of its usage in logical context.
2. When dumping icode, print it to System.out instead of icode.txt file for more convenient development.
2003-08-06 11:37:14 +00:00
igor%mir2.org d153c65a1b build.xml reorganization to add deepclean, clean and help targets and making help a default target, see for details http://bugzilla.mozilla.org/show_bug.cgi?id=214997 2003-08-06 07:47:58 +00:00
igor%mir2.org faf2a30c39 More tokens used only in Interpreter are moved from Token to Interpreter. I also added addToken/addIcode to be used instead of simple addByte to catch bugs about wrong byte code as soon as possible. 2003-08-06 07:39:37 +00:00
igor%mir2.org f95ae1ab5b I changed Context.codeBug to return RuntimeException instead of void to be able to wright "throw Context.codeBug()" when simple "Context.codeBug()" leads to a compile error about unreachable code or missed return. 2003-08-06 07:37:27 +00:00
brendan%mozilla.org 33b1784614 I can't believe that after all the work for bug 208030, I forgot to re-base js_GetSrcNote's notion of note origin to the script's prolog, from its main entry point (214761). 2003-08-06 06:56:01 +00:00