Mercurial > hg > truffle
comparison src/cpu/x86/vm/templateInterpreter_x86_64.cpp @ 5039:f3d2447db2d9
added detection for endless recompilation
separated C1 and Graal specific globals
fixed jump branch probability
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Tue, 06 Mar 2012 11:11:27 -0800 |
parents | 22cee0ee8927 |
children | af59b4dfc9e4 |
comparison
equal
deleted
inserted
replaced
5038:1b907994bf2d | 5039:f3d2447db2d9 |
---|---|
344 | 344 |
345 if (ProfileInterpreter && profile_method != NULL) { | 345 if (ProfileInterpreter && profile_method != NULL) { |
346 // Test to see if we should create a method data oop | 346 // Test to see if we should create a method data oop |
347 __ cmp32(rcx, ExternalAddress((address)&InvocationCounter::InterpreterProfileLimit)); | 347 __ cmp32(rcx, ExternalAddress((address)&InvocationCounter::InterpreterProfileLimit)); |
348 __ jcc(Assembler::less, *profile_method_continue); | 348 __ jcc(Assembler::less, *profile_method_continue); |
349 | 349 |
350 // if no method data exists, go to profile_method | 350 // if no method data exists, go to profile_method |
351 __ test_method_data_pointer(rax, *profile_method); | 351 __ test_method_data_pointer(rax, *profile_method); |
352 } | 352 } |
353 | 353 |
354 __ cmp32(rcx, ExternalAddress((address)&InvocationCounter::InterpreterInvocationLimit)); | 354 __ cmp32(rcx, ExternalAddress((address)&InvocationCounter::InterpreterInvocationLimit)); |