OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 is_marked_ = true; | 64 is_marked_ = true; |
65 Label deferred_enter, deferred_exit; | 65 Label deferred_enter, deferred_exit; |
66 { | 66 { |
67 Comment cmnt(masm, "[ EntryNode"); | 67 Comment cmnt(masm, "[ EntryNode"); |
68 __ push(rbp); | 68 __ push(rbp); |
69 __ movq(rbp, rsp); | 69 __ movq(rbp, rsp); |
70 __ push(rsi); | 70 __ push(rsi); |
71 __ push(rdi); | 71 __ push(rdi); |
72 int count = CfgGlobals::current()->fun()->scope()->num_stack_slots(); | 72 int count = CfgGlobals::current()->fun()->scope()->num_stack_slots(); |
73 if (count > 0) { | 73 if (count > 0) { |
74 __ movq(kScratchRegister, Factory::undefined_value(), | 74 __ LoadRoot(kScratchRegister, Heap::kUndefinedValueRootIndex); |
75 RelocInfo::EMBEDDED_OBJECT); | |
76 for (int i = 0; i < count; i++) { | 75 for (int i = 0; i < count; i++) { |
77 __ push(kScratchRegister); | 76 __ push(kScratchRegister); |
78 } | 77 } |
79 } | 78 } |
80 if (FLAG_trace) { | 79 if (FLAG_trace) { |
81 __ CallRuntime(Runtime::kTraceEnter, 0); | 80 __ CallRuntime(Runtime::kTraceEnter, 0); |
82 } | 81 } |
83 if (FLAG_check_stack) { | 82 if (FLAG_check_stack) { |
84 ExternalReference stack_limit = | 83 ExternalReference stack_limit = |
85 ExternalReference::address_of_stack_guard_limit(); | 84 ExternalReference::address_of_stack_guard_limit(); |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 break; | 313 break; |
315 case NOT_ALLOCATED: | 314 case NOT_ALLOCATED: |
316 UNREACHABLE(); | 315 UNREACHABLE(); |
317 } | 316 } |
318 } | 317 } |
319 | 318 |
320 | 319 |
321 #undef __ | 320 #undef __ |
322 | 321 |
323 } } // namespace v8::internal | 322 } } // namespace v8::internal |
OLD | NEW |