Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: src/s390/macro-assembler-s390.h

Issue 2762973004: [macro-assembler] Remove a bunch of unused functions. (Closed)
Patch Set: More. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_S390_MACRO_ASSEMBLER_S390_H_ 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ 6 #define V8_S390_MACRO_ASSEMBLER_S390_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/frames.h" 10 #include "src/frames.h"
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 const ParameterCount& actual, InvokeFlag flag, 954 const ParameterCount& actual, InvokeFlag flag,
955 const CallWrapper& call_wrapper); 955 const CallWrapper& call_wrapper);
956 956
957 void InvokeFunction(Handle<JSFunction> function, 957 void InvokeFunction(Handle<JSFunction> function,
958 const ParameterCount& expected, 958 const ParameterCount& expected,
959 const ParameterCount& actual, InvokeFlag flag, 959 const ParameterCount& actual, InvokeFlag flag,
960 const CallWrapper& call_wrapper); 960 const CallWrapper& call_wrapper);
961 961
962 void IsObjectJSStringType(Register object, Register scratch, Label* fail); 962 void IsObjectJSStringType(Register object, Register scratch, Label* fail);
963 963
964 void IsObjectNameType(Register object, Register scratch, Label* fail);
965
966 // Frame restart support 964 // Frame restart support
967 void MaybeDropFrames(); 965 void MaybeDropFrames();
968 966
969 // Exception handling 967 // Exception handling
970 968
971 // Push a new stack handler and link into stack handler chain. 969 // Push a new stack handler and link into stack handler chain.
972 void PushStackHandler(); 970 void PushStackHandler();
973 971
974 // Unlink the stack handler on top of the stack from the stack handler chain. 972 // Unlink the stack handler on top of the stack from the stack handler chain.
975 // Must preserve the result register. 973 // Must preserve the result register.
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1099 // Check if the map of an object is equal to a specified map and branch to 1097 // Check if the map of an object is equal to a specified map and branch to
1100 // label if not. Skip the smi check if not required (object is known to be a 1098 // label if not. Skip the smi check if not required (object is known to be a
1101 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match 1099 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match
1102 // against maps that are ElementsKind transition maps of the specified map. 1100 // against maps that are ElementsKind transition maps of the specified map.
1103 void CheckMap(Register obj, Register scratch, Handle<Map> map, Label* fail, 1101 void CheckMap(Register obj, Register scratch, Handle<Map> map, Label* fail,
1104 SmiCheckType smi_check_type); 1102 SmiCheckType smi_check_type);
1105 1103
1106 void CheckMap(Register obj, Register scratch, Heap::RootListIndex index, 1104 void CheckMap(Register obj, Register scratch, Heap::RootListIndex index,
1107 Label* fail, SmiCheckType smi_check_type); 1105 Label* fail, SmiCheckType smi_check_type);
1108 1106
1109 // Check if the map of an object is equal to a specified weak map and branch
1110 // to a specified target if equal. Skip the smi check if not required
1111 // (object is known to be a heap object)
1112 void DispatchWeakMap(Register obj, Register scratch1, Register scratch2,
1113 Handle<WeakCell> cell, Handle<Code> success,
1114 SmiCheckType smi_check_type);
1115
1116 // Compare the given value and the value of weak cell.
1117 void CmpWeakValue(Register value, Handle<WeakCell> cell, Register scratch,
1118 CRegister cr = cr7);
1119
1120 void GetWeakValue(Register value, Handle<WeakCell> cell); 1107 void GetWeakValue(Register value, Handle<WeakCell> cell);
1121 1108
1122 // Load the value of the weak cell in the value register. Branch to the given 1109 // Load the value of the weak cell in the value register. Branch to the given
1123 // miss label if the weak cell was cleared. 1110 // miss label if the weak cell was cleared.
1124 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss); 1111 void LoadWeakValue(Register value, Handle<WeakCell> cell, Label* miss);
1125 1112
1126 // Compare the object in a register to a value from the root list. 1113 // Compare the object in a register to a value from the root list.
1127 // Uses the ip register as scratch. 1114 // Uses the ip register as scratch.
1128 void CompareRoot(Register obj, Heap::RootListIndex index); 1115 void CompareRoot(Register obj, Heap::RootListIndex index);
1129 void PushRoot(Heap::RootListIndex index) { 1116 void PushRoot(Heap::RootListIndex index) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1319 Register scratch2); 1306 Register scratch2);
1320 void DecrementCounter(StatsCounter* counter, int value, Register scratch1, 1307 void DecrementCounter(StatsCounter* counter, int value, Register scratch1,
1321 Register scratch2); 1308 Register scratch2);
1322 1309
1323 // --------------------------------------------------------------------------- 1310 // ---------------------------------------------------------------------------
1324 // Debugging 1311 // Debugging
1325 1312
1326 // Calls Abort(msg) if the condition cond is not satisfied. 1313 // Calls Abort(msg) if the condition cond is not satisfied.
1327 // Use --debug_code to enable. 1314 // Use --debug_code to enable.
1328 void Assert(Condition cond, BailoutReason reason, CRegister cr = cr7); 1315 void Assert(Condition cond, BailoutReason reason, CRegister cr = cr7);
1329 void AssertFastElements(Register elements);
1330 1316
1331 // Like Assert(), but always enabled. 1317 // Like Assert(), but always enabled.
1332 void Check(Condition cond, BailoutReason reason, CRegister cr = cr7); 1318 void Check(Condition cond, BailoutReason reason, CRegister cr = cr7);
1333 1319
1334 // Print a message to stdout and abort execution. 1320 // Print a message to stdout and abort execution.
1335 void Abort(BailoutReason reason); 1321 void Abort(BailoutReason reason);
1336 1322
1337 // Verify restrictions about code generated in stubs. 1323 // Verify restrictions about code generated in stubs.
1338 void set_generating_stub(bool value) { generating_stub_ = value; } 1324 void set_generating_stub(bool value) { generating_stub_ = value; }
1339 bool generating_stub() { return generating_stub_; } 1325 bool generating_stub() { return generating_stub_; }
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 // Jump if either of the registers contain a non-smi. 1588 // Jump if either of the registers contain a non-smi.
1603 inline void JumpIfNotSmi(Register value, Label* not_smi_label) { 1589 inline void JumpIfNotSmi(Register value, Label* not_smi_label) {
1604 TestIfSmi(value); 1590 TestIfSmi(value);
1605 bne(not_smi_label /*, cr0*/); 1591 bne(not_smi_label /*, cr0*/);
1606 } 1592 }
1607 // Jump if either of the registers contain a non-smi. 1593 // Jump if either of the registers contain a non-smi.
1608 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi); 1594 void JumpIfNotBothSmi(Register reg1, Register reg2, Label* on_not_both_smi);
1609 // Jump if either of the registers contain a smi. 1595 // Jump if either of the registers contain a smi.
1610 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi); 1596 void JumpIfEitherSmi(Register reg1, Register reg2, Label* on_either_smi);
1611 1597
1612 // Abort execution if argument is a number, enabled via --debug-code.
1613 void AssertNotNumber(Register object);
1614
1615 // Abort execution if argument is a smi, enabled via --debug-code. 1598 // Abort execution if argument is a smi, enabled via --debug-code.
1616 void AssertNotSmi(Register object); 1599 void AssertNotSmi(Register object);
1617 void AssertSmi(Register object); 1600 void AssertSmi(Register object);
1618 1601
1619 inline void TestIfInt32(Register value) { 1602 inline void TestIfInt32(Register value) {
1620 // High bits must be identical to fit into an 32-bit integer 1603 // High bits must be identical to fit into an 32-bit integer
1621 cgfr(value, value); 1604 cgfr(value, value);
1622 } 1605 }
1623 1606
1624 #if V8_TARGET_ARCH_S390X 1607 #if V8_TARGET_ARCH_S390X
1625 // Ensure it is permissable to read/write int value directly from 1608 // Ensure it is permissable to read/write int value directly from
1626 // upper half of the smi. 1609 // upper half of the smi.
1627 STATIC_ASSERT(kSmiTag == 0); 1610 STATIC_ASSERT(kSmiTag == 0);
1628 STATIC_ASSERT(kSmiTagSize + kSmiShiftSize == 32); 1611 STATIC_ASSERT(kSmiTagSize + kSmiShiftSize == 32);
1629 #endif 1612 #endif
1630 #if V8_TARGET_LITTLE_ENDIAN 1613 #if V8_TARGET_LITTLE_ENDIAN
1631 #define SmiWordOffset(offset) (offset + kPointerSize / 2) 1614 #define SmiWordOffset(offset) (offset + kPointerSize / 2)
1632 #else 1615 #else
1633 #define SmiWordOffset(offset) offset 1616 #define SmiWordOffset(offset) offset
1634 #endif 1617 #endif
1635 1618
1636 // Abort execution if argument is not a string, enabled via --debug-code.
1637 void AssertString(Register object);
1638
1639 // Abort execution if argument is not a name, enabled via --debug-code.
1640 void AssertName(Register object);
1641
1642 void AssertFunction(Register object); 1619 void AssertFunction(Register object);
1643 1620
1644 // Abort execution if argument is not a JSBoundFunction, 1621 // Abort execution if argument is not a JSBoundFunction,
1645 // enabled via --debug-code. 1622 // enabled via --debug-code.
1646 void AssertBoundFunction(Register object); 1623 void AssertBoundFunction(Register object);
1647 1624
1648 // Abort execution if argument is not a JSGeneratorObject, 1625 // Abort execution if argument is not a JSGeneratorObject,
1649 // enabled via --debug-code. 1626 // enabled via --debug-code.
1650 void AssertGeneratorObject(Register object); 1627 void AssertGeneratorObject(Register object);
1651 1628
1652 // Abort execution if argument is not a JSReceiver, enabled via --debug-code.
1653 void AssertReceiver(Register object);
1654
1655 // Abort execution if argument is not undefined or an AllocationSite, enabled 1629 // Abort execution if argument is not undefined or an AllocationSite, enabled
1656 // via --debug-code. 1630 // via --debug-code.
1657 void AssertUndefinedOrAllocationSite(Register object, Register scratch); 1631 void AssertUndefinedOrAllocationSite(Register object, Register scratch);
1658 1632
1659 // Abort execution if reg is not the root value with the given index, 1633 // Abort execution if reg is not the root value with the given index,
1660 // enabled via --debug-code. 1634 // enabled via --debug-code.
1661 void AssertIsRoot(Register reg, Heap::RootListIndex index); 1635 void AssertIsRoot(Register reg, Heap::RootListIndex index);
1662 1636
1663 // --------------------------------------------------------------------------- 1637 // ---------------------------------------------------------------------------
1664 // HeapNumber utilities 1638 // HeapNumber utilities
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1840 inline MemOperand NativeContextMemOperand() { 1814 inline MemOperand NativeContextMemOperand() {
1841 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1815 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1842 } 1816 }
1843 1817
1844 #define ACCESS_MASM(masm) masm-> 1818 #define ACCESS_MASM(masm) masm->
1845 1819
1846 } // namespace internal 1820 } // namespace internal
1847 } // namespace v8 1821 } // namespace v8
1848 1822
1849 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ 1823 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/ppc/macro-assembler-ppc.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698