OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 1233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1244 HInstruction* AddFastElementAccess( | 1244 HInstruction* AddFastElementAccess( |
1245 HValue* elements, | 1245 HValue* elements, |
1246 HValue* checked_key, | 1246 HValue* checked_key, |
1247 HValue* val, | 1247 HValue* val, |
1248 HValue* dependency, | 1248 HValue* dependency, |
1249 ElementsKind elements_kind, | 1249 ElementsKind elements_kind, |
1250 bool is_store, | 1250 bool is_store, |
1251 LoadKeyedHoleMode load_mode, | 1251 LoadKeyedHoleMode load_mode, |
1252 KeyedAccessStoreMode store_mode); | 1252 KeyedAccessStoreMode store_mode); |
1253 | 1253 |
1254 HLoadNamedField* BuildLoadNamedField( | 1254 HLoadNamedField* BuildLoadNamedField(HValue* object, HObjectAccess access); |
1255 HValue* object, | 1255 HInstruction* BuildLoadStringLength(HValue* object, HValue* checked_value); |
1256 HObjectAccess access, | 1256 HStoreNamedField* AddStoreMapConstant(HValue* object, Handle<Map>); |
1257 HValue* typecheck); | 1257 HLoadNamedField* AddLoadElements(HValue* object); |
1258 HInstruction* BuildLoadStringLength(HValue* object, HValue* typecheck); | |
1259 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>); | |
1260 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck); | |
1261 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); | 1258 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); |
1262 | 1259 |
1263 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin); | 1260 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin); |
1264 | 1261 |
1265 HValue* TruncateToNumber(HValue* value, Handle<Type>* expected); | 1262 HValue* TruncateToNumber(HValue* value, Handle<Type>* expected); |
1266 | 1263 |
1267 void PushAndAdd(HInstruction* instr); | 1264 void PushAndAdd(HInstruction* instr); |
1268 | 1265 |
1269 void FinishExitWithHardDeoptimization(const char* reason, | 1266 void FinishExitWithHardDeoptimization(const char* reason, |
1270 HBasicBlock* continuation); | 1267 HBasicBlock* continuation); |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1536 void BuildCompareNil( | 1533 void BuildCompareNil( |
1537 HValue* value, | 1534 HValue* value, |
1538 Handle<Type> type, | 1535 Handle<Type> type, |
1539 int position, | 1536 int position, |
1540 HIfContinuation* continuation); | 1537 HIfContinuation* continuation); |
1541 | 1538 |
1542 HValue* BuildCreateAllocationMemento(HValue* previous_object, | 1539 HValue* BuildCreateAllocationMemento(HValue* previous_object, |
1543 int previous_object_size, | 1540 int previous_object_size, |
1544 HValue* payload); | 1541 HValue* payload); |
1545 | 1542 |
1546 void BuildConstantMapCheck(Handle<JSObject> constant, CompilationInfo* info); | 1543 HInstruction* BuildConstantMapCheck(Handle<JSObject> constant, |
1547 void BuildCheckPrototypeMaps(Handle<JSObject> prototype, | 1544 CompilationInfo* info); |
1548 Handle<JSObject> holder); | 1545 HInstruction* BuildCheckPrototypeMaps(Handle<JSObject> prototype, |
| 1546 Handle<JSObject> holder); |
1549 | 1547 |
1550 HInstruction* BuildGetNativeContext(); | 1548 HInstruction* BuildGetNativeContext(); |
1551 HInstruction* BuildGetArrayFunction(); | 1549 HInstruction* BuildGetArrayFunction(); |
1552 | 1550 |
1553 private: | 1551 private: |
1554 HGraphBuilder(); | 1552 HGraphBuilder(); |
1555 | 1553 |
1556 void PadEnvironmentForContinuation(HBasicBlock* from, | 1554 void PadEnvironmentForContinuation(HBasicBlock* from, |
1557 HBasicBlock* continuation); | 1555 HBasicBlock* continuation); |
1558 | 1556 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1592 inline HInstruction* HGraphBuilder::AddUncasted<HSimulate>( | 1590 inline HInstruction* HGraphBuilder::AddUncasted<HSimulate>( |
1593 BailoutId id, | 1591 BailoutId id, |
1594 RemovableSimulate removable) { | 1592 RemovableSimulate removable) { |
1595 HSimulate* instr = current_block()->CreateSimulate(id, removable); | 1593 HSimulate* instr = current_block()->CreateSimulate(id, removable); |
1596 AddInstruction(instr); | 1594 AddInstruction(instr); |
1597 return instr; | 1595 return instr; |
1598 } | 1596 } |
1599 | 1597 |
1600 | 1598 |
1601 template<> | 1599 template<> |
1602 inline HInstruction* HGraphBuilder::NewUncasted<HLoadNamedField>( | |
1603 HValue* object, HObjectAccess access) { | |
1604 return NewUncasted<HLoadNamedField>(object, access, | |
1605 static_cast<HValue*>(NULL)); | |
1606 } | |
1607 | |
1608 | |
1609 template<> | |
1610 inline HInstruction* HGraphBuilder::AddUncasted<HLoadNamedField>( | |
1611 HValue* object, HObjectAccess access) { | |
1612 return AddUncasted<HLoadNamedField>(object, access, | |
1613 static_cast<HValue*>(NULL)); | |
1614 } | |
1615 | |
1616 | |
1617 template<> | |
1618 inline HInstruction* HGraphBuilder::AddUncasted<HSimulate>(BailoutId id) { | 1600 inline HInstruction* HGraphBuilder::AddUncasted<HSimulate>(BailoutId id) { |
1619 return AddUncasted<HSimulate>(id, FIXED_SIMULATE); | 1601 return AddUncasted<HSimulate>(id, FIXED_SIMULATE); |
1620 } | 1602 } |
1621 | 1603 |
1622 | 1604 |
1623 template<> | 1605 template<> |
1624 inline HInstruction* HGraphBuilder::AddUncasted<HReturn>(HValue* value) { | 1606 inline HInstruction* HGraphBuilder::AddUncasted<HReturn>(HValue* value) { |
1625 int num_parameters = graph()->info()->num_parameters(); | 1607 int num_parameters = graph()->info()->num_parameters(); |
1626 HValue* params = AddUncasted<HConstant>(num_parameters); | 1608 HValue* params = AddUncasted<HConstant>(num_parameters); |
1627 HReturn* return_instruction = New<HReturn>(value, params); | 1609 HReturn* return_instruction = New<HReturn>(value, params); |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2322 } | 2304 } |
2323 | 2305 |
2324 private: | 2306 private: |
2325 HGraphBuilder* builder_; | 2307 HGraphBuilder* builder_; |
2326 }; | 2308 }; |
2327 | 2309 |
2328 | 2310 |
2329 } } // namespace v8::internal | 2311 } } // namespace v8::internal |
2330 | 2312 |
2331 #endif // V8_HYDROGEN_H_ | 2313 #endif // V8_HYDROGEN_H_ |
OLD | NEW |