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

Side by Side Diff: src/ic/ia32/ic-ia32.cc

Issue 1424703005: Remove JSBuiltinsObject. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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
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 #if V8_TARGET_ARCH_IA32 5 #if V8_TARGET_ARCH_IA32
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/ic/ic.h" 8 #include "src/ic/ic.h"
9 #include "src/ic/ic-compiler.h" 9 #include "src/ic/ic-compiler.h"
10 #include "src/ic/stub-cache.h" 10 #include "src/ic/stub-cache.h"
11 11
12 namespace v8 { 12 namespace v8 {
13 namespace internal { 13 namespace internal {
14 14
15 // ---------------------------------------------------------------------------- 15 // ----------------------------------------------------------------------------
16 // Static IC stub generators. 16 // Static IC stub generators.
17 // 17 //
18 18
19 #define __ ACCESS_MASM(masm) 19 #define __ ACCESS_MASM(masm)
20 20
21 21
22 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, Register type, 22 static void GenerateGlobalInstanceTypeCheck(MacroAssembler* masm, Register type,
23 Label* global_object) { 23 Label* global_object) {
24 // Register usage: 24 // Register usage:
25 // type: holds the receiver instance type on entry. 25 // type: holds the receiver instance type on entry.
26 __ cmp(type, JS_GLOBAL_OBJECT_TYPE); 26 __ cmp(type, JS_GLOBAL_OBJECT_TYPE);
27 __ j(equal, global_object); 27 __ j(equal, global_object);
28 __ cmp(type, JS_BUILTINS_OBJECT_TYPE);
29 __ j(equal, global_object);
30 __ cmp(type, JS_GLOBAL_PROXY_TYPE); 28 __ cmp(type, JS_GLOBAL_PROXY_TYPE);
31 __ j(equal, global_object); 29 __ j(equal, global_object);
32 } 30 }
33 31
34 32
35 // Helper function used to load a property from a dictionary backing 33 // Helper function used to load a property from a dictionary backing
36 // storage. This function may fail to load a property even though it is 34 // storage. This function may fail to load a property even though it is
37 // in the dictionary, so code at miss_label must always call a backup 35 // in the dictionary, so code at miss_label must always call a backup
38 // property load that is complete. This function is safe to call if 36 // property load that is complete. This function is safe to call if
39 // name is not internalized, and will jump to the miss_label in that 37 // name is not internalized, and will jump to the miss_label in that
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 Condition cc = 900 Condition cc =
903 (check == ENABLE_INLINED_SMI_CHECK) 901 (check == ENABLE_INLINED_SMI_CHECK)
904 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero) 902 ? (*jmp_address == Assembler::kJncShortOpcode ? not_zero : zero)
905 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry); 903 : (*jmp_address == Assembler::kJnzShortOpcode ? not_carry : carry);
906 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc); 904 *jmp_address = static_cast<byte>(Assembler::kJccShortPrefix | cc);
907 } 905 }
908 } // namespace internal 906 } // namespace internal
909 } // namespace v8 907 } // namespace v8
910 908
911 #endif // V8_TARGET_ARCH_IA32 909 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698