OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/hydrogen.h" | 5 #include "src/hydrogen.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/v8.h" | 9 #include "src/v8.h" |
10 | 10 |
(...skipping 9801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9812 static const int kBufferArg = 2; | 9812 static const int kBufferArg = 2; |
9813 static const int kByteOffsetArg = 3; | 9813 static const int kByteOffsetArg = 3; |
9814 static const int kByteLengthArg = 4; | 9814 static const int kByteLengthArg = 4; |
9815 static const int kArgsLength = 5; | 9815 static const int kArgsLength = 5; |
9816 DCHECK(arguments->length() == kArgsLength); | 9816 DCHECK(arguments->length() == kArgsLength); |
9817 | 9817 |
9818 | 9818 |
9819 CHECK_ALIVE(VisitForValue(arguments->at(kObjectArg))); | 9819 CHECK_ALIVE(VisitForValue(arguments->at(kObjectArg))); |
9820 HValue* obj = Pop(); | 9820 HValue* obj = Pop(); |
9821 | 9821 |
9822 if (arguments->at(kArrayIdArg)->IsLiteral()) { | 9822 if (!arguments->at(kArrayIdArg)->IsLiteral()) { |
9823 // This should never happen in real use, but can happen when fuzzing. | 9823 // This should never happen in real use, but can happen when fuzzing. |
9824 // Just bail out. | 9824 // Just bail out. |
9825 Bailout(kNeedSmiLiteral); | 9825 Bailout(kNeedSmiLiteral); |
9826 return; | 9826 return; |
9827 } | 9827 } |
9828 Handle<Object> value = | 9828 Handle<Object> value = |
9829 static_cast<Literal*>(arguments->at(kArrayIdArg))->value(); | 9829 static_cast<Literal*>(arguments->at(kArrayIdArg))->value(); |
9830 if (!value->IsSmi()) { | 9830 if (!value->IsSmi()) { |
9831 // This should never happen in real use, but can happen when fuzzing. | 9831 // This should never happen in real use, but can happen when fuzzing. |
9832 // Just bail out. | 9832 // Just bail out. |
(...skipping 3675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13508 if (ShouldProduceTraceOutput()) { | 13508 if (ShouldProduceTraceOutput()) { |
13509 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); | 13509 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); |
13510 } | 13510 } |
13511 | 13511 |
13512 #ifdef DEBUG | 13512 #ifdef DEBUG |
13513 graph_->Verify(false); // No full verify. | 13513 graph_->Verify(false); // No full verify. |
13514 #endif | 13514 #endif |
13515 } | 13515 } |
13516 | 13516 |
13517 } } // namespace v8::internal | 13517 } } // namespace v8::internal |
OLD | NEW |