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 5323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5334 } else { | 5334 } else { |
5335 Load(node->expression()); | 5335 Load(node->expression()); |
5336 frame_->SetElementAt(0, Factory::undefined_value()); | 5336 frame_->SetElementAt(0, Factory::undefined_value()); |
5337 } | 5337 } |
5338 | 5338 |
5339 } else { | 5339 } else { |
5340 Load(node->expression()); | 5340 Load(node->expression()); |
5341 switch (op) { | 5341 switch (op) { |
5342 case Token::SUB: { | 5342 case Token::SUB: { |
5343 bool overwrite = | 5343 bool overwrite = |
5344 (node->AsBinaryOperation() != NULL && | 5344 (node->expression()->AsBinaryOperation() != NULL && |
5345 node->AsBinaryOperation()->ResultOverwriteAllowed()); | 5345 node->expression()->AsBinaryOperation()->ResultOverwriteAllowed()); |
5346 UnarySubStub stub(overwrite); | 5346 UnarySubStub stub(overwrite); |
5347 // TODO(1222589): remove dependency of TOS being cached inside stub | 5347 // TODO(1222589): remove dependency of TOS being cached inside stub |
5348 Result operand = frame_->Pop(); | 5348 Result operand = frame_->Pop(); |
5349 Result answer = frame_->CallStub(&stub, &operand); | 5349 Result answer = frame_->CallStub(&stub, &operand); |
5350 frame_->Push(&answer); | 5350 frame_->Push(&answer); |
5351 break; | 5351 break; |
5352 } | 5352 } |
5353 | 5353 |
5354 case Token::BIT_NOT: { | 5354 case Token::BIT_NOT: { |
5355 // Smi check. | 5355 // Smi check. |
(...skipping 2770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8126 | 8126 |
8127 int CompareStub::MinorKey() { | 8127 int CompareStub::MinorKey() { |
8128 // Encode the two parameters in a unique 16 bit value. | 8128 // Encode the two parameters in a unique 16 bit value. |
8129 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); | 8129 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); |
8130 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); | 8130 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); |
8131 } | 8131 } |
8132 | 8132 |
8133 #undef __ | 8133 #undef __ |
8134 | 8134 |
8135 } } // namespace v8::internal | 8135 } } // namespace v8::internal |
OLD | NEW |