v8/test
feng@chromium.org ecd705813f A simple fix of issue http://code.google.com/p/chromium/issues/detail?id=3285
NPN_Construct allows a NPObject to be called as a construct. For example, the
test case

var s = new app.Packages.java.lang.Integer(5);

app.Packages.java.lang.Integer is a NPObject, and it implements NPN_Construct.

This fix allows a JSObject created by an API function be called as a construct
if it can be called
as a function. This is done by generating the same code for
var s = new app.Packages.java.lang.Integer(5); as
var s = app.Packages.java.lang.Integer(5);

and the caller handles both case correctly. A more sophiscated fix is to one
extra JSConstructCall
frame and allow CallAsConstructor in Builtin::HandleApiCallAsFunction.

This change itself shouldn't affect the semantic of normal case such as:

var a = {};
var s = new a();

A TypeError exception will be thrown in CALL_NON_FUNCTION (runtime.js).

Another part of fix is in the binding code, V8NPObject, which makes
NPN_InvokeDefault or NPN_Construct
call depending on which function is available. 
Review URL: http://codereview.chromium.org/100243

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-05-01 19:01:19 +00:00
..
cctest A simple fix of issue http://code.google.com/p/chromium/issues/detail?id=3285 2009-05-01 19:01:19 +00:00
message Fixed a bunch of memory leaks in tests, including: 2009-03-27 00:24:49 +00:00
mjsunit Made sort on non-arrays also affect elements on the prototype, for JSC compatability. 2009-05-01 10:06:55 +00:00
mozilla Add support for \b and ^ and $ in multiline mode, completing Irregexp 2009-01-19 18:56:47 +00:00