Changeset 157209 in webkit for trunk/Source/JavaScriptCore/ftl/FTLCArgumentGetter.cpp
- Timestamp:
- Oct 9, 2013, 9:24:57 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ftl/FTLCArgumentGetter.cpp
r156047 r157209 53 53 54 54 switch (format) { 55 case ValueFormatInt32: { 55 case ValueFormatInt32: 56 case ValueFormatUInt32: 56 57 loadNext32(destination); 57 m_jit.or64(GPRInfo::tagTypeNumberRegister, destination);58 58 break; 59 }60 61 case ValueFormatUInt32: {62 loadNext32(destination);63 m_jit.moveDoubleTo64(FPRInfo::fpRegT0, scratch2);64 m_jit.boxInt52(destination, destination, scratch1, FPRInfo::fpRegT0);65 m_jit.move64ToDouble(scratch2, FPRInfo::fpRegT0);66 break;67 }68 59 69 case ValueFormatInt52: { 70 loadNext64(destination); 71 m_jit.rshift64(AssemblyHelpers::TrustedImm32(JSValue::int52ShiftAmount), destination); 72 m_jit.moveDoubleTo64(FPRInfo::fpRegT0, scratch2); 73 m_jit.boxInt52(destination, destination, scratch1, FPRInfo::fpRegT0); 74 m_jit.move64ToDouble(scratch2, FPRInfo::fpRegT0); 75 break; 76 } 77 78 case ValueFormatStrictInt52: { 79 loadNext64(destination); 80 m_jit.moveDoubleTo64(FPRInfo::fpRegT0, scratch2); 81 m_jit.boxInt52(destination, destination, scratch1, FPRInfo::fpRegT0); 82 m_jit.move64ToDouble(scratch2, FPRInfo::fpRegT0); 83 break; 84 } 85 86 case ValueFormatBoolean: { 87 loadNext8(destination); 88 m_jit.or32(MacroAssembler::TrustedImm32(ValueFalse), destination); 89 break; 90 } 91 92 case ValueFormatJSValue: { 60 case ValueFormatInt52: 61 case ValueFormatStrictInt52: 62 case ValueFormatJSValue: 93 63 loadNext64(destination); 94 64 break; 95 }96 65 97 case ValueFormatDouble: { 98 m_jit.moveDoubleTo64(FPRInfo::fpRegT0, scratch1); 99 loadNextDouble(FPRInfo::fpRegT0); 100 m_jit.boxDouble(FPRInfo::fpRegT0, destination); 101 m_jit.move64ToDouble(scratch1, FPRInfo::fpRegT0); 66 case ValueFormatBoolean: 67 loadNext8(destination); 102 68 break; 103 } 69 70 case ValueFormatDouble: 71 loadNextDoubleIntoGPR(destination); 72 break; 104 73 105 74 default: … … 107 76 break; 108 77 } 78 79 reboxAccordingToFormat(format, m_jit, destination, scratch1, scratch2); 109 80 } 110 81
Note:
See TracChangeset
for help on using the changeset viewer.