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/ia32/macro-assembler-ia32.cc

Issue 1423833003: Canonicalize handles for optimized compilation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix 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
« no previous file with comments | « src/handles-inl.h ('k') | src/identity-map.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 #if V8_TARGET_ARCH_IA32 5 #if V8_TARGET_ARCH_IA32
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/division-by-constant.h" 8 #include "src/base/division-by-constant.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
11 #include "src/debug/debug.h" 11 #include "src/debug/debug.h"
12 #include "src/ia32/frames-ia32.h" 12 #include "src/ia32/frames-ia32.h"
13 #include "src/ia32/macro-assembler-ia32.h" 13 #include "src/ia32/macro-assembler-ia32.h"
14 #include "src/runtime/runtime.h" 14 #include "src/runtime/runtime.h"
15 15
16 namespace v8 { 16 namespace v8 {
17 namespace internal { 17 namespace internal {
18 18
19 // ------------------------------------------------------------------------- 19 // -------------------------------------------------------------------------
20 // MacroAssembler implementation. 20 // MacroAssembler implementation.
21 21
22 MacroAssembler::MacroAssembler(Isolate* arg_isolate, void* buffer, int size) 22 MacroAssembler::MacroAssembler(Isolate* arg_isolate, void* buffer, int size)
23 : Assembler(arg_isolate, buffer, size), 23 : Assembler(arg_isolate, buffer, size),
24 generating_stub_(false), 24 generating_stub_(false),
25 has_frame_(false) { 25 has_frame_(false) {
26 if (isolate() != NULL) { 26 if (isolate() != NULL) {
27 // TODO(titzer): should we just use a null handle here instead? 27 code_object_ =
28 code_object_ = Handle<Object>(isolate()->heap()->undefined_value(), 28 Handle<Object>::New(isolate()->heap()->undefined_value(), isolate());
29 isolate());
30 } 29 }
31 } 30 }
32 31
33 32
34 void MacroAssembler::Load(Register dst, const Operand& src, Representation r) { 33 void MacroAssembler::Load(Register dst, const Operand& src, Representation r) {
35 DCHECK(!r.IsDouble()); 34 DCHECK(!r.IsDouble());
36 if (r.IsInteger8()) { 35 if (r.IsInteger8()) {
37 movsx_b(dst, src); 36 movsx_b(dst, src);
38 } else if (r.IsUInteger8()) { 37 } else if (r.IsUInteger8()) {
39 movzx_b(dst, src); 38 movzx_b(dst, src);
(...skipping 3109 matching lines...) Expand 10 before | Expand all | Expand 10 after
3149 mov(eax, dividend); 3148 mov(eax, dividend);
3150 shr(eax, 31); 3149 shr(eax, 31);
3151 add(edx, eax); 3150 add(edx, eax);
3152 } 3151 }
3153 3152
3154 3153
3155 } // namespace internal 3154 } // namespace internal
3156 } // namespace v8 3155 } // namespace v8
3157 3156
3158 #endif // V8_TARGET_ARCH_IA32 3157 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/handles-inl.h ('k') | src/identity-map.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698