OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-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 2185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2196 }; | 2196 }; |
2197 | 2197 |
2198 | 2198 |
2199 void DeferredStackCheck::Generate() { | 2199 void DeferredStackCheck::Generate() { |
2200 StackCheckStub stub; | 2200 StackCheckStub stub; |
2201 __ CallStub(&stub); | 2201 __ CallStub(&stub); |
2202 } | 2202 } |
2203 | 2203 |
2204 | 2204 |
2205 void CodeGenerator::CheckStack() { | 2205 void CodeGenerator::CheckStack() { |
2206 if (FLAG_check_stack) { | 2206 DeferredStackCheck* deferred = new DeferredStackCheck; |
2207 DeferredStackCheck* deferred = new DeferredStackCheck; | 2207 ExternalReference stack_guard_limit = |
2208 ExternalReference stack_guard_limit = | 2208 ExternalReference::address_of_stack_guard_limit(); |
2209 ExternalReference::address_of_stack_guard_limit(); | 2209 __ cmp(esp, Operand::StaticVariable(stack_guard_limit)); |
2210 __ cmp(esp, Operand::StaticVariable(stack_guard_limit)); | 2210 deferred->Branch(below); |
2211 deferred->Branch(below); | 2211 deferred->BindExit(); |
2212 deferred->BindExit(); | |
2213 } | |
2214 } | 2212 } |
2215 | 2213 |
2216 | 2214 |
2217 void CodeGenerator::VisitAndSpill(Statement* statement) { | 2215 void CodeGenerator::VisitAndSpill(Statement* statement) { |
2218 ASSERT(in_spilled_code()); | 2216 ASSERT(in_spilled_code()); |
2219 set_in_spilled_code(false); | 2217 set_in_spilled_code(false); |
2220 Visit(statement); | 2218 Visit(statement); |
2221 if (frame_ != NULL) { | 2219 if (frame_ != NULL) { |
2222 frame_->SpillAll(); | 2220 frame_->SpillAll(); |
2223 } | 2221 } |
(...skipping 5854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8078 | 8076 |
8079 int CompareStub::MinorKey() { | 8077 int CompareStub::MinorKey() { |
8080 // Encode the two parameters in a unique 16 bit value. | 8078 // Encode the two parameters in a unique 16 bit value. |
8081 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); | 8079 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); |
8082 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); | 8080 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); |
8083 } | 8081 } |
8084 | 8082 |
8085 #undef __ | 8083 #undef __ |
8086 | 8084 |
8087 } } // namespace v8::internal | 8085 } } // namespace v8::internal |
OLD | NEW |