Couple more debugger tests working with Turbofan.
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/498493002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
1fcfacbcd3
commit
8da0b4eca6
@ -417,6 +417,7 @@ OptimizedCompileJob::Status OptimizedCompileJob::CreateGraph() {
|
||||
compiler::Pipeline pipeline(info());
|
||||
pipeline.GenerateCode();
|
||||
if (!info()->code().is_null()) {
|
||||
info()->context()->native_context()->AddOptimizedCode(*info()->code());
|
||||
return SetLastStatus(SUCCEEDED);
|
||||
}
|
||||
}
|
||||
|
@ -87,7 +87,8 @@ bool AstGraphBuilder::CreateGraph() {
|
||||
VisitDeclarations(scope->declarations());
|
||||
|
||||
// TODO(mstarzinger): This should do an inlined stack check.
|
||||
NewNode(javascript()->Runtime(Runtime::kStackGuard, 0));
|
||||
Node* node = NewNode(javascript()->Runtime(Runtime::kStackGuard, 0));
|
||||
PrepareFrameState(node, BailoutId::FunctionEntry());
|
||||
|
||||
// Visit statements in the function body.
|
||||
VisitStatements(info()->function()->body());
|
||||
|
@ -47,6 +47,9 @@ inline bool OperatorProperties::HasFrameStateInput(Operator* op) {
|
||||
switch (function) {
|
||||
case Runtime::kDebugBreak:
|
||||
case Runtime::kDeoptimizeFunction:
|
||||
case Runtime::kSetScriptBreakPoint:
|
||||
case Runtime::kDebugGetLoadedScripts:
|
||||
case Runtime::kStackGuard:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
@ -178,6 +181,9 @@ inline bool OperatorProperties::CanLazilyDeoptimize(Operator* op) {
|
||||
switch (function) {
|
||||
case Runtime::kDebugBreak:
|
||||
case Runtime::kDeoptimizeFunction:
|
||||
case Runtime::kSetScriptBreakPoint:
|
||||
case Runtime::kDebugGetLoadedScripts:
|
||||
case Runtime::kStackGuard:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -378,7 +378,8 @@ void Deoptimizer::DeoptimizeMarkedCodeForContext(Context* context) {
|
||||
CHECK_EQ(code->kind(), Code::OPTIMIZED_FUNCTION);
|
||||
Object* next = code->next_code_link();
|
||||
|
||||
if (code->marked_for_deoptimization()) {
|
||||
if (code->marked_for_deoptimization() &&
|
||||
(!code->is_turbofanned() || FLAG_turbo_deoptimization)) {
|
||||
// Put the code into the list for later patching.
|
||||
codes.Add(code, &zone);
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Flags: --expose-debug-as debug
|
||||
// Flags: --expose-debug-as debug --turbo-deoptimization
|
||||
|
||||
// The functions used for testing backtraces.
|
||||
function Point(x, y) {
|
||||
|
@ -25,7 +25,7 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Flags: --expose-debug-as debug --allow-natives-syntax
|
||||
// Flags: --expose-debug-as debug --allow-natives-syntax --turbo-deoptimization
|
||||
|
||||
// This test tests that deoptimization due to debug breaks works for
|
||||
// inlined functions where the full-code is generated before the
|
||||
|
@ -25,7 +25,7 @@
|
||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
// Flags: --expose-debug-as debug --allow-natives-syntax
|
||||
// Flags: --expose-debug-as debug --allow-natives-syntax --turbo-deoptimization
|
||||
// The functions used for testing backtraces. They are at the top to make the
|
||||
// testing of source line/column easier.
|
||||
|
||||
|
@ -97,8 +97,6 @@
|
||||
'deserialize-reference': [PASS, NO_VARIANTS],
|
||||
|
||||
# Support for %GetFrameDetails is missing and requires checkpoints.
|
||||
'debug-backtrace-text': [PASS, NO_VARIANTS],
|
||||
'debug-break-inline': [PASS, NO_VARIANTS],
|
||||
'debug-evaluate-bool-constructor': [PASS, NO_VARIANTS],
|
||||
'debug-evaluate-closure': [PASS, NO_VARIANTS],
|
||||
'debug-evaluate-const': [PASS, NO_VARIANTS],
|
||||
@ -110,7 +108,6 @@
|
||||
'debug-liveedit-double-call': [PASS, NO_VARIANTS],
|
||||
'debug-liveedit-restart-frame': [PASS, NO_VARIANTS],
|
||||
'debug-return-value': [PASS, NO_VARIANTS],
|
||||
'debug-scopes': [PASS, NO_VARIANTS],
|
||||
'debug-set-variable-value': [PASS, NO_VARIANTS],
|
||||
'debug-step-stub-callfunction': [PASS, NO_VARIANTS],
|
||||
'debug-stepin-accessor': [PASS, NO_VARIANTS],
|
||||
|
Loading…
Reference in New Issue
Block a user