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

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

Issue 817873003: Use weak cell in monomorphic KeyedStore IC. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix mips Created 6 years 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/mips64/macro-assembler-mips64.cc ('k') | src/x64/macro-assembler-x64.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 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_X64_MACRO_ASSEMBLER_X64_H_ 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ 6 #define V8_X64_MACRO_ASSEMBLER_X64_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 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 985
986 // Check if the map of an object is equal to a specified map and branch to 986 // Check if the map of an object is equal to a specified map and branch to
987 // label if not. Skip the smi check if not required (object is known to be a 987 // label if not. Skip the smi check if not required (object is known to be a
988 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match 988 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match
989 // against maps that are ElementsKind transition maps of the specified map. 989 // against maps that are ElementsKind transition maps of the specified map.
990 void CheckMap(Register obj, 990 void CheckMap(Register obj,
991 Handle<Map> map, 991 Handle<Map> map,
992 Label* fail, 992 Label* fail,
993 SmiCheckType smi_check_type); 993 SmiCheckType smi_check_type);
994 994
995 // Check if the map of an object is equal to a specified map and branch to a 995 // Check if the map of an object is equal to a specified weak map and branch
996 // specified target if equal. Skip the smi check if not required (object is 996 // to a specified target if equal. Skip the smi check if not required
997 // known to be a heap object) 997 // (object is known to be a heap object)
998 void DispatchMap(Register obj, 998 void DispatchWeakMap(Register obj, Register scratch1, Register scratch2,
999 Register unused, 999 Handle<WeakCell> cell, Handle<Code> success,
1000 Handle<Map> map, 1000 SmiCheckType smi_check_type);
1001 Handle<Code> success,
1002 SmiCheckType smi_check_type);
1003 1001
1004 // Check if the object in register heap_object is a string. Afterwards the 1002 // Check if the object in register heap_object is a string. Afterwards the
1005 // register map contains the object map and the register instance_type 1003 // register map contains the object map and the register instance_type
1006 // contains the instance_type. The registers map and instance_type can be the 1004 // contains the instance_type. The registers map and instance_type can be the
1007 // same in which case it contains the instance type afterwards. Either of the 1005 // same in which case it contains the instance type afterwards. Either of the
1008 // registers map and instance_type can be the same as heap_object. 1006 // registers map and instance_type can be the same as heap_object.
1009 Condition IsObjectStringType(Register heap_object, 1007 Condition IsObjectStringType(Register heap_object,
1010 Register map, 1008 Register map,
1011 Register instance_type); 1009 Register instance_type);
1012 1010
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
1648 masm->popfq(); \ 1646 masm->popfq(); \
1649 } \ 1647 } \
1650 masm-> 1648 masm->
1651 #else 1649 #else
1652 #define ACCESS_MASM(masm) masm-> 1650 #define ACCESS_MASM(masm) masm->
1653 #endif 1651 #endif
1654 1652
1655 } } // namespace v8::internal 1653 } } // namespace v8::internal
1656 1654
1657 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 1655 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/mips64/macro-assembler-mips64.cc ('k') | src/x64/macro-assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698