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

Side by Side Diff: src/builtins/ppc/builtins-ppc.cc

Issue 2653673002: PPC/s390: Split some SharedFunctionInfo's compiler hints off into debugger hints. (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | src/builtins/s390/builtins-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 #if V8_TARGET_ARCH_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 1001 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 // it is present) and load it into kInterpreterBytecodeArrayRegister. 1012 // it is present) and load it into kInterpreterBytecodeArrayRegister.
1013 __ LoadP(r3, FieldMemOperand(r4, JSFunction::kSharedFunctionInfoOffset)); 1013 __ LoadP(r3, FieldMemOperand(r4, JSFunction::kSharedFunctionInfoOffset));
1014 Label array_done; 1014 Label array_done;
1015 Register debug_info = r5; 1015 Register debug_info = r5;
1016 DCHECK(!debug_info.is(r3)); 1016 DCHECK(!debug_info.is(r3));
1017 __ LoadP(debug_info, 1017 __ LoadP(debug_info,
1018 FieldMemOperand(r3, SharedFunctionInfo::kDebugInfoOffset)); 1018 FieldMemOperand(r3, SharedFunctionInfo::kDebugInfoOffset));
1019 // Load original bytecode array or the debug copy. 1019 // Load original bytecode array or the debug copy.
1020 __ LoadP(kInterpreterBytecodeArrayRegister, 1020 __ LoadP(kInterpreterBytecodeArrayRegister,
1021 FieldMemOperand(r3, SharedFunctionInfo::kFunctionDataOffset)); 1021 FieldMemOperand(r3, SharedFunctionInfo::kFunctionDataOffset));
1022 __ CmpSmiLiteral(debug_info, DebugInfo::uninitialized(), r0); 1022 __ TestIfSmi(debug_info, r0);
1023 __ beq(&array_done); 1023 __ beq(&array_done, cr0);
1024 __ LoadP(kInterpreterBytecodeArrayRegister, 1024 __ LoadP(kInterpreterBytecodeArrayRegister,
1025 FieldMemOperand(debug_info, DebugInfo::kDebugBytecodeArrayIndex)); 1025 FieldMemOperand(debug_info, DebugInfo::kDebugBytecodeArrayIndex));
1026 __ bind(&array_done); 1026 __ bind(&array_done);
1027 1027
1028 // Check whether we should continue to use the interpreter. 1028 // Check whether we should continue to use the interpreter.
1029 Label switch_to_different_code_kind; 1029 Label switch_to_different_code_kind;
1030 __ LoadP(r3, FieldMemOperand(r3, SharedFunctionInfo::kCodeOffset)); 1030 __ LoadP(r3, FieldMemOperand(r3, SharedFunctionInfo::kCodeOffset));
1031 __ mov(ip, Operand(masm->CodeObject())); // Self-reference to this code. 1031 __ mov(ip, Operand(masm->CodeObject())); // Self-reference to this code.
1032 __ cmp(r3, ip); 1032 __ cmp(r3, ip);
1033 __ bne(&switch_to_different_code_kind); 1033 __ bne(&switch_to_different_code_kind);
(...skipping 2077 matching lines...) Expand 10 before | Expand all | Expand 10 after
3111 __ CallRuntime(Runtime::kThrowStackOverflow); 3111 __ CallRuntime(Runtime::kThrowStackOverflow);
3112 __ bkpt(0); 3112 __ bkpt(0);
3113 } 3113 }
3114 } 3114 }
3115 3115
3116 #undef __ 3116 #undef __
3117 } // namespace internal 3117 } // namespace internal
3118 } // namespace v8 3118 } // namespace v8
3119 3119
3120 #endif // V8_TARGET_ARCH_PPC 3120 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « no previous file | src/builtins/s390/builtins-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698