OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 2608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2619 if (argument->IsConstantOperand()) { | 2619 if (argument->IsConstantOperand()) { |
2620 __ push(ToImmediate(argument)); | 2620 __ push(ToImmediate(argument)); |
2621 } else { | 2621 } else { |
2622 __ push(ToOperand(argument)); | 2622 __ push(ToOperand(argument)); |
2623 } | 2623 } |
2624 } | 2624 } |
2625 | 2625 |
2626 | 2626 |
2627 void LCodeGen::DoThisFunction(LThisFunction* instr) { | 2627 void LCodeGen::DoThisFunction(LThisFunction* instr) { |
2628 Register result = ToRegister(instr->result()); | 2628 Register result = ToRegister(instr->result()); |
2629 __ mov(result, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset)); | 2629 LoadHeapObject(result, instr->hydrogen()->closure()); |
2630 } | 2630 } |
2631 | 2631 |
2632 | 2632 |
2633 void LCodeGen::DoContext(LContext* instr) { | 2633 void LCodeGen::DoContext(LContext* instr) { |
2634 Register result = ToRegister(instr->result()); | 2634 Register result = ToRegister(instr->result()); |
2635 __ mov(result, Operand(ebp, StandardFrameConstants::kContextOffset)); | 2635 __ mov(result, Operand(ebp, StandardFrameConstants::kContextOffset)); |
2636 } | 2636 } |
2637 | 2637 |
2638 | 2638 |
2639 void LCodeGen::DoOuterContext(LOuterContext* instr) { | 2639 void LCodeGen::DoOuterContext(LOuterContext* instr) { |
(...skipping 1880 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4520 env->deoptimization_index()); | 4520 env->deoptimization_index()); |
4521 __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); | 4521 __ InvokeBuiltin(Builtins::IN, CALL_FUNCTION, safepoint_generator); |
4522 } | 4522 } |
4523 | 4523 |
4524 | 4524 |
4525 #undef __ | 4525 #undef __ |
4526 | 4526 |
4527 } } // namespace v8::internal | 4527 } } // namespace v8::internal |
4528 | 4528 |
4529 #endif // V8_TARGET_ARCH_IA32 | 4529 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |