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

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

Issue 11528003: Re-land Crankshaft-generated KeyedLoad stubs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix nits Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // distinguish memory operands from other operands on ia32. 51 // distinguish memory operands from other operands on ia32.
52 typedef Operand MemOperand; 52 typedef Operand MemOperand;
53 53
54 enum RememberedSetAction { EMIT_REMEMBERED_SET, OMIT_REMEMBERED_SET }; 54 enum RememberedSetAction { EMIT_REMEMBERED_SET, OMIT_REMEMBERED_SET };
55 enum SmiCheck { INLINE_SMI_CHECK, OMIT_SMI_CHECK }; 55 enum SmiCheck { INLINE_SMI_CHECK, OMIT_SMI_CHECK };
56 56
57 57
58 bool AreAliased(Register r1, Register r2, Register r3, Register r4); 58 bool AreAliased(Register r1, Register r2, Register r3, Register r4);
59 59
60 60
61 void IterateCompiledFrame(const StandardFrame* frame, ObjectVisitor* v);
Jakob Kummerow 2012/12/11 14:05:54 We #include frames.h above, which contains an iden
danno 2012/12/12 00:36:03 Done.
62
63
61 // MacroAssembler implements a collection of frequently used macros. 64 // MacroAssembler implements a collection of frequently used macros.
62 class MacroAssembler: public Assembler { 65 class MacroAssembler: public Assembler {
63 public: 66 public:
64 // The isolate parameter can be NULL if the macro assembler should 67 // The isolate parameter can be NULL if the macro assembler should
65 // not use isolate-dependent functionality. In this case, it's the 68 // not use isolate-dependent functionality. In this case, it's the
66 // responsibility of the caller to never invoke such function on the 69 // responsibility of the caller to never invoke such function on the
67 // macro assembler. 70 // macro assembler.
68 MacroAssembler(Isolate* isolate, void* buffer, int size); 71 MacroAssembler(Isolate* isolate, void* buffer, int size);
69 72
70 // --------------------------------------------------------------------------- 73 // ---------------------------------------------------------------------------
(...skipping 848 matching lines...) Expand 10 before | Expand all | Expand 10 after
919 // Helper for throwing exceptions. Compute a handler address and jump to 922 // Helper for throwing exceptions. Compute a handler address and jump to
920 // it. See the implementation for register usage. 923 // it. See the implementation for register usage.
921 void JumpToHandlerEntry(); 924 void JumpToHandlerEntry();
922 925
923 // Compute memory operands for safepoint stack slots. 926 // Compute memory operands for safepoint stack slots.
924 Operand SafepointRegisterSlot(Register reg); 927 Operand SafepointRegisterSlot(Register reg);
925 static int SafepointRegisterStackIndex(int reg_code); 928 static int SafepointRegisterStackIndex(int reg_code);
926 929
927 // Needs access to SafepointRegisterStackIndex for compiled frame 930 // Needs access to SafepointRegisterStackIndex for compiled frame
928 // traversal. 931 // traversal.
929 friend class CompiledFrame; 932 friend void IterateCompiledFrame(const StandardFrame* frame,
933 ObjectVisitor* v);
930 }; 934 };
931 935
932 936
933 // The code patcher is used to patch (typically) small parts of code e.g. for 937 // The code patcher is used to patch (typically) small parts of code e.g. for
934 // debugging and other types of instrumentation. When using the code patcher 938 // debugging and other types of instrumentation. When using the code patcher
935 // the exact number of bytes specified must be emitted. Is not legal to emit 939 // the exact number of bytes specified must be emitted. Is not legal to emit
936 // relocation information. If any of these constraints are violated it causes 940 // relocation information. If any of these constraints are violated it causes
937 // an assertion. 941 // an assertion.
938 class CodePatcher { 942 class CodePatcher {
939 public: 943 public:
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1000 } \ 1004 } \
1001 masm-> 1005 masm->
1002 #else 1006 #else
1003 #define ACCESS_MASM(masm) masm-> 1007 #define ACCESS_MASM(masm) masm->
1004 #endif 1008 #endif
1005 1009
1006 1010
1007 } } // namespace v8::internal 1011 } } // namespace v8::internal
1008 1012
1009 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ 1013 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698