- 30 Sep, 2015 1 commit
-
-
kozyatinskiy authored
Added ScopeDetails.name field for closure scopes. It contains function's debug name of current context of scope. BUG=493156 LOG=Y R=yurys@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1375813002 Cr-Commit-Position: refs/heads/master@{#31028}
-
- 15 Jun, 2015 1 commit
-
-
bmeurer authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/1183123002 Cr-Commit-Position: refs/heads/master@{#29018}
-
- 19 May, 2015 2 commits
-
-
wingo authored
This reapplies https://codereview.chromium.org/1136073002, along with the followups: Remove Scope::scope_uses_this_ flag https://codereview.chromium.org/1128963005 and PPC: Resolve references to "this" the same way as normal variables https://codereview.chromium.org/1134073003 R=rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1136883006 Cr-Commit-Position: refs/heads/master@{#28458} Review URL: https://codereview.chromium.org/1140633003 Cr-Commit-Position: refs/heads/master@{#28484}
-
wingo authored
Revert of Reapply "Resolve references to "this" the same way as normal variables"" (patchset #2 id:20001 of https://codereview.chromium.org/1136883006/) Reason for revert: Something is deserializing "this" declarations as Variable::NORMAL and not Variable::THIS https://codereview.chromium.org/1136123010/ Original issue's description: > Reapply "Resolve references to "this" the same way as normal variables"" > > This reapplies https://codereview.chromium.org/1136073002, along with > the followups: > > Remove Scope::scope_uses_this_ flag > https://codereview.chromium.org/1128963005 > > and > > PPC: Resolve references to "this" the same way as normal variables > https://codereview.chromium.org/1134073003 > > R=yangguo@chromium.org, rossberg@chromium.org > LOG=N > BUG= > > Committed: https://crrev.com/1efc1e4f7a3d30d5225e9d5cb2585cad7cb17099 > Cr-Commit-Position: refs/heads/master@{#28458} TBR=rossberg@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1146733002 Cr-Commit-Position: refs/heads/master@{#28473}
-
- 18 May, 2015 1 commit
-
-
wingo authored
This reapplies https://codereview.chromium.org/1136073002, along with the followups: Remove Scope::scope_uses_this_ flag https://codereview.chromium.org/1128963005 and PPC: Resolve references to "this" the same way as normal variables https://codereview.chromium.org/1134073003 R=yangguo@chromium.org, rossberg@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/1136883006 Cr-Commit-Position: refs/heads/master@{#28458}
-
- 13 May, 2015 1 commit
-
-
yangguo authored
... and the following two "PPC: Resolve references to "this" the same way as normal variables" "Remove Scope::scope_uses_this_ flag" R=hablich@chromium.org BUG=chromium:487289 LOG=N Review URL: https://codereview.chromium.org/1134003003 Cr-Commit-Position: refs/heads/master@{#28395}
-
- 11 May, 2015 1 commit
-
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. This is a reapplication of https://codereview.chromium.org/1130733003. R=rossberg@chromium.org BUG=v8:2700 LOG=N Review URL: https://codereview.chromium.org/1136073002 Cr-Commit-Position: refs/heads/master@{#28340}
-
- 07 May, 2015 1 commit
-
-
machenbach authored
Revert of Resolve references to "this" the same way as normal variables (patchset #2 id:20001 of https://codereview.chromium.org/1130733003/) Reason for revert: [Sheriff] Breaks jetstream benchmark with errors like this: >>> Running suite: JetStream/bigfib.cpp >>> Stdout (#1): undefined:93: ReferenceError: this is not defined this['Module'] = Module; ^ ReferenceError: this is not defined at eval (eval at __run (runner.js:13:3), <anonymous>:93:3) at eval (native) at __run (runner.js:13:3) at Object.runSimpleBenchmark (runner.js:44:31) at runner.js:97:13 Original issue's description: > Resolve references to "this" the same way as normal variables > > Make the parser handle references to "this" as unresolved variables, so the > same logic as for the rest of function parameters is used for the receiver. > Minor additions to the code generation handle copying the receiver to the > context, along with the rest of the function parameters. > > Based on work by Adrian Perez de Castro <aperez@igalia.com>. > > BUG=v8:2700 > LOG=N > > Committed: https://crrev.com/06a792b7cc2db33ffce7244c044a9c05afbb6116 > Cr-Commit-Position: refs/heads/master@{#28263} TBR=rossberg@chromium.org,arv@chromium.org,wingo@igalia.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:2700 Review URL: https://codereview.chromium.org/1129723003 Cr-Commit-Position: refs/heads/master@{#28283}
-
- 06 May, 2015 1 commit
-
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. BUG=v8:2700 LOG=N Review URL: https://codereview.chromium.org/1130733003 Cr-Commit-Position: refs/heads/master@{#28263}
-
- 05 May, 2015 2 commits
-
-
wingo authored
Revert of Resolve references to "this" the same way as normal variables (patchset #11 id:240001 of https://codereview.chromium.org/1097283003/) Reason for revert: nosnap failures Original issue's description: > Resolve references to "this" the same way as normal variables > > Make the parser handle references to "this" as unresolved variables, so the > same logic as for the rest of function parameters is used for the receiver. > Minor additions to the code generation handle copying the receiver to the > context, along with the rest of the function parameters. > > Based on work by Adrian Perez de Castro <aperez@igalia.com>. > > BUG= > LOG=N > > Committed: https://crrev.com/18619d355192e2699203d12d9ebb9caea107b693 > Cr-Commit-Position: refs/heads/master@{#28236} TBR=rossberg@chromium.org,mstarzinger@chromium.org,dslomov@chromium.org,adamk@chromium.org,arv@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1113133006 Cr-Commit-Position: refs/heads/master@{#28238}
-
wingo authored
Make the parser handle references to "this" as unresolved variables, so the same logic as for the rest of function parameters is used for the receiver. Minor additions to the code generation handle copying the receiver to the context, along with the rest of the function parameters. Based on work by Adrian Perez de Castro <aperez@igalia.com>. BUG= LOG=N Review URL: https://codereview.chromium.org/1097283003 Cr-Commit-Position: refs/heads/master@{#28236}
-
- 22 Apr, 2015 1 commit
-
-
dslomov authored
Review URL: https://codereview.chromium.org/981203003 Cr-Commit-Position: refs/heads/master@{#28008}
-
- 09 Mar, 2015 1 commit
-
-
marja authored
R=dslomov@chromium.org BUG= Review URL: https://codereview.chromium.org/977123002 Cr-Commit-Position: refs/heads/master@{#27077}
-
- 17 Nov, 2014 1 commit
-
-
dslomov authored
We add a new ScopeType, ScopeType.Script. The scope with ScopeType.Script is always present in the scope chain (ScopeIterator fakes it if neededi - i.e. if ScriptContext for a script has not been allocated since that script has no lexical declarations). ScriptScope reflects ScriptContextTable. R=yurys@chromium.org,yangguo@chromium.org BUG=v8:3690 LOG=N Review URL: https://codereview.chromium.org/726643002 Cr-Commit-Position: refs/heads/master@{#25383}
-
- 22 Aug, 2014 1 commit
-
-
jarin@chromium.org authored
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
-
- 23 Apr, 2014 1 commit
-
-
wingo@igalia.com authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/245963006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2014 1 commit
-
-
ulan@chromium.org authored
We'd like to be able to trade nested scope chain info (consisting of with, block and catch scopes) in favor of speed in some cases. BUG=chromium:340285 LOG=N R=ulan@chromium.org, pfeldman, ulan, yangguo Review URL: https://codereview.chromium.org/203463011 Patch from Andrey Adaykin <aandrey@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2014 1 commit
-
-
ulan@chromium.org authored
This will reduce heavy ScopeIterator instantiations. Once incorporated into chromium, will give 30% speed boost. BUG=chromium:340285 LOG=Y R=ulan@chromium.org, Yang, rossberg, ulan Review URL: https://codereview.chromium.org/181063008 Patch from Andrey Adaykin <aandrey@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Nov, 2011 1 commit
-
-
keuchel@chromium.org authored
This CL introduces a third mode next to the non-strict (henceforth called 'classic mode') and 'strict mode' which is called 'extended mode' as in the current ES.next specification drafts. The extended mode is based on the 'strict mode' and adds new functionality to it. This means that most of the semantics of these two modes coincide. The 'extended mode' is entered instead of the 'strict mode' during parsing when using the 'strict mode' directive "use strict" and when the the harmony-scoping flag is active. This should be changed once it is fully specified how the 'extended mode' is entered. This change introduces a new 3 valued enum LanguageMode (see globals.h) corresponding to the modes which is mostly used by the frontend code. This includes the following components: * (Pre)Parser * Compiler * SharedFunctionInfo, Scope and ScopeInfo * runtime functions: StoreContextSlot, ResolvePossiblyDirectEval, InitializeVarGlobal, DeclareGlobals The old enum StrictModeFlag is still used in the backend when the distinction between the 'strict mode' and the 'extended mode' does not matter. This includes: * SetProperty runtime function, Delete builtin * StoreIC and KeyedStoreIC * StubCache Review URL: http://codereview.chromium.org/8417035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
This also includes the two fixes from r9674 and r9675. Here's the diff to the previous CL. --- a/src/runtime.cc +++ b/src/runtime.cc @@ -11133,17 +11133,26 @@ class ScopeIterator { context_(Context::cast(frame->context())), nested_scope_chain_(4) { + // Catch the case when the debugger stops in an internal function. + Handle<SharedFunctionInfo> shared_info(function_->shared()); + if (shared_info->script() == isolate->heap()->undefined_value()) { + if (shared_info->scope_info()->HasContext()) Next(); + return; + } + // Check whether we are in global code or function code. If there is a stack // slot for .result then this function has been created for evaluating // global code and it is not a real function. // Checking for the existence of .result seems fragile, but the scope info // saved with the code object does not otherwise have that information. - int index = function_->shared()->scope_info()-> + int index = shared_info->scope_info()-> StackSlotIndex(isolate_->heap()->result_symbol()); // Reparse the code and analyze the scopes. ZoneScope zone_scope(isolate, DELETE_ON_EXIT); - Handle<SharedFunctionInfo> shared_info(function_->shared()); Handle<Script> script(Script::cast(shared_info->script())); Scope* scope; if (index >= 0) { Review URL: http://codereview.chromium.org/8344046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
This reverts commits r9673: "Scope tree serialization and ScopeIterator cleanup." r9674: "Use OS::SNPrintF instead of snprintf." r9675: "Use int instead of size_t, StrLength instead of strlen." Review URL: http://codereview.chromium.org/8353003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
The intention is to store enough scope information for the debugger to handle stack allocation of block scoped variables introduced by http://codereview.chromium.org/7860045/ . This CL is based on http://codereview.chromium.org/7904008/ . Review URL: http://codereview.chromium.org/7979001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Sep, 2011 1 commit
-
-
keuchel@chromium.org authored
TEST=mjsunit/debug-scopes.js Review URL: http://codereview.chromium.org/7890007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2011 1 commit
-
-
lrn@chromium.org authored
Encapsulate the helper functions in mjsunit.js. Now only exposes the exception class and the assertXXX functions. Make assertEquals use === instead of ==. This prevents a lot of possiblefalse positives in tests, and avoids having to do assertTrue(expected === actual) when you need it. Fixed some tests that were either buggy or assuming == test. Review URL: http://codereview.chromium.org/6869007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Apr, 2011 1 commit
-
-
yurys@chromium.org authored
Review URL: http://codereview.chromium.org/6804015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Mar, 2010 1 commit
-
-
kasperl@chromium.org authored
names were being reused. Review URL: http://codereview.chromium.org/669148 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2009 1 commit
-
-
peter.rybin@gmail.com authored
It also fixes "backtrace" command so that it didn't give away random stack if we are running Review URL: http://codereview.chromium.org/242034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2009 1 commit
-
-
yurys@chromium.org authored
Removed a false assertion in ScopeIterator that assumed context extension to never be a JSContextExtensionObject. The context extension object in a 'with' context is JSContextExtensionObject iff the 'with' statement is generated from a catch block in order to extend its local scope with a variable holding exception object. This is how we differentiate 'catch' scope from 'with' scope. Chrome bug: http://code.google.com/p/chromium/issues/detail?id=17229 Review URL: http://codereview.chromium.org/202005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2009 1 commit
-
-
sgjesse@chromium.org authored
For each frame it is now possible to request information on the scope chain. Each scope in the chain can have one of the types local, global, with and closure. For scopes of type global and with the mirror for the actual global or with object is available. For scopes of type local and closure a plain JavaScript object with the materialized content of the scope is created and its mirror is returned. Depending on the level of possible optimization the content of the materialized local and closure scopes might only contain the names which are actually used. To iterate the scope chain an iterator ScopeIterator have been added which can provide the type of each scope for each part of the chain. This iterator creates an artificial local scope whenever that is present as the context chain does not include the local scope. To avoid caching the mirror objects for the materialized the local and closure scopes transient mirrors have been added. They have negative handles and cannot be retrieved by subsequent lookup calls. Their content is part of a single response. For debugging purposes an additional runtime function DebugPrintScopes is been added. Added commands 'scopes' and 'scope' to the developer shell and fixed the dir command. BUG=none TEST=test/mjsunit/debug-scopes.js Review URL: http://codereview.chromium.org/123021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-