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

Side by Side Diff: test/cctest/test-conversions.cc

Issue 19300002: ES6: Add support for explicit octal and binary integer literals (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 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 | Annotate | Revision Log
« src/runtime.cc ('K') | « src/scanner.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 19 matching lines...) Expand all
30 #include "v8.h" 30 #include "v8.h"
31 31
32 #include "platform.h" 32 #include "platform.h"
33 #include "cctest.h" 33 #include "cctest.h"
34 34
35 using namespace v8::internal; 35 using namespace v8::internal;
36 36
37 37
38 TEST(Hex) { 38 TEST(Hex) {
39 UnicodeCache uc; 39 UnicodeCache uc;
40 CHECK_EQ(0.0, StringToDouble(&uc, "0x0", ALLOW_HEX | ALLOW_OCTALS)); 40 CHECK_EQ(0.0, StringToDouble(&uc, "0x0", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
41 CHECK_EQ(0.0, StringToDouble(&uc, "0X0", ALLOW_HEX | ALLOW_OCTALS)); 41 CHECK_EQ(0.0, StringToDouble(&uc, "0X0", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
42 CHECK_EQ(1.0, StringToDouble(&uc, "0x1", ALLOW_HEX | ALLOW_OCTALS)); 42 CHECK_EQ(1.0, StringToDouble(&uc, "0x1", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
43 CHECK_EQ(16.0, StringToDouble(&uc, "0x10", ALLOW_HEX | ALLOW_OCTALS)); 43 CHECK_EQ(16.0, StringToDouble(&uc, "0x10", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
44 CHECK_EQ(255.0, StringToDouble(&uc, "0xff", ALLOW_HEX | ALLOW_OCTALS)); 44 CHECK_EQ(255.0, StringToDouble(&uc, "0xff", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL)) ;
45 CHECK_EQ(175.0, StringToDouble(&uc, "0xAF", ALLOW_HEX | ALLOW_OCTALS)); 45 CHECK_EQ(175.0, StringToDouble(&uc, "0xAF", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL)) ;
46 46
47 CHECK_EQ(0.0, StringToDouble(&uc, "0x0", ALLOW_HEX)); 47 CHECK_EQ(0.0, StringToDouble(&uc, "0x0", ALLOW_HEX));
48 CHECK_EQ(0.0, StringToDouble(&uc, "0X0", ALLOW_HEX)); 48 CHECK_EQ(0.0, StringToDouble(&uc, "0X0", ALLOW_HEX));
49 CHECK_EQ(1.0, StringToDouble(&uc, "0x1", ALLOW_HEX)); 49 CHECK_EQ(1.0, StringToDouble(&uc, "0x1", ALLOW_HEX));
50 CHECK_EQ(16.0, StringToDouble(&uc, "0x10", ALLOW_HEX)); 50 CHECK_EQ(16.0, StringToDouble(&uc, "0x10", ALLOW_HEX));
51 CHECK_EQ(255.0, StringToDouble(&uc, "0xff", ALLOW_HEX)); 51 CHECK_EQ(255.0, StringToDouble(&uc, "0xff", ALLOW_HEX));
52 CHECK_EQ(175.0, StringToDouble(&uc, "0xAF", ALLOW_HEX)); 52 CHECK_EQ(175.0, StringToDouble(&uc, "0xAF", ALLOW_HEX));
53 } 53 }
54 54
55 55
56 TEST(Octal) { 56 TEST(Octal) {
57 UnicodeCache uc; 57 UnicodeCache uc;
58 CHECK_EQ(0.0, StringToDouble(&uc, "0", ALLOW_HEX | ALLOW_OCTALS)); 58 CHECK_EQ(0.0, StringToDouble(&uc, "0o0", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL));
59 CHECK_EQ(0.0, StringToDouble(&uc, "00", ALLOW_HEX | ALLOW_OCTALS)); 59 CHECK_EQ(0.0, StringToDouble(&uc, "0O0", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL));
60 CHECK_EQ(1.0, StringToDouble(&uc, "01", ALLOW_HEX | ALLOW_OCTALS)); 60 CHECK_EQ(1.0, StringToDouble(&uc, "0o1", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL));
61 CHECK_EQ(7.0, StringToDouble(&uc, "07", ALLOW_HEX | ALLOW_OCTALS)); 61 CHECK_EQ(7.0, StringToDouble(&uc, "0o7", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL));
62 CHECK_EQ(8.0, StringToDouble(&uc, "010", ALLOW_HEX | ALLOW_OCTALS)); 62 CHECK_EQ(8.0, StringToDouble(&uc, "0o10", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL)) ;
63 CHECK_EQ(63.0, StringToDouble(&uc, "077", ALLOW_HEX | ALLOW_OCTALS)); 63 CHECK_EQ(63.0, StringToDouble(&uc, "0o77", ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL) );
64
65 CHECK_EQ(0.0, StringToDouble(&uc, "0o0", ALLOW_OCTAL));
66 CHECK_EQ(0.0, StringToDouble(&uc, "0O0", ALLOW_OCTAL));
67 CHECK_EQ(1.0, StringToDouble(&uc, "0o1", ALLOW_OCTAL));
68 CHECK_EQ(7.0, StringToDouble(&uc, "0o7", ALLOW_OCTAL));
69 CHECK_EQ(8.0, StringToDouble(&uc, "0o10", ALLOW_OCTAL));
70 CHECK_EQ(63.0, StringToDouble(&uc, "0o77", ALLOW_OCTAL));
71 }
72
73
74 TEST(ImplicitOctal) {
75 UnicodeCache uc;
76 CHECK_EQ(0.0, StringToDouble(&uc, "0", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
77 CHECK_EQ(0.0, StringToDouble(&uc, "00", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
78 CHECK_EQ(1.0, StringToDouble(&uc, "01", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
79 CHECK_EQ(7.0, StringToDouble(&uc, "07", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
80 CHECK_EQ(8.0, StringToDouble(&uc, "010", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
81 CHECK_EQ(63.0, StringToDouble(&uc, "077", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
64 82
65 CHECK_EQ(0.0, StringToDouble(&uc, "0", ALLOW_HEX)); 83 CHECK_EQ(0.0, StringToDouble(&uc, "0", ALLOW_HEX));
66 CHECK_EQ(0.0, StringToDouble(&uc, "00", ALLOW_HEX)); 84 CHECK_EQ(0.0, StringToDouble(&uc, "00", ALLOW_HEX));
67 CHECK_EQ(1.0, StringToDouble(&uc, "01", ALLOW_HEX)); 85 CHECK_EQ(1.0, StringToDouble(&uc, "01", ALLOW_HEX));
68 CHECK_EQ(7.0, StringToDouble(&uc, "07", ALLOW_HEX)); 86 CHECK_EQ(7.0, StringToDouble(&uc, "07", ALLOW_HEX));
69 CHECK_EQ(10.0, StringToDouble(&uc, "010", ALLOW_HEX)); 87 CHECK_EQ(10.0, StringToDouble(&uc, "010", ALLOW_HEX));
70 CHECK_EQ(77.0, StringToDouble(&uc, "077", ALLOW_HEX)); 88 CHECK_EQ(77.0, StringToDouble(&uc, "077", ALLOW_HEX));
71 89
72 const double x = 010000000000; // Power of 2, no rounding errors. 90 const double x = 010000000000; // Power of 2, no rounding errors.
73 CHECK_EQ(x * x * x * x * x, StringToDouble(&uc, "01" "0000000000" "0000000000" 91 CHECK_EQ(x * x * x * x * x, StringToDouble(&uc, "01" "0000000000" "0000000000"
74 "0000000000" "0000000000" "0000000000", ALLOW_OCTALS)); 92 "0000000000" "0000000000" "0000000000", ALLOW_IMPLICIT_OCTAL));
93 }
94
95
96 TEST(Binary) {
97 UnicodeCache uc;
98 CHECK_EQ(0.0, StringToDouble(&uc, "0b0", ALLOW_BINARY | ALLOW_IMPLICIT_OCTAL)) ;
99 CHECK_EQ(0.0, StringToDouble(&uc, "0B0", ALLOW_BINARY | ALLOW_IMPLICIT_OCTAL)) ;
100 CHECK_EQ(1.0, StringToDouble(&uc, "0b1", ALLOW_BINARY | ALLOW_IMPLICIT_OCTAL)) ;
101 CHECK_EQ(2.0, StringToDouble(&uc, "0b10", ALLOW_BINARY | ALLOW_IMPLICIT_OCTAL) );
102 CHECK_EQ(3.0, StringToDouble(&uc, "0b11", ALLOW_BINARY | ALLOW_IMPLICIT_OCTAL) );
103
104 CHECK_EQ(0.0, StringToDouble(&uc, "0b0", ALLOW_BINARY));
105 CHECK_EQ(0.0, StringToDouble(&uc, "0B0", ALLOW_BINARY));
106 CHECK_EQ(1.0, StringToDouble(&uc, "0b1", ALLOW_BINARY));
107 CHECK_EQ(2.0, StringToDouble(&uc, "0b10", ALLOW_BINARY));
108 CHECK_EQ(3.0, StringToDouble(&uc, "0b11", ALLOW_BINARY));
75 } 109 }
76 110
77 111
78 TEST(MalformedOctal) { 112 TEST(MalformedOctal) {
79 UnicodeCache uc; 113 UnicodeCache uc;
80 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX | ALLOW_OCTALS)); 114 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
81 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX | ALLOW_OCTALS)); 115 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
82 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX | ALLOW_OCTALS)); 116 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
83 117
84 CHECK(std::isnan(StringToDouble(&uc, "07.7", ALLOW_HEX | ALLOW_OCTALS))); 118 CHECK(std::isnan(StringToDouble(&uc, "07.7", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) ));
85 CHECK(std::isnan(StringToDouble(&uc, "07.8", ALLOW_HEX | ALLOW_OCTALS))); 119 CHECK(std::isnan(StringToDouble(&uc, "07.8", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) ));
86 CHECK(std::isnan(StringToDouble(&uc, "07e8", ALLOW_HEX | ALLOW_OCTALS))); 120 CHECK(std::isnan(StringToDouble(&uc, "07e8", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) ));
87 CHECK(std::isnan(StringToDouble(&uc, "07e7", ALLOW_HEX | ALLOW_OCTALS))); 121 CHECK(std::isnan(StringToDouble(&uc, "07e7", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) ));
88 122
89 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX | ALLOW_OCTALS)); 123 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
90 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX | ALLOW_OCTALS)); 124 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
91 125
92 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX | ALLOW_OCTALS)); 126 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) );
93 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX | ALLOW_OCTALS)); 127 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL) );
94 128
95 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX)); 129 CHECK_EQ(8.0, StringToDouble(&uc, "08", ALLOW_HEX));
96 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX)); 130 CHECK_EQ(81.0, StringToDouble(&uc, "081", ALLOW_HEX));
97 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX)); 131 CHECK_EQ(78.0, StringToDouble(&uc, "078", ALLOW_HEX));
98 132
99 CHECK_EQ(7.7, StringToDouble(&uc, "07.7", ALLOW_HEX)); 133 CHECK_EQ(7.7, StringToDouble(&uc, "07.7", ALLOW_HEX));
100 CHECK_EQ(7.8, StringToDouble(&uc, "07.8", ALLOW_HEX)); 134 CHECK_EQ(7.8, StringToDouble(&uc, "07.8", ALLOW_HEX));
101 CHECK_EQ(7e8, StringToDouble(&uc, "07e8", ALLOW_HEX)); 135 CHECK_EQ(7e8, StringToDouble(&uc, "07e8", ALLOW_HEX));
102 CHECK_EQ(7e7, StringToDouble(&uc, "07e7", ALLOW_HEX)); 136 CHECK_EQ(7e7, StringToDouble(&uc, "07e7", ALLOW_HEX));
103 137
104 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX)); 138 CHECK_EQ(8.7, StringToDouble(&uc, "08.7", ALLOW_HEX));
105 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX)); 139 CHECK_EQ(8e7, StringToDouble(&uc, "08e7", ALLOW_HEX));
106 140
107 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX)); 141 CHECK_EQ(0.001, StringToDouble(&uc, "0.001", ALLOW_HEX));
108 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX)); 142 CHECK_EQ(0.713, StringToDouble(&uc, "0.713", ALLOW_HEX));
109 } 143 }
110 144
111 145
112 TEST(TrailingJunk) { 146 TEST(TrailingJunk) {
113 UnicodeCache uc; 147 UnicodeCache uc;
114 CHECK_EQ(8.0, StringToDouble(&uc, "8q", ALLOW_TRAILING_JUNK)); 148 CHECK_EQ(8.0, StringToDouble(&uc, "8q", ALLOW_TRAILING_JUNK));
115 CHECK_EQ(63.0, 149 CHECK_EQ(63.0,
116 StringToDouble(&uc, "077qqq", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); 150 StringToDouble(&uc, "077qqq", ALLOW_IMPLICIT_OCTAL | ALLOW_TRAILING_J UNK));
117 CHECK_EQ(10.0, 151 CHECK_EQ(10.0,
118 StringToDouble(&uc, "10e", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); 152 StringToDouble(&uc, "10e", ALLOW_IMPLICIT_OCTAL | ALLOW_TRAILING_JUNK ));
119 CHECK_EQ(10.0, 153 CHECK_EQ(10.0,
120 StringToDouble(&uc, "10e-", ALLOW_OCTALS | ALLOW_TRAILING_JUNK)); 154 StringToDouble(&uc, "10e-", ALLOW_IMPLICIT_OCTAL | ALLOW_TRAILING_JUN K));
121 } 155 }
122 156
123 157
124 TEST(NonStrDecimalLiteral) { 158 TEST(NonStrDecimalLiteral) {
125 UnicodeCache uc; 159 UnicodeCache uc;
126 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); 160 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value())));
127 CHECK(std::isnan(StringToDouble(&uc, "", NO_FLAGS, OS::nan_value()))); 161 CHECK(std::isnan(StringToDouble(&uc, "", NO_FLAGS, OS::nan_value())));
128 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value()))); 162 CHECK(std::isnan(StringToDouble(&uc, " ", NO_FLAGS, OS::nan_value())));
129 CHECK_EQ(0.0, StringToDouble(&uc, "", NO_FLAGS)); 163 CHECK_EQ(0.0, StringToDouble(&uc, "", NO_FLAGS));
130 CHECK_EQ(0.0, StringToDouble(&uc, " ", NO_FLAGS)); 164 CHECK_EQ(0.0, StringToDouble(&uc, " ", NO_FLAGS));
131 } 165 }
132 166
133 167
134 TEST(IntegerStrLiteral) { 168 TEST(IntegerStrLiteral) {
135 UnicodeCache uc; 169 UnicodeCache uc;
136 CHECK_EQ(0.0, StringToDouble(&uc, "0.0", NO_FLAGS)); 170 CHECK_EQ(0.0, StringToDouble(&uc, "0.0", NO_FLAGS));
137 CHECK_EQ(0.0, StringToDouble(&uc, "0", NO_FLAGS)); 171 CHECK_EQ(0.0, StringToDouble(&uc, "0", NO_FLAGS));
138 CHECK_EQ(0.0, StringToDouble(&uc, "00", NO_FLAGS)); 172 CHECK_EQ(0.0, StringToDouble(&uc, "00", NO_FLAGS));
139 CHECK_EQ(0.0, StringToDouble(&uc, "000", NO_FLAGS)); 173 CHECK_EQ(0.0, StringToDouble(&uc, "000", NO_FLAGS));
140 CHECK_EQ(1.0, StringToDouble(&uc, "1", NO_FLAGS)); 174 CHECK_EQ(1.0, StringToDouble(&uc, "1", NO_FLAGS));
141 CHECK_EQ(-1.0, StringToDouble(&uc, "-1", NO_FLAGS)); 175 CHECK_EQ(-1.0, StringToDouble(&uc, "-1", NO_FLAGS));
142 CHECK_EQ(-1.0, StringToDouble(&uc, " -1 ", NO_FLAGS)); 176 CHECK_EQ(-1.0, StringToDouble(&uc, " -1 ", NO_FLAGS));
143 CHECK_EQ(1.0, StringToDouble(&uc, " +1 ", NO_FLAGS)); 177 CHECK_EQ(1.0, StringToDouble(&uc, " +1 ", NO_FLAGS));
144 CHECK(std::isnan(StringToDouble(&uc, " - 1 ", NO_FLAGS))); 178 CHECK(std::isnan(StringToDouble(&uc, " - 1 ", NO_FLAGS)));
145 CHECK(std::isnan(StringToDouble(&uc, " + 1 ", NO_FLAGS))); 179 CHECK(std::isnan(StringToDouble(&uc, " + 1 ", NO_FLAGS)));
146 180
147 CHECK_EQ(0.0, StringToDouble(&uc, "0e0", ALLOW_HEX | ALLOW_OCTALS)); 181 CHECK_EQ(0.0, StringToDouble(&uc, "0e0", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
148 CHECK_EQ(0.0, StringToDouble(&uc, "0e1", ALLOW_HEX | ALLOW_OCTALS)); 182 CHECK_EQ(0.0, StringToDouble(&uc, "0e1", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
149 CHECK_EQ(0.0, StringToDouble(&uc, "0e-1", ALLOW_HEX | ALLOW_OCTALS)); 183 CHECK_EQ(0.0, StringToDouble(&uc, "0e-1", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
150 CHECK_EQ(0.0, StringToDouble(&uc, "0e-100000", ALLOW_HEX | ALLOW_OCTALS)); 184 CHECK_EQ(0.0, StringToDouble(&uc, "0e-100000", ALLOW_HEX | ALLOW_IMPLICIT_OCTA L));
151 CHECK_EQ(0.0, StringToDouble(&uc, "0e+100000", ALLOW_HEX | ALLOW_OCTALS)); 185 CHECK_EQ(0.0, StringToDouble(&uc, "0e+100000", ALLOW_HEX | ALLOW_IMPLICIT_OCTA L));
152 CHECK_EQ(0.0, StringToDouble(&uc, "0.", ALLOW_HEX | ALLOW_OCTALS)); 186 CHECK_EQ(0.0, StringToDouble(&uc, "0.", ALLOW_HEX | ALLOW_IMPLICIT_OCTAL));
153 } 187 }
154 188
155 189
156 TEST(LongNumberStr) { 190 TEST(LongNumberStr) {
157 UnicodeCache uc; 191 UnicodeCache uc;
158 CHECK_EQ(1e10, StringToDouble(&uc, "1" "0000000000", NO_FLAGS)); 192 CHECK_EQ(1e10, StringToDouble(&uc, "1" "0000000000", NO_FLAGS));
159 CHECK_EQ(1e20, StringToDouble(&uc, "1" "0000000000" "0000000000", NO_FLAGS)); 193 CHECK_EQ(1e20, StringToDouble(&uc, "1" "0000000000" "0000000000", NO_FLAGS));
160 194
161 CHECK_EQ(1e60, StringToDouble(&uc, "1" "0000000000" "0000000000" "0000000000" 195 CHECK_EQ(1e60, StringToDouble(&uc, "1" "0000000000" "0000000000" "0000000000"
162 "0000000000" "0000000000" "0000000000", NO_FLAGS)); 196 "0000000000" "0000000000" "0000000000", NO_FLAGS));
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 // Test most significant bits. 335 // Test most significant bits.
302 x = V8_2PART_UINT64_C(0xE0000000, 00000000); 336 x = V8_2PART_UINT64_C(0xE0000000, 00000000);
303 CHECK(x == UpperBits::encode(7)); 337 CHECK(x == UpperBits::encode(7));
304 CHECK_EQ(7, UpperBits::decode(x)); 338 CHECK_EQ(7, UpperBits::decode(x));
305 339
306 // Test the 32/64-bit boundary bits. 340 // Test the 32/64-bit boundary bits.
307 x = V8_2PART_UINT64_C(0x00000001, 80000000); 341 x = V8_2PART_UINT64_C(0x00000001, 80000000);
308 CHECK(x == MiddleBits::encode(3)); 342 CHECK(x == MiddleBits::encode(3));
309 CHECK_EQ(3, MiddleBits::decode(x)); 343 CHECK_EQ(3, MiddleBits::decode(x));
310 } 344 }
OLDNEW
« src/runtime.cc ('K') | « src/scanner.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698