OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/builtins.h" | 5 #include "src/builtins.h" |
6 | 6 |
7 #include "src/api-arguments.h" | 7 #include "src/api-arguments.h" |
8 #include "src/api-natives.h" | 8 #include "src/api-natives.h" |
9 #include "src/api.h" | 9 #include "src/api.h" |
10 #include "src/base/once.h" | 10 #include "src/base/once.h" |
(...skipping 5203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5214 | 5214 |
5215 a->Bind(&if_numberissmi); | 5215 a->Bind(&if_numberissmi); |
5216 { | 5216 { |
5217 var_result.Bind(a->SmiToWord32(number_index)); | 5217 var_result.Bind(a->SmiToWord32(number_index)); |
5218 a->Goto(&done); | 5218 a->Goto(&done); |
5219 } | 5219 } |
5220 | 5220 |
5221 a->Bind(&if_numberisnotsmi); | 5221 a->Bind(&if_numberisnotsmi); |
5222 { | 5222 { |
5223 Node* number_index_value = a->LoadHeapNumberValue(number_index); | 5223 Node* number_index_value = a->LoadHeapNumberValue(number_index); |
5224 Node* access_index = a->TruncateFloat64ToInt32(number_index_value); | 5224 Node* access_index = a->TruncateFloat64ToWord32(number_index_value); |
5225 Node* test_index = a->ChangeInt32ToFloat64(access_index); | 5225 Node* test_index = a->ChangeInt32ToFloat64(access_index); |
5226 | 5226 |
5227 CodeStubAssembler::Label if_indexesareequal(a), if_indexesarenotequal(a); | 5227 CodeStubAssembler::Label if_indexesareequal(a), if_indexesarenotequal(a); |
5228 a->Branch(a->Float64Equal(number_index_value, test_index), | 5228 a->Branch(a->Float64Equal(number_index_value, test_index), |
5229 &if_indexesareequal, &if_indexesarenotequal); | 5229 &if_indexesareequal, &if_indexesarenotequal); |
5230 | 5230 |
5231 a->Bind(&if_indexesareequal); | 5231 a->Bind(&if_indexesareequal); |
5232 { | 5232 { |
5233 var_result.Bind(access_index); | 5233 var_result.Bind(access_index); |
5234 a->Goto(&done); | 5234 a->Goto(&done); |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5346 BUILTIN_LIST_T(DEFINE_BUILTIN_ACCESSOR_T) | 5346 BUILTIN_LIST_T(DEFINE_BUILTIN_ACCESSOR_T) |
5347 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) | 5347 BUILTIN_LIST_H(DEFINE_BUILTIN_ACCESSOR_H) |
5348 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) | 5348 BUILTIN_LIST_DEBUG_A(DEFINE_BUILTIN_ACCESSOR_A) |
5349 #undef DEFINE_BUILTIN_ACCESSOR_C | 5349 #undef DEFINE_BUILTIN_ACCESSOR_C |
5350 #undef DEFINE_BUILTIN_ACCESSOR_A | 5350 #undef DEFINE_BUILTIN_ACCESSOR_A |
5351 #undef DEFINE_BUILTIN_ACCESSOR_T | 5351 #undef DEFINE_BUILTIN_ACCESSOR_T |
5352 #undef DEFINE_BUILTIN_ACCESSOR_H | 5352 #undef DEFINE_BUILTIN_ACCESSOR_H |
5353 | 5353 |
5354 } // namespace internal | 5354 } // namespace internal |
5355 } // namespace v8 | 5355 } // namespace v8 |
OLD | NEW |