Prototype munging for built-in global properties, implemented Function

object & Boolean object.


git-svn-id: svn://10.0.0.236/trunk@75594 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rogerl%netscape.com
2000-08-04 20:28:35 +00:00
parent 5c6168c2e7
commit 609feb88b0
16 changed files with 524 additions and 120 deletions

View File

@@ -288,9 +288,15 @@ $ops{"RETURN_VOID"} =
$ops{"CALL"} =
{
super => "Instruction_4",
rem => "result, base, target, args",
rem => "result, target, this, args",
params => [ ("TypedRegister", "TypedRegister", "TypedRegister", "RegisterList") ]
};
$ops{"DIRECT_CALL"} =
{
super => "Instruction_3",
rem => "result, target, args",
params => [ ("TypedRegister", "JSFunction *", "RegisterList") ]
};
$ops{"GET_METHOD"} =
{
super => "Instruction_3",
@@ -535,22 +541,20 @@ sub get_print_body {
for $type (@types) {
if ($type eq "TypedRegister") {
push (@oplist, "mOp$op" );
# push (@oplist, "\"R\" << ((mOp$op.first == NotARegister) ? -1 : mOp$op.first)");
} elsif ($type eq "Label*") {
push (@oplist, "\"Offset \" << ((mOp$op) ? mOp$op->mOffset : NotAnOffset)")
} elsif ($type =~ /String/) {
push (@oplist, "\"'\" << *mOp$op << \"'\"");
} elsif ($type =~ /JSType\*/) {
} elsif ($type =~ /JSType *\*/) {
push (@oplist, "\"'\" << mOp$op->getName() << \"'\"");
} elsif ($type =~ /JSFunction *\*/) {
push (@oplist, "\"JSFunction\"");
} elsif ($type =~ /bool/) {
push (@oplist, "\"'\" << ((mOp$op) ? \"true\" : \"false\") << \"'\"");
} elsif ($type =~ /ICodeModule/) {
push (@oplist, "\"ICodeModule\"");
} elsif ($type =~ /JSClass\*/) {
} elsif ($type =~ /JSClass *\*/) {
push (@oplist, "mOp$op->getName()");
} else {
push (@oplist, "mOp$op");