Work to support 'this'.

git-svn-id: svn://10.0.0.236/trunk@72823 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
rogerl%netscape.com
2000-06-21 22:32:21 +00:00
parent df06ab5472
commit c263fddb6c
16 changed files with 714 additions and 138 deletions

View File

@@ -115,6 +115,12 @@ $ops{"NEW_OBJECT"} =
rem => "dest",
params => [ ("TypedRegister") ]
};
$ops{"NEW_FUNCTION"} =
{
super => "Instruction_2",
rem => "dest, ICodeModule",
params => [ ("TypedRegister", "ICodeModule *") ]
};
$ops{"NEW_ARRAY"} =
{
super => "Instruction_1",
@@ -216,9 +222,15 @@ $ops{"RETURN_VOID"} =
};
$ops{"CALL"} =
{
super => "Instruction_3",
rem => "result, target, args",
params => [ ("TypedRegister" , "TypedRegister", "RegisterList") ]
super => "Instruction_4",
rem => "result, target, name, args",
params => [ ("TypedRegister" , "TypedRegister", "const StringAtom*", "RegisterList") ]
};
$ops{"METHOD_CALL"} =
{
super => "Instruction_4",
rem => "result, target base, target value, args",
params => [ ("TypedRegister" , "TypedRegister" , "TypedRegister", "RegisterList") ]
};
$ops{"THROW"} =
{
@@ -452,6 +464,8 @@ sub get_print_body {
push (@oplist, "\"'\" << *mOp$op << \"'\"");
} elsif ($type =~ /bool/) {
push (@oplist, "\"'\" << ((mOp$op) ? \"true\" : \"false\") << \"'\"");
} elsif ($type =~ /ICodeModule/) {
push (@oplist, "\"ICodeModule\"");
} else {
push (@oplist, "mOp$op");
}