- 29 Nov, 2011 1 commit
-
-
kmillikin@chromium.org authored
This shaves 416+ KB, just under 1% off the size of the debug d8 executable on Linux (mostly because the CheckHelper functions for assertions were getting separate copies for each compilation unit). The difference in release builds is negligible---a size reduction of 0.1%. Also, change namespace-level 'static const' variables to remove the static storage class as it's the default. R=danno@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8680013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2011 3 commits
-
-
kmillikin@chromium.org authored
Original commit message: Add a level of indirection to exception handler addresses. To support deoptimization of exception handlers, the handler address in the stack is converted to a pair of code object and an index into a separate table of code offsets. The index part is invariant under deoptimization. The index is packed into the handler state field so that handler size does not change. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8538011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
This reverts r9975. This change broke (at least) snapshots on x64. TBR=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8540005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
To support deoptimization of exception handlers, the handler address in the stack is converted to a pair of code object and an index into a separate table of code offsets. The index part is invariant under deoptimization. The index is packed into the handler state field so that handler size does not change. R=vegorov@chromium.org,fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8462010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Nov, 2011 2 commits
-
-
svenpanne@chromium.org authored
This moves PropertyType and its related predicate out of v8globals.h, where it didn't belong. Review URL: http://codereview.chromium.org/8501006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Do not rely on 'default' clauses or 'if's when analysing a PropertyType, because this makes it hard to find the relevant places when a new type is added. Note that the detection of "phantom property types" is left untouched, because this might have a performance impact, especially for the GC (to be investigated). This is a preliminary step for introducing a new kind of map transition. Review URL: http://codereview.chromium.org/8491016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2011 2 commits
-
-
keuchel@chromium.org authored
This depends on http://codereview.chromium.org/8352039/ . Review URL: http://codereview.chromium.org/8423005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Both classes have been merged into a single ScopeInfo class that implements the functionality from both. This CL does not adapt the broken gdb-jit interface. Review URL: http://codereview.chromium.org/8352039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
Review URL: http://codereview.chromium.org/8396040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
This implements block scoped 'const' declared variables in harmony mode. They have a temporal dead zone semantics similar to 'let' bindings, i.e. accessing uninitialized 'const' bindings in throws a ReferenceError. As for 'let' bindings, the semantics of 'const' bindings in global scope is not correctly implemented yet. Furthermore assignments to 'const's are silently ignored. Another CL will introduce treatment of those assignments as early errors. Review URL: http://codereview.chromium.org/7992005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9764 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 2 commits
-
-
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
-
kmillikin@chromium.org authored
R=ulan@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8345038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9701 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
-
- 11 Oct, 2011 1 commit
-
-
fschneider@chromium.org authored
This eliminates compile-errors when assigning Handle<SerializedScopeInfo> to Handle<Object> in a place where the declaration was not available because variables.h was not included. As a result I had to also move the enum Variable::Mode to v8globals.h and rename it to VariableMode. Review URL: http://codereview.chromium.org/8221004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Sep, 2011 1 commit
-
-
kmillikin@chromium.org authored
Introduce a version of the CallFunctionStub that records monomorphic call targets in a one-element cache in the instruction stream. Use the cache for inlining attempts in the optimizing backend. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7966038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Sep, 2011 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/8041019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2011 1 commit
-
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/7945009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Sep, 2011 1 commit
-
-
kmillikin@chromium.org authored
We passed this flag around in a lot of places and had differenc call ICs based on it, but never did any real specialization based on its value. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7869009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2011 1 commit
-
-
danno@chromium.org authored
R=jkummrow@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7787007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 3 commits
-
-
danno@chromium.org authored
BUG=none TEST=windows build bot works Review URL: http://codereview.chromium.org/7342048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Implemented on ia32, x64, ARM. Stubbed out with UNIMPLEMENTED on MIPS. BUG=none TEST=unbox-double-arrays.js Review URL: http://codereview.chromium.org/7307030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created. R=ager@chromium.org BUG=v8:1271 TEST=all Review URL: http://codereview.chromium.org//7350014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 May, 2011 1 commit
-
-
ager@chromium.org authored
Only IA32 version for now. I'll start porting. Strict mode functions are to get 'undefined' as the receiver when called with an implicit receiver. Modes are bad! It forces us to have checks on all function calls. This change attempts to limit the cost by passing information about whether or not a call is with an implicit or explicit receiver in ecx as part of the calling convention. The cost is setting ecx on all calls and checking ecx on entry to strict mode functions. Implicit/explicit receiver state has to be maintained by ICs. Various stubs have to not clobber ecx or save and restore it. CallFunction stub needs to check if the receiver is implicit when it doesn't know from the context. Review URL: http://codereview.chromium.org/7039036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 May, 2011 1 commit
-
-
rossberg@chromium.org authored
Also fix grokdump, which was off by one after intro of JSProxy type. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2011 2 commits
-
-
vegorov@chromium.org authored
Garbage collector is free to ignore object groups for independent handles and can collect then in minor collections. Review URL: http://codereview.chromium.org/7031005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R==ager@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/7039004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 May, 2011 1 commit
-
-
rossberg@chromium.org authored
TODO: reflective Object methods not handled yet. BUG= TEST= Review URL: http://codereview.chromium.org/7035007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 1 commit
-
-
sgjesse@chromium.org authored
This commit adds current working versions of assembler, macro-assembler, disassembler, and simulator. All other mips arch files are replaced with stubbed-out versions that will build. Arch independent files are updated as needed to support building and running mips. The only test is cctest/test-assembler-mips, and this passes on the simulator and on mips hardware. TEST=none BUG=none Patch by Paul Lind from MIPS. Review URL: http://codereview.chromium.org/6730029/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 1 commit
-
-
danno@chromium.org authored
Ensure that all objects that had the same map before attaching an external array have the same map once the external array is attached. BUG=75639 TEST=fast/canvas/webgl/uninitialized-test.html Review URL: http://codereview.chromium.org/6685073 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2011 1 commit
-
-
ricow@chromium.org authored
GCC apparently assumes that given that we do a static cast in the next line the value must actually be in StrictModeFlag enum range (even though this is actually what we are asserting) Review URL: http://codereview.chromium.org/6670031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2011 1 commit
-
-
ricow@chromium.org authored
Since our zap values are valid heap object addreses we might hit asserts if a heap object gets the value of a zap constant as its address. Review URL: http://codereview.chromium.org/6456022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2011 1 commit
-
-
mmaly@chromium.org authored
Code review feedback. Code Review URL: http://codereview.chromium.org/6286043/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jan, 2011 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/6326003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 3 commits
-
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-