igor%mir2.org
b4b7524a24
Exception handling cleanup: use CATCH bytecode to extract JS object from Trowable so any exception that happens during this process will be handled properly.
2003-06-29 22:12:48 +00:00
igor%mir2.org
f1f70ebd4e
Cosmetics: removal of unused import
2003-06-29 21:58:01 +00:00
igor%mir2.org
31641ef33a
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=208293 :
...
Patch from Steve Beal to fix my bug in Context.readReader.
2003-06-11 13:27:23 +00:00
igor%mir2.org
12a288b564
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=207999 :
...
EcmaError constructor now takes a generic Scriptable and not NativeError so classes outside org.mozilla.javascript can use it.
2003-06-11 07:36:11 +00:00
igor%mir2.org
4b523296c6
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=207968 :
...
As suggested by Roland Knight, WrappedException does not call exception.fillInStackTrace() to prevent hiding of the original stack trace.
2003-06-11 07:33:22 +00:00
igor%mir2.org
db16eb9355
To store properties, replace UintMap by a linked list. The former creates 2 objects (UintMap itself and int array) to store int properties and 3 objects (additional object array) to store object properties but vast majority of Nodes has no more then 2 properties with single-property-node contributing most to the majority.
2003-06-02 06:35:57 +00:00
igor%mir2.org
d1ca7cd329
Pass IRFactory to Parser.parse instead of Parser constructor so Parser initialization would not require IRFactory which needs Interpreter in turn .
2003-05-21 12:09:08 +00:00
igor%mir2.org
f46fd7f3b0
Layout cosmetics
2003-05-21 11:48:32 +00:00
igor%mir2.org
6b6368d8c8
Added WrapFactory.wrapAsJavaObject to simplify customization of LiveConnect
2003-05-20 12:46:09 +00:00
igor%mir2.org
e449bd5853
Adding missed final qualifier to the declaration of js_NaN_date_str field
2003-05-20 08:10:48 +00:00
igor%mir2.org
fde9643eed
Addition of seal function to Rhino shell to seal all supplied arguments.
2003-05-19 15:53:23 +00:00
igor%mir2.org
3f84d7fe70
Resolving http://bugzilla.mozilla.org/show_bug.cgi?id=203013 :
...
Changing behavior of sealed objects to throw an exception on any attempt to modify them including changing values of existing properties. In the same time making object sealed does not affect read-only status of its properties which allows to override properties of objects with a sealed object as a prototype.
Rhino shell now accepts -sealedlib option to seal all standard objects.
2003-05-16 14:25:57 +00:00
igor%mir2.org
6fb4e51cdf
Optimizations in NativeDate mostly to reduce amount of various format strings runtime has to initialize.
2003-05-16 08:32:58 +00:00
igor%mir2.org
d6229c666d
NativeObject is split into NativeObject and NativeObjectPrototype subclass not to have prototypeFlag field in each and every object instance.
2003-05-15 13:12:41 +00:00
igor%mir2.org
3fb9f1b2ab
Resolving http://bugzilla.mozilla.org/show_bug.cgi?id=205661 :
...
In setBySetter when start != this setters with delegators and setters without one if start is not an instance of this class are not invoked on start. Instead the standard JS rules applies so x.a = 1 would not change a in x.__proto__ if a in x.__proto__ is controlled by setter.
2003-05-15 07:29:46 +00:00
igor%mir2.org
9e9108a091
In getByGetter/setBySetter with slot.delegateTo avoid potentially expensive checks for start type if this == start.
2003-05-14 14:51:00 +00:00
igor%mir2.org
7f65f9ebed
Changing JavaAdapter not to define JavaAdapter.prototype since new JavaAdapter create JS objects with __proto__ pointing to Object.prototype. It removes the need to extend from ScriptableObject in JavaAdapter and effectively makes it a collection of static methods.
...
To implement JavaAdapter JS call I used JIFunction subclass so the method implementing this functionality can be package private.
2003-05-14 12:44:24 +00:00
igor%mir2.org
6e6a6e7226
More layout fixes and renames to make the following commit smaller.
2003-05-14 09:45:59 +00:00
igor%mir2.org
36b6f85b95
In jsConstructor catch reflection exceptions and rethrow them as WrappedException not to create InvocationTargetException proxy that will be converted to WrappedException by the runtime in any case.
2003-05-14 09:37:39 +00:00
igor%mir2.org
f88a99c04b
Removal of overridden equals that simply calls super.equals since JavaAdapter does not need to define the method for ScriptableObject.defineClass to work and layout cosmetics.
2003-05-14 06:24:00 +00:00
igor%mir2.org
65e85a6cc2
Replace catch for various exceptions that reflection methods can throw by single catch (Exception ex) to have smaller code.
2003-05-13 10:07:44 +00:00
igor%mir2.org
d0fc67bca5
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=205297
2003-05-12 16:54:41 +00:00
igor%mir2.org
b7d1664a5d
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=201896 :
...
New helper class JIFunction for easy implementation of JS functions in Java without using reflection and its usage in ImporterTopLevel and NativeJavaPackage
2003-05-06 18:59:22 +00:00
igor%mir2.org
39e3557521
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204210
2003-05-06 18:53:16 +00:00
nboyd%atg.com
bfd7fbedd9
Fix suggested by Bojan Cekrlic in Bugzilla Bug 203752:
...
While you are messing arround with JavaScriptException, is it possible to add
if(value instanceof Throwable) {
initCause((Throwable) value);
}
I know it's a Java 1.4 feature and not directly connected to this bug and don't
know what's the Rhino's policy of supported Java versions, but it in the end it
could be done with method.invoke() or something similar.
This would help debugging a lot.
2003-05-06 16:56:38 +00:00
igor%mir2.org
e96d15dffb
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204513
2003-05-06 15:29:36 +00:00
igor%mir2.org
050bb6a756
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=204576
...
Using (x instanceof Wrapper) instead of (x instanceof NativeJavaObject) which replaces the previous fix of unwrapping NativeJavaObject.call arguments for the custom wrappers problem.
2003-05-06 10:51:24 +00:00
igor%mir2.org
615d3d50af
Cosmetics: removal of NativeJavaObject. prefix when calling NativeJavaObject methods.
2003-05-05 16:15:50 +00:00
igor%mir2.org
0b305af30a
When marking parse tree nodes as special calls, use explicit integer id to specify node type, note a generic boolean flag. It would allow for simpler code during special calls evaluation.
2003-05-02 14:00:19 +00:00
igor%mir2.org
fb9e9f48e4
In ScriptRuntime.callOrNewSpecial remove special handling of exec calls since it is never used.
2003-05-02 12:16:05 +00:00
igor%mir2.org
b6541a48a4
Simpler code in Codegen.visitRegularCall to select which runtime method to call.
2003-05-02 11:34:05 +00:00
igor%mir2.org
9de1cfa5c7
Cosmetics: tabs and end-of-line whitespace removal
2003-05-02 10:27:56 +00:00
igor%mir2.org
0e73aa80cc
More comments on IdFunction.createObject and layout cosmetics.
2003-05-01 10:34:19 +00:00
igor%mir2.org
4a4ee98421
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=203909 :
...
1. Reorganization of BaseFunction.construct to always call createObject to avoid the need to re-implement construct in IdFunction and FunctionObject when much simpler code for subclassing createObject will do the job.
2. Throwing TypeError in IdFunction.createObject if it is not marked explicitly as constructor to satisfy EcmaScript standard:
first page of ECMAScript Edition 3, chapter 15: "None of the built-in
functions described in this section shall implement the internal
[[Construct]] method unless otherwise specified ...."
For more details, see http://bugzilla.mozilla.org/show_bug.cgi?id=202019
2003-05-01 10:22:58 +00:00
igor%mir2.org
7530e5d049
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=203841 :
...
To fix the issue I moved away from generateCodeFromNode code to merge boolean
checks and conditional jumps into separated generateIfJump method that tries to
apply this optimization and if it is not possible, it calls
generateCodeFromNode and adds a generic jump.
2003-05-01 10:07:23 +00:00
igor%mir2.org
7ddf39b015
Implement Serializable by recently introduced ImporterFunctions as this is required for scope serialization.
2003-04-29 13:56:57 +00:00
igor%mir2.org
14d65688d3
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=203752 :
...
NativeGlobal implements Serializable to allow scope serialization.
2003-04-29 13:54:22 +00:00
igor%mir2.org
054eccf9b5
Renaming getIdDefaultAttributes to getIdAttributes in IdScriptable and its descendants to better reflect method semantic change in the previous IdScriptable commit plus layout cosmetics.
2003-04-29 12:06:17 +00:00
igor%mir2.org
04a61296fb
Removal of support for altering attributes of id-based properties. If such support is required, a subclass should override IdScriptable.setIdAttributes which by default throws an runtime exception unless new attributes are the same as the old ones.
2003-04-29 08:54:55 +00:00
igor%mir2.org
1f79d6d224
IdScriptable.nextInstanceCheck is replaced by IdScriptable.incompatibleCallError to reflect proper semantic and simplify id-related code.
2003-04-28 16:27:57 +00:00
igor%mir2.org
82bc6dcc88
Replacing protected by private/package private to allow for better optimization.
2003-04-28 12:54:59 +00:00
igor%mir2.org
2fbe7127a4
Removal of unused private static SEAL_FUNCTIONS_FLAG
2003-04-28 12:53:15 +00:00
igor%mir2.org
20443607df
Replacing prototypePropertyAttrs by simple boolean flag isPrototypePropertyImmune for simpler code.
2003-04-28 12:52:21 +00:00
igor%mir2.org
3a3c81e016
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=203402 :
...
In Codegen do not pass trueLabel, falseLabel to recursive
generateCodeFromNode from ADD node and use -1 , -1 instead to indicate non-jump node.
2003-04-28 09:50:56 +00:00
igor%mir2.org
76c1153fdd
Restoring toStringTreeHelper functionality to print nested functions as a part of the tree. The regression was caused by changes to store function reference as index and not function node.
2003-04-28 09:44:19 +00:00
igor%mir2.org
bbf1d56821
In debug mode print instruction names, not their bytecode values.
2003-04-27 08:12:18 +00:00
igor%mir2.org
295fe24122
1. Consistently use ScriptRutime.<ClassName>Class instead of Classname.class to decrease code size and loading time
...
2. Small optimization in ScriptRuntime.toNuber
2003-04-26 12:01:38 +00:00
igor%mir2.org
2918d030b3
Deprecation of toObject in Context and ScriptRuntime forms that takes a static type argument.
...
The static type argument to toObject is effectively never used since it always assumes that instances of String, Number and Boolean represent primitive JS values and handled via ScriptRuntime.newObject and in the rest of cases static type was not checked by WrapFactory.
2003-04-25 10:08:44 +00:00
igor%mir2.org
a5416922ec
More comments about NativeJavaMethod.findFunction requirements
2003-04-24 17:16:21 +00:00
igor%mir2.org
641fa5d534
Changing NativeJavaClass.construct and NativeJavaMethod.call not to modify passed argument array with unwrapped values. Instead a new array is allocated if any unwrapped value would be different from the original JS argument.
2003-04-24 17:13:57 +00:00