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

Side by Side Diff: test/cctest/test-assembler-x87.cc

Issue 358363002: Move platform abstraction to base library (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: updates Created 6 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
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 11 matching lines...) Expand all
22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 #include <stdlib.h> 28 #include <stdlib.h>
29 29
30 #include "src/v8.h" 30 #include "src/v8.h"
31 31
32 #include "src/base/platform/platform.h"
32 #include "src/disassembler.h" 33 #include "src/disassembler.h"
33 #include "src/factory.h" 34 #include "src/factory.h"
34 #include "src/macro-assembler.h" 35 #include "src/macro-assembler.h"
35 #include "src/platform.h"
36 #include "src/serialize.h" 36 #include "src/serialize.h"
37 #include "test/cctest/cctest.h" 37 #include "test/cctest/cctest.h"
38 38
39 using namespace v8::internal; 39 using namespace v8::internal;
40 40
41 41
42 typedef int (*F0)(); 42 typedef int (*F0)();
43 typedef int (*F1)(int x); 43 typedef int (*F1)(int x);
44 typedef int (*F2)(int x, int y); 44 typedef int (*F2)(int x, int y);
45 45
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 Handle<Code> code = isolate->factory()->NewCode( 217 Handle<Code> code = isolate->factory()->NewCode(
218 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 218 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
219 #ifdef OBJECT_PRINT 219 #ifdef OBJECT_PRINT
220 code->Print(); 220 code->Print();
221 #endif 221 #endif
222 222
223 F7 f = FUNCTION_CAST<F7>(code->entry()); 223 F7 f = FUNCTION_CAST<F7>(code->entry());
224 CHECK_EQ(kLess, f(1.1, 2.2)); 224 CHECK_EQ(kLess, f(1.1, 2.2));
225 CHECK_EQ(kEqual, f(2.2, 2.2)); 225 CHECK_EQ(kEqual, f(2.2, 2.2));
226 CHECK_EQ(kGreater, f(3.3, 2.2)); 226 CHECK_EQ(kGreater, f(3.3, 2.2));
227 CHECK_EQ(kNaN, f(OS::nan_value(), 1.1)); 227 CHECK_EQ(kNaN, f(v8::base::OS::nan_value(), 1.1));
228 } 228 }
229 229
230 230
231 TEST(AssemblerIa3210) { 231 TEST(AssemblerIa3210) {
232 // Test chaining of label usages within instructions (issue 1644). 232 // Test chaining of label usages within instructions (issue 1644).
233 CcTest::InitializeVM(); 233 CcTest::InitializeVM();
234 Isolate* isolate = reinterpret_cast<Isolate*>(CcTest::isolate()); 234 Isolate* isolate = reinterpret_cast<Isolate*>(CcTest::isolate());
235 HandleScope scope(isolate); 235 HandleScope scope(isolate);
236 Assembler assm(isolate, NULL, 0); 236 Assembler assm(isolate, NULL, 0);
237 237
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
301 desc, Code::ComputeFlags(Code::STUB), Handle<Code>()); 301 desc, Code::ComputeFlags(Code::STUB), Handle<Code>());
302 CHECK(code->IsCode()); 302 CHECK(code->IsCode());
303 303
304 F0 f = FUNCTION_CAST<F0>(code->entry()); 304 F0 f = FUNCTION_CAST<F0>(code->entry());
305 int res = f(); 305 int res = f();
306 CHECK_EQ(42, res); 306 CHECK_EQ(42, res);
307 } 307 }
308 308
309 309
310 #undef __ 310 #undef __
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698