OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #if V8_TARGET_ARCH_X87 | 5 #if V8_TARGET_ARCH_X87 |
6 | 6 |
7 #include "src/crankshaft/x87/lithium-codegen-x87.h" | 7 #include "src/crankshaft/x87/lithium-codegen-x87.h" |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 1259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1270 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { | 1270 void LCodeGen::DoInstructionGap(LInstructionGap* instr) { |
1271 DoGap(instr); | 1271 DoGap(instr); |
1272 } | 1272 } |
1273 | 1273 |
1274 | 1274 |
1275 void LCodeGen::DoParameter(LParameter* instr) { | 1275 void LCodeGen::DoParameter(LParameter* instr) { |
1276 // Nothing to do. | 1276 // Nothing to do. |
1277 } | 1277 } |
1278 | 1278 |
1279 | 1279 |
1280 void LCodeGen::DoCallStub(LCallStub* instr) { | |
1281 DCHECK(ToRegister(instr->context()).is(esi)); | |
1282 DCHECK(ToRegister(instr->result()).is(eax)); | |
1283 switch (instr->hydrogen()->major_key()) { | |
1284 case CodeStub::RegExpExec: { | |
1285 RegExpExecStub stub(isolate()); | |
1286 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
1287 break; | |
1288 } | |
1289 case CodeStub::SubString: { | |
1290 SubStringStub stub(isolate()); | |
1291 CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr); | |
1292 break; | |
1293 } | |
1294 default: | |
1295 UNREACHABLE(); | |
1296 } | |
1297 } | |
1298 | |
1299 | |
1300 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { | 1280 void LCodeGen::DoUnknownOSRValue(LUnknownOSRValue* instr) { |
1301 GenerateOsrPrologue(); | 1281 GenerateOsrPrologue(); |
1302 } | 1282 } |
1303 | 1283 |
1304 | 1284 |
1305 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { | 1285 void LCodeGen::DoModByPowerOf2I(LModByPowerOf2I* instr) { |
1306 Register dividend = ToRegister(instr->dividend()); | 1286 Register dividend = ToRegister(instr->dividend()); |
1307 int32_t divisor = instr->divisor(); | 1287 int32_t divisor = instr->divisor(); |
1308 DCHECK(dividend.is(ToRegister(instr->result()))); | 1288 DCHECK(dividend.is(ToRegister(instr->result()))); |
1309 | 1289 |
(...skipping 4678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5988 RecordSafepoint(Safepoint::kNoLazyDeopt); | 5968 RecordSafepoint(Safepoint::kNoLazyDeopt); |
5989 } | 5969 } |
5990 | 5970 |
5991 | 5971 |
5992 #undef __ | 5972 #undef __ |
5993 | 5973 |
5994 } // namespace internal | 5974 } // namespace internal |
5995 } // namespace v8 | 5975 } // namespace v8 |
5996 | 5976 |
5997 #endif // V8_TARGET_ARCH_X87 | 5977 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |