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 #ifndef V8_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "v8.h" | 8 #include "v8.h" |
9 | 9 |
10 #include "accessors.h" | 10 #include "accessors.h" |
(...skipping 1370 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1381 HValue* elements, | 1381 HValue* elements, |
1382 HValue* checked_key, | 1382 HValue* checked_key, |
1383 HValue* val, | 1383 HValue* val, |
1384 HValue* dependency, | 1384 HValue* dependency, |
1385 ElementsKind elements_kind, | 1385 ElementsKind elements_kind, |
1386 PropertyAccessType access_type, | 1386 PropertyAccessType access_type, |
1387 LoadKeyedHoleMode load_mode = NEVER_RETURN_HOLE); | 1387 LoadKeyedHoleMode load_mode = NEVER_RETURN_HOLE); |
1388 | 1388 |
1389 HInstruction* AddLoadStringInstanceType(HValue* string); | 1389 HInstruction* AddLoadStringInstanceType(HValue* string); |
1390 HInstruction* AddLoadStringLength(HValue* string); | 1390 HInstruction* AddLoadStringLength(HValue* string); |
1391 HStoreNamedField* AddStoreMapNoWriteBarrier(HValue* object, HValue* map) { | 1391 HStoreNamedField* AddStoreMapConstant(HValue* object, Handle<Map> map) { |
1392 HStoreNamedField* store_map = Add<HStoreNamedField>( | 1392 return Add<HStoreNamedField>(object, HObjectAccess::ForMap(), |
1393 object, HObjectAccess::ForMap(), map); | 1393 Add<HConstant>(map)); |
1394 store_map->SkipWriteBarrier(); | |
1395 return store_map; | |
1396 } | |
1397 HStoreNamedField* AddStoreMapConstant(HValue* object, Handle<Map> map); | |
1398 HStoreNamedField* AddStoreMapConstantNoWriteBarrier(HValue* object, | |
1399 Handle<Map> map) { | |
1400 HStoreNamedField* store_map = AddStoreMapConstant(object, map); | |
1401 store_map->SkipWriteBarrier(); | |
1402 return store_map; | |
1403 } | 1394 } |
1404 HLoadNamedField* AddLoadElements(HValue* object, | 1395 HLoadNamedField* AddLoadElements(HValue* object, |
1405 HValue* dependency = NULL); | 1396 HValue* dependency = NULL); |
1406 | 1397 |
1407 bool MatchRotateRight(HValue* left, | 1398 bool MatchRotateRight(HValue* left, |
1408 HValue* right, | 1399 HValue* right, |
1409 HValue** operand, | 1400 HValue** operand, |
1410 HValue** shift_amount); | 1401 HValue** shift_amount); |
1411 | 1402 |
1412 HValue* BuildBinaryOperation(Token::Value op, | 1403 HValue* BuildBinaryOperation(Token::Value op, |
(...skipping 1392 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2805 } | 2796 } |
2806 | 2797 |
2807 private: | 2798 private: |
2808 HGraphBuilder* builder_; | 2799 HGraphBuilder* builder_; |
2809 }; | 2800 }; |
2810 | 2801 |
2811 | 2802 |
2812 } } // namespace v8::internal | 2803 } } // namespace v8::internal |
2813 | 2804 |
2814 #endif // V8_HYDROGEN_H_ | 2805 #endif // V8_HYDROGEN_H_ |
OLD | NEW |