Changeset 33335
- Timestamp:
- 05/12/08 23:03:52 (6 months ago)
- Location:
- branches/squirrelfish/JavaScriptCore
- Files:
-
- 7 modified
-
ChangeLog (modified) (1 diff)
-
VM/CodeBlock.cpp (modified) (21 diffs)
-
VM/CodeGenerator.cpp (modified) (11 diffs)
-
VM/CodeGenerator.h (modified) (1 diff)
-
VM/Machine.cpp (modified) (13 diffs)
-
VM/Opcode.h (modified) (2 diffs)
-
kjs/nodes.cpp (modified) (35 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/squirrelfish/JavaScriptCore/ChangeLog
r33334 r33335 1 2008-05-04 Maciej Stachowiak <mjs@apple.com> 2 3 Rubber stamped by Oliver. 4 5 - renamed a few opcodes and fixed assembly formatting to accomodate the longest opcode 6 7 equal --> eq 8 nequal --> neq 9 resolve_base_and_property --> resolve_with_base 10 resolve_base_and_func --> resolve_func 11 get_prop_id --> get_by_id 12 put_prop_id --> put_by_id 13 delete_prop_id --> del_by_id 14 get_prop_val --> get_by_val 15 put_prop_val --> put_by_val 16 delete_prop_val --> del_by_val 17 put_prop_index --> put_by_index 18 19 * VM/CodeBlock.cpp: 20 (KJS::printUnaryOp): 21 (KJS::printBinaryOp): 22 (KJS::printConditionalJump): 23 (KJS::CodeBlock::dump): 24 * VM/CodeGenerator.cpp: 25 (KJS::CodeGenerator::emitEqual): 26 (KJS::CodeGenerator::emitNotEqual): 27 (KJS::CodeGenerator::emitResolveWithBase): 28 (KJS::CodeGenerator::emitResolveFunction): 29 (KJS::CodeGenerator::emitGetById): 30 (KJS::CodeGenerator::emitPutById): 31 (KJS::CodeGenerator::emitDeleteById): 32 (KJS::CodeGenerator::emitGetByVal): 33 (KJS::CodeGenerator::emitPutByVal): 34 (KJS::CodeGenerator::emitDeleteByVal): 35 (KJS::CodeGenerator::emitPutByIndex): 36 * VM/CodeGenerator.h: 37 * VM/Machine.cpp: 38 (KJS::Machine::privateExecute): 39 * VM/Opcode.h: 40 * kjs/nodes.cpp: 41 (KJS::ArrayNode::emitCode): 42 (KJS::PropertyListNode::emitCode): 43 (KJS::BracketAccessorNode::emitCode): 44 (KJS::DotAccessorNode::emitCode): 45 (KJS::EvalFunctionCallNode::emitCode): 46 (KJS::FunctionCallResolveNode::emitCode): 47 (KJS::FunctionCallBracketNode::emitCode): 48 (KJS::FunctionCallDotNode::emitCode): 49 (KJS::PostIncResolveNode::emitCode): 50 (KJS::PostDecResolveNode::emitCode): 51 (KJS::PostIncBracketNode::emitCode): 52 (KJS::PostDecBracketNode::emitCode): 53 (KJS::PostIncDotNode::emitCode): 54 (KJS::PostDecDotNode::emitCode): 55 (KJS::DeleteResolveNode::emitCode): 56 (KJS::DeleteBracketNode::emitCode): 57 (KJS::DeleteDotNode::emitCode): 58 (KJS::TypeOfResolveNode::emitCode): 59 (KJS::PreIncResolveNode::emitCode): 60 (KJS::PreDecResolveNode::emitCode): 61 (KJS::PreIncBracketNode::emitCode): 62 (KJS::PreDecBracketNode::emitCode): 63 (KJS::PreIncDotNode::emitCode): 64 (KJS::PreDecDotNode::emitCode): 65 (KJS::ReadModifyResolveNode::emitCode): 66 (KJS::AssignResolveNode::emitCode): 67 (KJS::AssignDotNode::emitCode): 68 (KJS::ReadModifyDotNode::emitCode): 69 (KJS::AssignBracketNode::emitCode): 70 (KJS::ReadModifyBracketNode::emitCode): 71 (KJS::ConstDeclNode::emitCodeSingle): 72 (KJS::ForInNode::emitCode): 73 (KJS::TryNode::emitCode): 74 1 75 2008-05-04 Oliver Hunt <oliver@apple.com> 2 76 -
branches/squirrelfish/JavaScriptCore/VM/CodeBlock.cpp
r33331 r33335 104 104 int r1 = (++it)->u.operand; 105 105 106 printf("[%4d] %s\t\t %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str());106 printf("[%4d] %s\t\t %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str()); 107 107 } 108 108 … … 112 112 int r1 = (++it)->u.operand; 113 113 int r2 = (++it)->u.operand; 114 printf("[%4d] %s\t\t %s, %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str());114 printf("[%4d] %s\t\t %s, %s, %s\n", location, op, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); 115 115 } 116 116 … … 119 119 int r0 = (++it)->u.operand; 120 120 int offset = (++it)->u.operand; 121 printf("[%4d] %s\t\t %s, %d(->%d)\n", location, op, registerName(r0).c_str(), offset, jumpTarget(begin, it, offset));121 printf("[%4d] %s\t\t %s, %d(->%d)\n", location, op, registerName(r0).c_str(), offset, jumpTarget(begin, it, offset)); 122 122 } 123 123 … … 168 168 unsigned i = 0; 169 169 do { 170 printf("\t %d: { start: [%4d] end: [%4d] target: [%4d] }\n", i+1, exceptionHandlers[i].start, exceptionHandlers[i].end, exceptionHandlers[i].target);170 printf("\t %d: { start: [%4d] end: [%4d] target: [%4d] }\n", i+1, exceptionHandlers[i].start, exceptionHandlers[i].end, exceptionHandlers[i].target); 171 171 ++i; 172 172 } while (i < exceptionHandlers.size()); … … 183 183 int r0 = (++it)->u.operand; 184 184 int k0 = (++it)->u.operand; 185 printf("[%4d] load\t\t %s, %s\t\t\n", location, registerName(r0).c_str(), constantName(exec, k0, jsValues[k0]).c_str());185 printf("[%4d] load\t\t %s, %s\t\t\n", location, registerName(r0).c_str(), constantName(exec, k0, jsValues[k0]).c_str()); 186 186 break; 187 187 } 188 188 case op_new_object: { 189 189 int r0 = (++it)->u.operand; 190 printf("[%4d] new_object\t %s\n", location, registerName(r0).c_str());190 printf("[%4d] new_object\t %s\n", location, registerName(r0).c_str()); 191 191 break; 192 192 } 193 193 case op_new_array: { 194 194 int r0 = (++it)->u.operand; 195 printf("[%4d] new_array\t %s\n", location, registerName(r0).c_str());195 printf("[%4d] new_array\t %s\n", location, registerName(r0).c_str()); 196 196 break; 197 197 } … … 199 199 int r0 = (++it)->u.operand; 200 200 int re0 = (++it)->u.operand; 201 printf("[%4d] new_regexp\t %s, %s\n", location, registerName(r0).c_str(), regexpName(re0, regexps[re0].get()).c_str());201 printf("[%4d] new_regexp\t %s, %s\n", location, registerName(r0).c_str(), regexpName(re0, regexps[re0].get()).c_str()); 202 202 break; 203 203 } … … 205 205 int r0 = (++it)->u.operand; 206 206 int r1 = (++it)->u.operand; 207 printf("[%4d] mov\t\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str());207 printf("[%4d] mov\t\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str()); 208 208 break; 209 209 } … … 212 212 break; 213 213 } 214 case op_eq ual: {215 printBinaryOp(location, it, "eq ual");216 break; 217 } 218 case op_neq ual: {219 printBinaryOp(location, it, "neq ual");214 case op_eq: { 215 printBinaryOp(location, it, "eq"); 216 break; 217 } 218 case op_neq: { 219 printBinaryOp(location, it, "neq"); 220 220 break; 221 221 } … … 238 238 case op_pre_inc: { 239 239 int r0 = (++it)->u.operand; 240 printf("[%4d] pre_inc\t\t %s\n", location, registerName(r0).c_str());240 printf("[%4d] pre_inc\t\t %s\n", location, registerName(r0).c_str()); 241 241 break; 242 242 } 243 243 case op_pre_dec: { 244 244 int r0 = (++it)->u.operand; 245 printf("[%4d] pre_dec\t\t %s\n", location, registerName(r0).c_str());245 printf("[%4d] pre_dec\t\t %s\n", location, registerName(r0).c_str()); 246 246 break; 247 247 } … … 325 325 int r0 = (++it)->u.operand; 326 326 int id0 = (++it)->u.operand; 327 printf("[%4d] resolve\t\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str());327 printf("[%4d] resolve\t\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str()); 328 328 break; 329 329 } … … 331 331 int r0 = (++it)->u.operand; 332 332 int id0 = (++it)->u.operand; 333 printf("[%4d] resolve_base\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str());334 break; 335 } 336 case op_resolve_ base_and_property: {337 int r0 = (++it)->u.operand; 338 int r1 = (++it)->u.operand; 339 int id0 = (++it)->u.operand; 340 printf("[%4d] resolve_ base_and_property\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str());341 break; 342 } 343 case op_resolve_ base_and_func: {344 int r0 = (++it)->u.operand; 345 int r1 = (++it)->u.operand; 346 int id0 = (++it)->u.operand; 347 printf("[%4d] resolve_ base_and_func\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str());348 break; 349 } 350 case op_get_ prop_id: {351 int r0 = (++it)->u.operand; 352 int r1 = (++it)->u.operand; 353 int id0 = (++it)->u.operand; 354 printf("[%4d] get_ prop_id\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str());355 break; 356 } 357 case op_put_ prop_id: {358 int r0 = (++it)->u.operand; 359 int id0 = (++it)->u.operand; 360 int r1 = (++it)->u.operand; 361 printf("[%4d] put_ prop_id\t%s, %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str(), registerName(r1).c_str());362 break; 363 } 364 case op_del ete_prop_id: {365 int r0 = (++it)->u.operand; 366 int r1 = (++it)->u.operand; 367 int id0 = (++it)->u.operand; 368 printf("[%4d] del ete_prop_id\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str());369 break; 370 } 371 case op_get_ prop_val: {333 printf("[%4d] resolve_base\t %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str()); 334 break; 335 } 336 case op_resolve_with_base: { 337 int r0 = (++it)->u.operand; 338 int r1 = (++it)->u.operand; 339 int id0 = (++it)->u.operand; 340 printf("[%4d] resolve_with_base %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str()); 341 break; 342 } 343 case op_resolve_func: { 344 int r0 = (++it)->u.operand; 345 int r1 = (++it)->u.operand; 346 int id0 = (++it)->u.operand; 347 printf("[%4d] resolve_func\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str()); 348 break; 349 } 350 case op_get_by_id: { 351 int r0 = (++it)->u.operand; 352 int r1 = (++it)->u.operand; 353 int id0 = (++it)->u.operand; 354 printf("[%4d] get_by_id\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str()); 355 break; 356 } 357 case op_put_by_id: { 358 int r0 = (++it)->u.operand; 359 int id0 = (++it)->u.operand; 360 int r1 = (++it)->u.operand; 361 printf("[%4d] put_by_id\t %s, %s, %s\n", location, registerName(r0).c_str(), idName(id0, identifiers[id0]).c_str(), registerName(r1).c_str()); 362 break; 363 } 364 case op_del_by_id: { 365 int r0 = (++it)->u.operand; 366 int r1 = (++it)->u.operand; 367 int id0 = (++it)->u.operand; 368 printf("[%4d] del_by_id\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), idName(id0, identifiers[id0]).c_str()); 369 break; 370 } 371 case op_get_by_val: { 372 372 int r0 = (++it)->u.operand; 373 373 int r1 = (++it)->u.operand; 374 374 int r2 = (++it)->u.operand; 375 printf("[%4d] get_ prop_val\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str());376 break; 377 } 378 case op_put_ prop_val: {375 printf("[%4d] get_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); 376 break; 377 } 378 case op_put_by_val: { 379 379 int r0 = (++it)->u.operand; 380 380 int r1 = (++it)->u.operand; 381 381 int r2 = (++it)->u.operand; 382 printf("[%4d] put_ prop_val\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str());383 break; 384 } 385 case op_del ete_prop_val: {382 printf("[%4d] put_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); 383 break; 384 } 385 case op_del_by_val: { 386 386 int r0 = (++it)->u.operand; 387 387 int r1 = (++it)->u.operand; 388 388 int r2 = (++it)->u.operand; 389 printf("[%4d] del ete_prop_val\t%s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str());390 break; 391 } 392 case op_put_ prop_index: {389 printf("[%4d] del_by_val\t %s, %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str()); 390 break; 391 } 392 case op_put_by_index: { 393 393 int r0 = (++it)->u.operand; 394 394 unsigned n0 = (++it)->u.operand; 395 395 int r1 = (++it)->u.operand; 396 printf("[%4d] put_ prop_index\t%s, %u, %s\n", location, registerName(r0).c_str(), n0, registerName(r1).c_str());396 printf("[%4d] put_by_index\t %s, %u, %s\n", location, registerName(r0).c_str(), n0, registerName(r1).c_str()); 397 397 break; 398 398 } 399 399 case op_jmp: { 400 400 int offset = (++it)->u.operand; 401 printf("[%4d] jmp\t\t %d(->%d)\n", location, offset, jumpTarget(begin, it, offset));401 printf("[%4d] jmp\t\t %d(->%d)\n", location, offset, jumpTarget(begin, it, offset)); 402 402 break; 403 403 } … … 413 413 int r0 = (++it)->u.operand; 414 414 int f0 = (++it)->u.operand; 415 printf("[%4d] new_func\t\t %s, f%d\n", location, registerName(r0).c_str(), f0);415 printf("[%4d] new_func\t\t %s, f%d\n", location, registerName(r0).c_str(), f0); 416 416 break; 417 417 } … … 419 419 int r0 = (++it)->u.operand; 420 420 int f0 = (++it)->u.operand; 421 printf("[%4d] new_func_exp\t %s, f%d\n", location, registerName(r0).c_str(), f0);421 printf("[%4d] new_func_exp\t %s, f%d\n", location, registerName(r0).c_str(), f0); 422 422 break; 423 423 } … … 428 428 int tempCount = (++it)->u.operand; 429 429 int argCount = (++it)->u.operand; 430 printf("[%4d] call\t\t %s, %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), tempCount, argCount);430 printf("[%4d] call\t\t %s, %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), tempCount, argCount); 431 431 break; 432 432 } … … 437 437 int tempCount = (++it)->u.operand; 438 438 int argCount = (++it)->u.operand; 439 printf("[%4d] eval\t\t %s, %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), tempCount, argCount);439 printf("[%4d] eval\t\t %s, %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), registerName(r2).c_str(), tempCount, argCount); 440 440 break; 441 441 } 442 442 case op_ret: { 443 443 int r0 = (++it)->u.operand; 444 printf("[%4d] ret\t\t %s\n", location, registerName(r0).c_str());444 printf("[%4d] ret\t\t %s\n", location, registerName(r0).c_str()); 445 445 break; 446 446 } … … 450 450 int tempCount = (++it)->u.operand; 451 451 int argCount = (++it)->u.operand; 452 printf("[%4d] construct\t %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), tempCount, argCount);452 printf("[%4d] construct\t %s, %s, %d, %d\n", location, registerName(r0).c_str(), registerName(r1).c_str(), tempCount, argCount); 453 453 break; 454 454 } … … 456 456 int r0 = (++it)->u.operand; 457 457 int r1 = (++it)->u.operand; 458 printf("[%4d] get_pnames\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str());458 printf("[%4d] get_pnames\t %s, %s\n", location, registerName(r0).c_str(), registerName(r1).c_str()); 459 459 break; 460 460 } … … 463 463 int iter = (++it)->u.operand; 464 464 int offset = (++it)->u.operand; 465 printf("[%4d] next_pname\t %s, %s, %d(->%d)\n", location, registerName(dest).c_str(), registerName(iter).c_str(), offset, jumpTarget(begin, it, offset));465 printf("[%4d] next_pname\t %s, %s, %d(->%d)\n", location, registerName(dest).c_str(), registerName(iter).c_str(), offset, jumpTarget(begin, it, offset)); 466 466 break; 467 467 } 468 468 case op_push_scope: { 469 469 int r0 = (++it)->u.operand; 470 printf("[%4d] push_scope\t %s\n", location, registerName(r0).c_str());470 printf("[%4d] push_scope\t %s\n", location, registerName(r0).c_str()); 471 471 break; 472 472 } … … 483 483 case op_catch: { 484 484 int r0 = (++it)->u.operand; 485 printf("[%4d] catch\t\t %s\n", location, registerName(r0).c_str());485 printf("[%4d] catch\t\t %s\n", location, registerName(r0).c_str()); 486 486 break; 487 487 } 488 488 case op_throw: { 489 489 int r0 = (++it)->u.operand; 490 printf("[%4d] throw\t\t %s\n", location, registerName(r0).c_str());490 printf("[%4d] throw\t\t %s\n", location, registerName(r0).c_str()); 491 491 break; 492 492 } … … 495 495 int errorType = (++it)->u.operand; 496 496 int k0 = (++it)->u.operand; 497 printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, jsValues[k0]).c_str());497 printf("[%4d] new_error\t %s, %d, %s\n", location, registerName(r0).c_str(), errorType, constantName(exec, k0, jsValues[k0]).c_str()); 498 498 break; 499 499 } … … 501 501 int retAddrDst = (++it)->u.operand; 502 502 int offset = (++it)->u.operand; 503 printf("[%4d] jsr\t\t %s, %d(->%d)\n", location, registerName(retAddrDst).c_str(), offset, jumpTarget(begin, it, offset));503 printf("[%4d] jsr\t\t %s, %d(->%d)\n", location, registerName(retAddrDst).c_str(), offset, jumpTarget(begin, it, offset)); 504 504 break; 505 505 } 506 506 case op_sret: { 507 507 int retAddrSrc = (++it)->u.operand; 508 printf("[%4d] sret\t\t %s\n", location, registerName(retAddrSrc).c_str());508 printf("[%4d] sret\t\t %s\n", location, registerName(retAddrSrc).c_str()); 509 509 break; 510 510 } 511 511 case op_end: { 512 512 int r0 = (++it)->u.operand; 513 printf("[%4d] end\t\t %s\n", location, registerName(r0).c_str());513 printf("[%4d] end\t\t %s\n", location, registerName(r0).c_str()); 514 514 break; 515 515 } -
branches/squirrelfish/JavaScriptCore/VM/CodeGenerator.cpp
r33331 r33335 431 431 RegisterID* CodeGenerator::emitEqual(RegisterID* r0, RegisterID* r1, RegisterID* r2) 432 432 { 433 instructions().append(machine().getOpcode(op_eq ual));433 instructions().append(machine().getOpcode(op_eq)); 434 434 instructions().append(r0->index()); 435 435 instructions().append(r1->index()); … … 440 440 RegisterID* CodeGenerator::emitNotEqual(RegisterID* r0, RegisterID* r1, RegisterID* r2) 441 441 { 442 instructions().append(machine().getOpcode(op_neq ual));442 instructions().append(machine().getOpcode(op_neq)); 443 443 instructions().append(r0->index()); 444 444 instructions().append(r1->index()); … … 716 716 } 717 717 718 RegisterID* CodeGenerator::emitResolve BaseAndProperty(RegisterID* baseDst, RegisterID* propDst, const Identifier& property)719 { 720 instructions().append(machine().getOpcode(op_resolve_ base_and_property));718 RegisterID* CodeGenerator::emitResolveWithBase(RegisterID* baseDst, RegisterID* propDst, const Identifier& property) 719 { 720 instructions().append(machine().getOpcode(op_resolve_with_base)); 721 721 instructions().append(baseDst->index()); 722 722 instructions().append(propDst->index()); … … 725 725 } 726 726 727 RegisterID* CodeGenerator::emitResolve BaseAndFunc(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property)728 { 729 instructions().append(machine().getOpcode(op_resolve_ base_and_func));727 RegisterID* CodeGenerator::emitResolveFunction(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property) 728 { 729 instructions().append(machine().getOpcode(op_resolve_func)); 730 730 instructions().append(baseDst->index()); 731 731 instructions().append(funcDst->index()); … … 734 734 } 735 735 736 RegisterID* CodeGenerator::emitGet PropId(RegisterID* dst, RegisterID* base, const Identifier& property)737 { 738 instructions().append(machine().getOpcode(op_get_ prop_id));736 RegisterID* CodeGenerator::emitGetById(RegisterID* dst, RegisterID* base, const Identifier& property) 737 { 738 instructions().append(machine().getOpcode(op_get_by_id)); 739 739 instructions().append(dst->index()); 740 740 instructions().append(base->index()); … … 743 743 } 744 744 745 RegisterID* CodeGenerator::emitPut PropId(RegisterID* base, const Identifier& property, RegisterID* value)746 { 747 instructions().append(machine().getOpcode(op_put_ prop_id));745 RegisterID* CodeGenerator::emitPutById(RegisterID* base, const Identifier& property, RegisterID* value) 746 { 747 instructions().append(machine().getOpcode(op_put_by_id)); 748 748 instructions().append(base->index()); 749 749 instructions().append(addConstant(property)); … … 770 770 } 771 771 772 RegisterID* CodeGenerator::emitDelete PropId(RegisterID* dst, RegisterID* base, const Identifier& property)773 { 774 instructions().append(machine().getOpcode(op_del ete_prop_id));772 RegisterID* CodeGenerator::emitDeleteById(RegisterID* dst, RegisterID* base, const Identifier& property) 773 { 774 instructions().append(machine().getOpcode(op_del_by_id)); 775 775 instructions().append(dst->index()); 776 776 instructions().append(base->index()); … … 779 779 } 780 780 781 RegisterID* CodeGenerator::emitGet PropVal(RegisterID* dst, RegisterID* base, RegisterID* property)782 { 783 instructions().append(machine().getOpcode(op_get_ prop_val));781 RegisterID* CodeGenerator::emitGetByVal(RegisterID* dst, RegisterID* base, RegisterID* property) 782 { 783 instructions().append(machine().getOpcode(op_get_by_val)); 784 784 instructions().append(dst->index()); 785 785 instructions().append(base->index()); … … 788 788 } 789 789 790 RegisterID* CodeGenerator::emitPut PropVal(RegisterID* base, RegisterID* property, RegisterID* value)791 { 792 instructions().append(machine().getOpcode(op_put_ prop_val));790 RegisterID* CodeGenerator::emitPutByVal(RegisterID* base, RegisterID* property, RegisterID* value) 791 { 792 instructions().append(machine().getOpcode(op_put_by_val)); 793 793 instructions().append(base->index()); 794 794 instructions().append(property->index()); … … 797 797 } 798 798 799 RegisterID* CodeGenerator::emitDelete PropVal(RegisterID* dst, RegisterID* base, RegisterID* property)800 { 801 instructions().append(machine().getOpcode(op_del ete_prop_val));799 RegisterID* CodeGenerator::emitDeleteByVal(RegisterID* dst, RegisterID* base, RegisterID* property) 800 { 801 instructions().append(machine().getOpcode(op_del_by_val)); 802 802 instructions().append(dst->index()); 803 803 instructions().append(base->index()); … … 806 806 } 807 807 808 RegisterID* CodeGenerator::emitPut PropIndex(RegisterID* base, unsigned index, RegisterID* value)809 { 810 instructions().append(machine().getOpcode(op_put_ prop_index));808 RegisterID* CodeGenerator::emitPutByIndex(RegisterID* base, unsigned index, RegisterID* value) 809 { 810 instructions().append(machine().getOpcode(op_put_by_index)); 811 811 instructions().append(base->index()); 812 812 instructions().append(index); -
branches/squirrelfish/JavaScriptCore/VM/CodeGenerator.h
r33331 r33335 191 191 192 192 RegisterID* emitResolveBase(RegisterID* dst, const Identifier& property); 193 RegisterID* emitResolve BaseAndProperty(RegisterID* baseDst, RegisterID* propDst, const Identifier& property);194 RegisterID* emitResolve BaseAndFunc(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property);195 196 RegisterID* emitGet PropId(RegisterID* dst, RegisterID* base, const Identifier& property);197 RegisterID* emitPut PropId(RegisterID* base, const Identifier& property, RegisterID* value);198 RegisterID* emitDelete PropId(RegisterID* dst, RegisterID* base, const Identifier&);199 RegisterID* emitGet PropVal(RegisterID* dst, RegisterID* base, RegisterID* property);200 RegisterID* emitPut PropVal(RegisterID* base, RegisterID* property, RegisterID* value);201 RegisterID* emitDelete PropVal(RegisterID* dst, RegisterID* base, RegisterID* property);202 RegisterID* emitPut PropIndex(RegisterID* base, unsigned index, RegisterID* value);193 RegisterID* emitResolveWithBase(Regi