Changeset 43619 in webkit for trunk/JavaScriptCore/assembler/X86Assembler.h
- Timestamp:
- May 13, 2009, 2:10:02 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/X86Assembler.h
r43434 r43619 194 194 GROUP1_OP_ADD = 0, 195 195 GROUP1_OP_OR = 1, 196 GROUP1_OP_ADC = 2, 196 197 GROUP1_OP_AND = 4, 197 198 GROUP1_OP_SUB = 5, … … 296 297 // Arithmetic operations: 297 298 299 #if !PLATFORM(X86_64) 300 void adcl_im(int imm, void* addr) 301 { 302 if (CAN_SIGN_EXTEND_8_32(imm)) { 303 m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_ADC, addr); 304 m_formatter.immediate8(imm); 305 } else { 306 m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_ADC, addr); 307 m_formatter.immediate32(imm); 308 } 309 } 310 #endif 311 298 312 void addl_rr(RegisterID src, RegisterID dst) 299 313 { … … 341 355 } else { 342 356 m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_ADD, dst); 357 m_formatter.immediate32(imm); 358 } 359 } 360 361 void addq_im(int imm, int offset, RegisterID base) 362 { 363 if (CAN_SIGN_EXTEND_8_32(imm)) { 364 m_formatter.oneByteOp64(OP_GROUP1_EvIb, GROUP1_OP_ADD, base, offset); 365 m_formatter.immediate8(imm); 366 } else { 367 m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_ADD, base, offset); 343 368 m_formatter.immediate32(imm); 344 369 } … … 373 398 } 374 399 400 void andl_im(int imm, int offset, RegisterID base) 401 { 402 if (CAN_SIGN_EXTEND_8_32(imm)) { 403 m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_AND, base, offset); 404 m_formatter.immediate8(imm); 405 } else { 406 m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_AND, base, offset); 407 m_formatter.immediate32(imm); 408 } 409 } 410 375 411 #if PLATFORM(X86_64) 376 412 void andq_rr(RegisterID src, RegisterID dst) … … 389 425 } 390 426 } 427 #else 428 void andl_im(int imm, void* addr) 429 { 430 if (CAN_SIGN_EXTEND_8_32(imm)) { 431 m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_AND, addr); 432 m_formatter.immediate8(imm); 433 } else { 434 m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_AND, addr); 435 m_formatter.immediate32(imm); 436 } 437 } 391 438 #endif 392 439 … … 417 464 } 418 465 466 void orl_im(int imm, int offset, RegisterID base) 467 { 468 if (CAN_SIGN_EXTEND_8_32(imm)) { 469 m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_OR, base, offset); 470 m_formatter.immediate8(imm); 471 } else { 472 m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_OR, base, offset); 473 m_formatter.immediate32(imm); 474 } 475 } 476 419 477 #if PLATFORM(X86_64) 420 478 void orq_rr(RegisterID src, RegisterID dst) … … 430 488 } else { 431 489 m_formatter.oneByteOp64(OP_GROUP1_EvIz, GROUP1_OP_OR, dst); 490 m_formatter.immediate32(imm); 491 } 492 } 493 #else 494 void orl_im(int imm, void* addr) 495 { 496 if (CAN_SIGN_EXTEND_8_32(imm)) { 497 m_formatter.oneByteOp(OP_GROUP1_EvIb, GROUP1_OP_OR, addr); 498 m_formatter.immediate8(imm); 499 } else { 500 m_formatter.oneByteOp(OP_GROUP1_EvIz, GROUP1_OP_OR, addr); 432 501 m_formatter.immediate32(imm); 433 502 }
Note:
See TracChangeset
for help on using the changeset viewer.