OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
539 FrameScope scope(this, StackFrame::NONE); | 539 FrameScope scope(this, StackFrame::NONE); |
540 CallRuntime(Runtime::kAbort, 2); | 540 CallRuntime(Runtime::kAbort, 2); |
541 } else { | 541 } else { |
542 CallRuntime(Runtime::kAbort, 2); | 542 CallRuntime(Runtime::kAbort, 2); |
543 } | 543 } |
544 // Control will not return here. | 544 // Control will not return here. |
545 int3(); | 545 int3(); |
546 } | 546 } |
547 | 547 |
548 | 548 |
549 void MacroAssembler::CallStub(CodeStub* stub, unsigned ast_id) { | 549 void MacroAssembler::CallStub(CodeStub* stub, TypeFeedbackId ast_id) { |
550 ASSERT(AllowThisStubCall(stub)); // Calls are not allowed in some stubs | 550 ASSERT(AllowThisStubCall(stub)); // Calls are not allowed in some stubs |
551 Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id); | 551 Call(stub->GetCode(), RelocInfo::CODE_TARGET, ast_id); |
552 } | 552 } |
553 | 553 |
554 | 554 |
555 void MacroAssembler::TailCallStub(CodeStub* stub) { | 555 void MacroAssembler::TailCallStub(CodeStub* stub) { |
556 ASSERT(allow_stub_calls_ || stub->CompilingCallsToThisStubIsGCSafe()); | 556 ASSERT(allow_stub_calls_ || stub->CompilingCallsToThisStubIsGCSafe()); |
557 Jump(stub->GetCode(), RelocInfo::CODE_TARGET); | 557 Jump(stub->GetCode(), RelocInfo::CODE_TARGET); |
558 } | 558 } |
559 | 559 |
(...skipping 1850 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2410 movq(kScratchRegister, destination, rmode); | 2410 movq(kScratchRegister, destination, rmode); |
2411 call(kScratchRegister); | 2411 call(kScratchRegister); |
2412 #ifdef DEBUG | 2412 #ifdef DEBUG |
2413 CHECK_EQ(pc_offset(), end_position); | 2413 CHECK_EQ(pc_offset(), end_position); |
2414 #endif | 2414 #endif |
2415 } | 2415 } |
2416 | 2416 |
2417 | 2417 |
2418 void MacroAssembler::Call(Handle<Code> code_object, | 2418 void MacroAssembler::Call(Handle<Code> code_object, |
2419 RelocInfo::Mode rmode, | 2419 RelocInfo::Mode rmode, |
2420 unsigned ast_id) { | 2420 TypeFeedbackId ast_id) { |
2421 #ifdef DEBUG | 2421 #ifdef DEBUG |
2422 int end_position = pc_offset() + CallSize(code_object); | 2422 int end_position = pc_offset() + CallSize(code_object); |
2423 #endif | 2423 #endif |
2424 ASSERT(RelocInfo::IsCodeTarget(rmode)); | 2424 ASSERT(RelocInfo::IsCodeTarget(rmode)); |
2425 call(code_object, rmode, ast_id); | 2425 call(code_object, rmode, ast_id); |
2426 #ifdef DEBUG | 2426 #ifdef DEBUG |
2427 CHECK_EQ(end_position, pc_offset()); | 2427 CHECK_EQ(end_position, pc_offset()); |
2428 #endif | 2428 #endif |
2429 } | 2429 } |
2430 | 2430 |
(...skipping 2065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4496 bind(&check_prototype); | 4496 bind(&check_prototype); |
4497 movq(rcx, FieldOperand(rbx, Map::kPrototypeOffset)); | 4497 movq(rcx, FieldOperand(rbx, Map::kPrototypeOffset)); |
4498 cmpq(rcx, null_value); | 4498 cmpq(rcx, null_value); |
4499 j(not_equal, &next); | 4499 j(not_equal, &next); |
4500 } | 4500 } |
4501 | 4501 |
4502 | 4502 |
4503 } } // namespace v8::internal | 4503 } } // namespace v8::internal |
4504 | 4504 |
4505 #endif // V8_TARGET_ARCH_X64 | 4505 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |