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