OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 12 matching lines...) Expand all Loading... |
23 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | 23 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
24 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | 24 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
25 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 25 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
26 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | 26 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
27 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | 27 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
28 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | 28 // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
29 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 | 30 |
31 // The original source code covered by the above license above has been | 31 // The original source code covered by the above license above has been |
32 // modified significantly by Google Inc. | 32 // modified significantly by Google Inc. |
33 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 33 // Copyright 2011 the V8 project authors. All rights reserved. |
34 | 34 |
35 #ifndef V8_ASSEMBLER_H_ | 35 #ifndef V8_ASSEMBLER_H_ |
36 #define V8_ASSEMBLER_H_ | 36 #define V8_ASSEMBLER_H_ |
37 | 37 |
38 #include "gdb-jit.h" | 38 #include "gdb-jit.h" |
39 #include "runtime.h" | 39 #include "runtime.h" |
40 #include "token.h" | 40 #include "token.h" |
41 | 41 |
42 namespace v8 { | 42 namespace v8 { |
43 namespace internal { | 43 namespace internal { |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 ASSERT(is_bound()); | 104 ASSERT(is_bound()); |
105 } | 105 } |
106 void link_to(int pos) { | 106 void link_to(int pos) { |
107 pos_ = pos + 1; | 107 pos_ = pos + 1; |
108 ASSERT(is_linked()); | 108 ASSERT(is_linked()); |
109 } | 109 } |
110 | 110 |
111 friend class Assembler; | 111 friend class Assembler; |
112 friend class RegexpAssembler; | 112 friend class RegexpAssembler; |
113 friend class Displacement; | 113 friend class Displacement; |
114 friend class ShadowTarget; | |
115 friend class RegExpMacroAssemblerIrregexp; | 114 friend class RegExpMacroAssemblerIrregexp; |
116 }; | 115 }; |
117 | 116 |
118 | 117 |
119 // ----------------------------------------------------------------------------- | 118 // ----------------------------------------------------------------------------- |
120 // NearLabels are labels used for short jumps (in Intel jargon). | 119 // NearLabels are labels used for short jumps (in Intel jargon). |
121 // NearLabels should be used if it can be guaranteed that the jump range is | 120 // NearLabels should be used if it can be guaranteed that the jump range is |
122 // within -128 to +127. We already use short jumps when jumping backwards, | 121 // within -128 to +127. We already use short jumps when jumping backwards, |
123 // so using a NearLabel will only have performance impact if used for forward | 122 // so using a NearLabel will only have performance impact if used for forward |
124 // jumps. | 123 // jumps. |
(...skipping 689 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 return num_bits_set; | 813 return num_bits_set; |
815 } | 814 } |
816 | 815 |
817 // Computes pow(x, y) with the special cases in the spec for Math.pow. | 816 // Computes pow(x, y) with the special cases in the spec for Math.pow. |
818 double power_double_int(double x, int y); | 817 double power_double_int(double x, int y); |
819 double power_double_double(double x, double y); | 818 double power_double_double(double x, double y); |
820 | 819 |
821 } } // namespace v8::internal | 820 } } // namespace v8::internal |
822 | 821 |
823 #endif // V8_ASSEMBLER_H_ | 822 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |