aboutsummaryrefslogtreecommitdiff
path: root/src/x87/macro-assembler-x87.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/x87/macro-assembler-x87.h')
-rw-r--r--src/x87/macro-assembler-x87.h97
1 files changed, 11 insertions, 86 deletions
diff --git a/src/x87/macro-assembler-x87.h b/src/x87/macro-assembler-x87.h
index 6bb63594..5f0d6bf8 100644
--- a/src/x87/macro-assembler-x87.h
+++ b/src/x87/macro-assembler-x87.h
@@ -263,16 +263,6 @@ class MacroAssembler: public Assembler {
// Load the global proxy from the current context.
void LoadGlobalProxy(Register dst);
- // Conditionally load the cached Array transitioned map of type
- // transitioned_kind from the native context if the map in register
- // map_in_out is the cached Array map in the native context of
- // expected_kind.
- void LoadTransitionedArrayMapConditional(ElementsKind expected_kind,
- ElementsKind transitioned_kind,
- Register map_in_out,
- Register scratch,
- Label* no_map_match);
-
// Load the global function with the given index.
void LoadGlobalFunction(int index, Register function);
@@ -342,9 +332,10 @@ class MacroAssembler: public Assembler {
const ParameterCount& actual, InvokeFlag flag,
const CallWrapper& call_wrapper);
- void FloodFunctionIfStepping(Register fun, Register new_target,
- const ParameterCount& expected,
- const ParameterCount& actual);
+ // On function call, call into the debugger if necessary.
+ void CheckDebugHook(Register fun, Register new_target,
+ const ParameterCount& expected,
+ const ParameterCount& actual);
// Invoke the JavaScript function in the given register. Changes the
// current context to the context in the function before invoking.
@@ -381,23 +372,6 @@ class MacroAssembler: public Assembler {
// Compare instance type for map.
void CmpInstanceType(Register map, InstanceType type);
- // Check if a map for a JSObject indicates that the object can have both smi
- // and HeapObject elements. Jump to the specified label if it does not.
- void CheckFastObjectElements(Register map, Label* fail,
- Label::Distance distance = Label::kFar);
-
- // Check if a map for a JSObject indicates that the object has fast smi only
- // elements. Jump to the specified label if it does not.
- void CheckFastSmiElements(Register map, Label* fail,
- Label::Distance distance = Label::kFar);
-
- // Check to see if maybe_number can be stored as a double in
- // FastDoubleElements. If it can, store it at the index specified by key in
- // the FastDoubleElements array elements, otherwise jump to fail.
- void StoreNumberToDoubleElements(Register maybe_number, Register elements,
- Register key, Register scratch, Label* fail,
- int offset = 0);
-
// Compare an object's map with the specified map.
void CompareMap(Register obj, Handle<Map> map);
@@ -494,7 +468,12 @@ class MacroAssembler: public Assembler {
test(value, Immediate(kSmiTagMask));
j(not_zero, not_smi_label, distance);
}
-
+ // Jump if the operand is not a smi.
+ inline void JumpIfNotSmi(Operand value, Label* smi_label,
+ Label::Distance distance = Label::kFar) {
+ test(value, Immediate(kSmiTagMask));
+ j(not_zero, smi_label, distance);
+ }
// Jump if the value cannot be represented by a smi.
inline void JumpIfNotValidSmiValue(Register value, Register scratch,
Label* on_invalid,
@@ -629,31 +608,6 @@ class MacroAssembler: public Assembler {
void AllocateHeapNumber(Register result, Register scratch1, Register scratch2,
Label* gc_required, MutableMode mode = IMMUTABLE);
- // Allocate a sequential string. All the header fields of the string object
- // are initialized.
- void AllocateTwoByteString(Register result, Register length,
- Register scratch1, Register scratch2,
- Register scratch3, Label* gc_required);
- void AllocateOneByteString(Register result, Register length,
- Register scratch1, Register scratch2,
- Register scratch3, Label* gc_required);
- void AllocateOneByteString(Register result, int length, Register scratch1,
- Register scratch2, Label* gc_required);
-
- // Allocate a raw cons string object. Only the map field of the result is
- // initialized.
- void AllocateTwoByteConsString(Register result, Register scratch1,
- Register scratch2, Label* gc_required);
- void AllocateOneByteConsString(Register result, Register scratch1,
- Register scratch2, Label* gc_required);
-
- // Allocate a raw sliced string object. Only the map field of the result is
- // initialized.
- void AllocateTwoByteSlicedString(Register result, Register scratch1,
- Register scratch2, Label* gc_required);
- void AllocateOneByteSlicedString(Register result, Register scratch1,
- Register scratch2, Label* gc_required);
-
// Allocate and initialize a JSValue wrapper with the specified {constructor}
// and {value}.
void AllocateJSValue(Register result, Register constructor, Register value,
@@ -683,14 +637,6 @@ class MacroAssembler: public Assembler {
// |temp| holds |result|'s map when done.
void GetMapConstructor(Register result, Register map, Register temp);
- // Try to get function prototype of a function and puts the value in
- // the result register. Checks that the function really is a
- // function and jumps to the miss label if the fast checks fail. The
- // function register will be untouched; the other registers may be
- // clobbered.
- void TryGetFunctionPrototype(Register function, Register result,
- Register scratch, Label* miss);
-
// ---------------------------------------------------------------------------
// Runtime calls
@@ -868,13 +814,6 @@ class MacroAssembler: public Assembler {
// ---------------------------------------------------------------------------
// String utilities.
- // Check whether the instance type represents a flat one-byte string. Jump to
- // the label if not. If the instance type can be scratched specify same
- // register for both instance type and scratch.
- void JumpIfInstanceTypeIsNotSequentialOneByte(
- Register instance_type, Register scratch,
- Label* on_not_flat_one_byte_string);
-
// Checks if both objects are sequential one-byte strings, and jumps to label
// if either is not.
void JumpIfNotBothSequentialOneByteStrings(
@@ -898,7 +837,7 @@ class MacroAssembler: public Assembler {
}
// Load the type feedback vector from a JavaScript frame.
- void EmitLoadTypeFeedbackVector(Register vector);
+ void EmitLoadFeedbackVector(Register vector);
// Activation support.
void EnterFrame(StackFrame::Type type);
@@ -922,20 +861,6 @@ class MacroAssembler: public Assembler {
Register scratch_reg,
Label* no_memento_found);
- void JumpIfJSArrayHasAllocationMemento(Register receiver_reg,
- Register scratch_reg,
- Label* memento_found) {
- Label no_memento_found;
- TestJSArrayForAllocationMemento(receiver_reg, scratch_reg,
- &no_memento_found);
- j(equal, memento_found);
- bind(&no_memento_found);
- }
-
- // Jumps to found label if a prototype map has dictionary elements.
- void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0,
- Register scratch1, Label* found);
-
private:
bool generating_stub_;
bool has_frame_;