| Index: src/codegen-ia32.cc
|
| diff --git a/src/codegen-ia32.cc b/src/codegen-ia32.cc
|
| index 6a522c57988ef2a97ca16d61019c7c62256054b1..ce1bce6fe88c0a8c6855e64aac9517c8b3a99f45 100644
|
| --- a/src/codegen-ia32.cc
|
| +++ b/src/codegen-ia32.cc
|
| @@ -2660,30 +2660,16 @@ void Ia32CodeGenerator::Branch(bool if_true, Label* L) {
|
| }
|
|
|
|
|
| -class StackCheckDeferred: public DeferredCode {
|
| - public:
|
| - explicit StackCheckDeferred(CodeGenerator* generator)
|
| - : DeferredCode(generator) {
|
| - set_comment("[ StackCheckDeferred");
|
| - }
|
| - virtual void Generate();
|
| -};
|
| -
|
| -
|
| -void StackCheckDeferred::Generate() {
|
| - StackCheckStub stub;
|
| - __ CallStub(&stub);
|
| -}
|
| -
|
| -
|
| void Ia32CodeGenerator::CheckStack() {
|
| if (FLAG_check_stack) {
|
| - StackCheckDeferred* deferred = new StackCheckDeferred(this);
|
| + Label stack_is_ok;
|
| + StackCheckStub stub;
|
| ExternalReference stack_guard_limit =
|
| ExternalReference::address_of_stack_guard_limit();
|
| __ cmp(esp, Operand::StaticVariable(stack_guard_limit));
|
| - __ j(below, deferred->enter(), not_taken);
|
| - __ bind(deferred->exit());
|
| + __ j(above_equal, &stack_is_ok, taken);
|
| + __ CallStub(&stub);
|
| + __ bind(&stack_is_ok);
|
| }
|
| }
|
|
|
|
|