- 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
-
- 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
-
- 28 Oct, 2011 1 commit
-
-
keuchel@chromium.org authored
Review URL: http://codereview.chromium.org/8403036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9832 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
-
- 24 Oct, 2011 1 commit
-
-
lrn@chromium.org authored
Change Random to take global context, not isolate. BUG=v8:864 Review URL: http://codereview.chromium.org/8162014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9753 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
-
- 07 Sep, 2011 1 commit
-
-
lrn@chromium.org authored
Duplicate identifier detection must be an early syntax error in strict code, so errors in otherwise lazily compiled functions must be caught in the preparser. Originally introduced in r8541 and reverted in r8542. Now really compiles on Windows. Review URL: http://codereview.chromium.org/7782023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2011 1 commit
-
-
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
-
- 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
-
- 22 Dec, 2010 1 commit
-
-
lrn@chromium.org authored
Make preparser keep its symbol text itself instead of relying on the scanner. Review URL: http://codereview.chromium.org/6075005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Dec, 2010 1 commit
-
-
erik.corry@gmail.com authored
the distance between bleeding edge and the gc branch minimal. Review URL: http://codereview.chromium.org/5788002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6016 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
-
- 15 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Made allocation.{h,cc} independent of V8, allowing utils.h to allocate vectors and collectors. Review URL: http://codereview.chromium.org/5005001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2010 1 commit
-
-
lrn@chromium.org authored
Make include dir content pass lint. Review URL: http://codereview.chromium.org/4421002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Oct, 2010 2 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/4189001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
independently of the host architecture. Fix build issue for the mips simulator. The mips simulator does not currently work, but at least this change does not make it worse. Review URL: http://codereview.chromium.org/4090003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Oct, 2010 2 commits
-
-
ager@chromium.org authored
Clean up the definition of USE_SIMULATOR and its uses. Review URL: http://codereview.chromium.org/4044003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/3970005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2010 1 commit
-
-
dimich@chromium.org authored
The object's space in Page starts after Page header and is aligned to kMapAlignment which is 32 bytes on 32-bit and 8 bytes on 64-bit. In case of 64-bit target, the current page header size is exactly 32 bytes so we get the code magically aligned at 32 bytes but it is better to have a separate CODE_POINTER_ALIGN macro to make sure the object space in Page is aligned properly for both maps and code. There could be a small waste of bytes sometimes (since both Page header and Code header sizes are aligned separately) but it seems the optimal one would involve cross-dependencies between .h files and not clear if it's worth it. This is a back-port from Isolates branch. Review URL: http://codereview.chromium.org/3461021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Aug, 2010 1 commit
-
-
erik.corry@gmail.com authored
fail to allocate because we need a GC. Review URL: http://codereview.chromium.org/3274008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Aug, 2010 1 commit
-
-
sgjesse@chromium.org authored
TBR=kasperl@chromium.org Review URL: http://codereview.chromium.org/3248001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Aug, 2010 1 commit
-
-
sgjesse@chromium.org authored
Upgraded the CodeGenerator::ToBoolean() function in the ARM backend to use complete JIT code generation and not make runtime calls to ToBool (when VFP is enabled). This change also includes the vcmp VFP instruction that supports a constant 0.0 as the second operand. Patch by Subrato K De <subratokde@codeaurora.org> git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2010 1 commit
-
-
sgjesse@chromium.org authored
Force a number functions to not inline in order th work around a bug in GCC 4.4.4. See http://codereview.chromium.org/3083016 for more info. Review URL: http://codereview.chromium.org/3034056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jul, 2010 1 commit
-
-
kaznacheev@chromium.org authored
The static ScopeInfo members moved into this class. The new class is named ScopeInfoObject which I am not proud of, better ideas are very welcome. Also got rid of the sentinels in the serialized scope info which saves 3 words per function and is not slower. Review URL: http://codereview.chromium.org/2908009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jul, 2010 1 commit
-
-
kaznacheev@chromium.org authored
The scope info is now stored in a FixedArray referenced from SharedFunctionInfo. Review URL: http://codereview.chromium.org/2918001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jul, 2010 1 commit
-
-
serya@chromium.org authored
This change allows generating call-stubs for objects with normal (non-fast) objects in the prototype chain. StubCompiler::CheckPrototypes does ne If the top level object is a normal object the stub is stored in its prototype map. Lookup result of type NORMAL is not covered (since the normal stub currently doesn't check the prototype chain). Review URL: http://codereview.chromium.org/2801018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2010 1 commit
-
-
lrn@chromium.org authored
Only used in one place right now. Still room for tweaking. Review URL: http://codereview.chromium.org/2582001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 May, 2010 1 commit
-
-
vegorov@chromium.org authored
Reapply r4715 with fixes reviewed in http://codereview.chromium.org/2276002. Review URL: http://codereview.chromium.org/2255004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 May, 2010 1 commit
-
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2274001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2010 1 commit
-
-
vegorov@chromium.org authored
- New сardmarking write barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). - Changes to enable oldspaces iteration without maps decoding: -- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. Review URL: http://codereview.chromium.org/2144006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 May, 2010 2 commits
-
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2073018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapplication of r4685 (reviewed http://codereview.chromium.org/2101002) with minor modifications: - Fix compilation problems on Win64. - Improve heap verification pass: search for garbage pointers to new space not only in dirty regions but in all regions. Review URL: http://codereview.chromium.org/2114015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2010 2 commits
-
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2071020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
-- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. - Cardmarking write barrier. New barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). Review URL: http://codereview.chromium.org/2101002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2010 1 commit
-
-
mark@chromium.org authored
Chromium build. v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as the V8_HOST_ARCH_* macro when it detects that no target macro is currently defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files. #ifdef guards in each of these target-specific source files prevent their compilation when the associated target is not selected. For completeness, these #ifdef guards are also provided for the arm and mips .cc files. BUG=706 TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes) Review URL: http://codereview.chromium.org/2133003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2010 1 commit
-
-
erik.corry@gmail.com authored
The build process must add -DCAN_USE_UNALIGNED_ACCESSES=1 to the C++ flags to activate the support. This is a commit for Subrato of CodeAurora. See http://codereview.chromium.org/1731013 Small edits by Erik Corry to activate unaligned accesses by default on the simulator and testing Android builds. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2010 1 commit
-
-
sgjesse@chromium.org authored
The V8 GYP file now uses its own target architecture. It default to the standard target_arch, but can be set to a separate value. E.g. using export GYP_DEFINES="target_arch=ia32 v8_target_arch=arm" makes it possible to have the V8 ARM simulator be used in a IA32 build. Added some checking of supported host/target architecture combinations. Review URL: http://codereview.chromium.org/1790001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Apr, 2010 1 commit
-
-
vitalyr@chromium.org authored
(Fixed handling of out-of-bounds keys.) String keyed load used to call STRING_CHAR_AT builtin that performs two steps (get a char code, construct a one-char string from the code), both of which have fast cases implemented as inline runtime functions. In this chage most of the code from these functions is extracted to a set of common generator functions in StringStubBase and the fast cases are grouped together in the IC code. Review URL: http://codereview.chromium.org/1582041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-