- print " { \"$key\", $attrs[$i], (intptr_t)$firstValue, (intptr_t)$secondValue },\n";
+
+ my $intrinsic = "NoIntrinsic";
+ $intrinsic = "FromCharCodeIntrinsic" if ($key eq "fromCharCode");
+ if ($name eq "arrayPrototypeTable") {
+ $intrinsic = "ArrayPushIntrinsic" if ($key eq "push");
+ $intrinsic = "ArrayPopIntrinsic" if ($key eq "pop");
+ }
+ if ($name eq "regExpPrototypeTable") {
+ $intrinsic = "RegExpExecIntrinsic" if ($key eq "exec");
+ $intrinsic = "RegExpTestIntrinsic" if ($key eq "test");
+ }
+
+ if ($values[$i]{"type"} eq "Function") {
+ my $tableHead = $name;
+ $tableHead =~ s/Table$//;
+ print " #if JSC_BUILTIN_EXISTS(" . uc($tableHead . $key) .")\n";
+ print " { \"$key\", (($attrs[$i]) & ~Function) | Builtin, $intrinsic, (intptr_t)static_cast<BuiltinGenerator>(" . $tableHead . ucfirst($key) . "CodeGenerator), (intptr_t)$secondValue },\n";
+ print " #else\n"
+ }
+ print " { \"$key\", $attrs[$i], $intrinsic, (intptr_t)" . $firstCastStr . "($firstValue), (intptr_t)" . $secondCastStr . "($secondValue) },\n";
+ if ($values[$i]{"type"} eq "Function") {
+ print " #endif\n"
+ }