Changeset 155820 in webkit for trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h
- Timestamp:
- Sep 15, 2013, 11:53:23 AM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h
r155575 r155820 36 36 namespace JSC { 37 37 38 struct DumpContext; 39 38 40 // Describes how to recover a given bytecode virtual register at a given 39 41 // code point. … … 275 277 } 276 278 277 void dump (PrintStream& out) const279 void dumpInContext(PrintStream& out, DumpContext* context) const 278 280 { 279 281 switch (technique()) { 280 282 case AlreadyInJSStack: 281 283 out.printf("-"); 282 break;284 return; 283 285 case AlreadyInJSStackAsUnboxedInt32: 284 286 out.printf("(int32)"); 285 break;287 return; 286 288 case AlreadyInJSStackAsUnboxedCell: 287 289 out.printf("(cell)"); 288 break;290 return; 289 291 case AlreadyInJSStackAsUnboxedBoolean: 290 292 out.printf("(bool)"); 291 break;293 return; 292 294 case AlreadyInJSStackAsUnboxedDouble: 293 295 out.printf("(double)"); 294 break;296 return; 295 297 case InGPR: 296 298 out.printf("%%r%d", gpr()); 297 break;299 return; 298 300 case UnboxedInt32InGPR: 299 301 out.printf("int32(%%r%d)", gpr()); 300 break;302 return; 301 303 case UnboxedBooleanInGPR: 302 304 out.printf("bool(%%r%d)", gpr()); 303 break;305 return; 304 306 case UInt32InGPR: 305 307 out.printf("uint32(%%r%d)", gpr()); 306 break;308 return; 307 309 case InFPR: 308 310 out.printf("%%fr%d", fpr()); 309 break;311 return; 310 312 #if USE(JSVALUE32_64) 311 313 case InPair: 312 314 out.printf("pair(%%r%d, %%r%d)", tagGPR(), payloadGPR()); 313 break;315 return; 314 316 #endif 315 317 case DisplacedInJSStack: 316 318 out.printf("*%d", virtualRegister()); 317 break;319 return; 318 320 case Int32DisplacedInJSStack: 319 321 out.printf("*int32(%d)", virtualRegister()); 320 break;322 return; 321 323 case DoubleDisplacedInJSStack: 322 324 out.printf("*double(%d)", virtualRegister()); 323 break;325 return; 324 326 case CellDisplacedInJSStack: 325 327 out.printf("*cell(%d)", virtualRegister()); 326 break;328 return; 327 329 case BooleanDisplacedInJSStack: 328 330 out.printf("*bool(%d)", virtualRegister()); 329 break;331 return; 330 332 case ArgumentsThatWereNotCreated: 331 333 out.printf("arguments"); 332 break;334 return; 333 335 case Constant: 334 out.print("[", constant(), "]");335 break;336 out.print("[", inContext(constant(), context), "]"); 337 return; 336 338 case DontKnow: 337 339 out.printf("!"); 338 break; 339 default: 340 out.printf("?%d", technique()); 341 break; 340 return; 342 341 } 342 RELEASE_ASSERT_NOT_REACHED(); 343 } 344 345 void dump(PrintStream& out) const 346 { 347 dumpInContext(out, 0); 343 348 } 344 349
Note:
See TracChangeset
for help on using the changeset viewer.