- 30 Sep, 2016 1 commit
-
-
leszeks authored
matching function, creates a hashmap the specialises the case of keys that simply check pointer equality. I measure an average ~1% improvement on Octane code-load. Review-Url: https://codereview.chromium.org/2369963002 Cr-Commit-Position: refs/heads/master@{#39920}
-
- 20 Jul, 2016 1 commit
-
-
jacob.bramley authored
This avoids implementation-defined signed overflow in the simulator's AddWithCarry implementation. The implementation of AddWithCarry now uses unsigned arithmetic exclusively. Testing coverage is also significantly improved. BUG= Review-Url: https://codereview.chromium.org/2157283003 Cr-Commit-Position: refs/heads/master@{#37895}
-
- 09 Jun, 2016 1 commit
-
-
lpy authored
We ported hashmap.h into libsampler as a workaround before, so the main focus of this patch is to reduce code duplication. This patch moves the hashmap into src/base as well as creates DefaultAllocationPolicy using malloc and free. BUG=v8:5050 LOG=n Review-Url: https://codereview.chromium.org/2010243003 Cr-Commit-Position: refs/heads/master@{#36873}
-
- 24 May, 2016 1 commit
-
-
machenbach authored
For cross-compiler-compatibility and standards compliance %p requires a void*, rather than any pointer type. BUG=chromium:474921 Review-Url: https://codereview.chromium.org/2001073002 Cr-Commit-Position: refs/heads/master@{#36466}
-
- 19 May, 2016 1 commit
-
-
binji authored
They are not currently implemented by the ARM64 simulator. R=jarin@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1990073002 Cr-Commit-Position: refs/heads/master@{#36385}
-
- 16 Feb, 2016 1 commit
-
-
rodolph.perfetta authored
Let me know if this is not the right approach Review URL: https://codereview.chromium.org/1698483002 Cr-Commit-Position: refs/heads/master@{#34028}
-
- 10 Feb, 2016 1 commit
-
-
mlippautz authored
Preparing the young generation for (real) non-contiguous backing memory, this change removes object masks that are used to compute containment in semi and new space. The masks are replaced by lookups for object tags and page headers, where possible. Details: - Use the fast checks (page header lookups) for containment in regular code. - Use the slow version that masks out the page start adress and iterates all pages of a space for debugging/verification. - The slow version works for off-heap/unmapped memory. - Encapsulate all checks for the old->new barrier in Heap::RecordWrite(). BUG=chromium:581412 LOG=N Review URL: https://codereview.chromium.org/1632913003 Cr-Commit-Position: refs/heads/master@{#33857}
-
- 22 Jan, 2016 1 commit
-
-
mbrandy authored
This change allows the PPC simulator to execute on PPC hardware where, due to calling conventions, we must distinguish between Object* and ObjectPair return values. We find this useful as another available option for debugging certain problems. While not strictly necessary for Intel platforms, we hope that this is less offensive now that BUILTIN_CALL_TRIPLE has been added. BUG= R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com Review URL: https://codereview.chromium.org/1604653006 Cr-Commit-Position: refs/heads/master@{#33475}
-
- 15 Jan, 2016 1 commit
-
-
rmcilroy authored
Adds a ForInPrepare Runtime function which returns a triple of cache_type, cache_array and cache_length. This requires adding support to CEntryStub to call runtime functions which return a ObjectTriple - a struct containing three Object* pointers. Also did some cleanup of the x64 CEntryStub to avoid replicated code. Replaces the interpreter's use of the ad-hock InterpreterForInPrepare Runtime function with ForInPrepare in preparation for fixing deopt in BytecodeGraphBuilder for ForIn (which will be done in a followup CL). MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1576093004 Cr-Commit-Position: refs/heads/master@{#33334}
-
- 26 Nov, 2015 1 commit
-
-
jochen authored
Just use the same workaround as on win32. Also replace fmod calls with modulo() for consistency BUG=none R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1479773002 Cr-Commit-Position: refs/heads/master@{#32322}
-
- 25 Nov, 2015 1 commit
-
-
jochen authored
R=jkummerow@chromium.org BUG=v8:2487 LOG=n Review URL: https://codereview.chromium.org/1473683004 Cr-Commit-Position: refs/heads/master@{#32287}
-
- 23 Nov, 2015 1 commit
-
-
jochen authored
BUG=2487 R=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1457223005 Cr-Commit-Position: refs/heads/master@{#32164}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Now both Execution::Call and Execution::New can deal with any kind of target and will raise a proper exception if the target is not callable (which is not yet spec compliant for New, as we would have to check IsConstructor instead, which we don't have yet). Now we no longer need to do any of these weird call/construct delegate gymnastics in C++, and we finally have a single true bottleneck for Call/Construct abstract operations in the code base, with only a few special handlings left in the compilers to optimize the JSFunction case. R=jarin@chromium.org BUG=v8:4430, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1360793002 Cr-Commit-Position: refs/heads/master@{#30874}
-
- 22 Sep, 2015 1 commit
-
-
bmeurer authored
Introduce new builtins Construct and ConstructFunction (in line with the Call and CallFunction builtins that we already have) as proper bottleneck for Construct and [[Construct]] on JSFunctions. Use these builtins to support passing NewTarget from C++ to JavaScript land. Long-term we want the CallConstructStub to be used for gathering feedback on entry to construction chain (i.e. the initial new Foo), and use the Construct builtins to do the actual work inside the construction chain (i.e. calling into super and stuff). MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com. R=jarin@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1359583002 Cr-Commit-Position: refs/heads/master@{#30857}
-
- 24 Aug, 2015 1 commit
-
-
mstarzinger authored
The simulator uses a separate JS stack, exhaustion of the C stack however is not caught by JS limit checks. This change now lowers the limit of the JS stack accordingly on function calls. R=mvstanton@chromium.org BUG=chromium:522380 TEST=mjsunit/regress/regress-crbug-522380 LOG=n Review URL: https://codereview.chromium.org/1314623002 Cr-Commit-Position: refs/heads/master@{#30334}
-
- 17 Aug, 2015 1 commit
-
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1299563003 Cr-Commit-Position: refs/heads/master@{#30187}
-
- 12 Aug, 2015 1 commit
-
-
jfb authored
The operations were available on ARM64 and x86-32 but were unused. It has been conjectured that nontemporals can be used for rowhammer-like bitflips more easily than regular load/store operations. It is therefore desirable to avoid generating these instructions in the future. R= titzer, jochen, jln, Mark Seaborn, ruiq Review URL: https://codereview.chromium.org/1276113002 Cr-Commit-Position: refs/heads/master@{#30139}
-
- 17 Jun, 2015 1 commit
-
-
svenpanne authored
The remaining uses need some non-mechanical work: * non-standard-layout type, probably due to mixed access control * extended field designators Review URL: https://codereview.chromium.org/1173343006 Cr-Commit-Position: refs/heads/master@{#29071}
-
- 01 Jun, 2015 1 commit
-
-
erikcorry authored
When compiling on a laptop I like to concatenate the small test files. This makes a big difference to compile times. These changes make that easier. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1163803002 Cr-Commit-Position: refs/heads/master@{#28742}
-
- 20 May, 2015 1 commit
-
-
svenpanne authored
Alas, this involved quite a bit of copy-n-paste between the architectures, but this is caused by the very convoluted relationships, lifetimes and distribution of responsibilities. This should really be cleaned up by moving code around and using STL maps, but that's not really a priority right now. Bonus: Fixed leaks in the ARM64 disassembler tests. Review URL: https://codereview.chromium.org/1132943007 Cr-Commit-Position: refs/heads/master@{#28496}
-
- 15 May, 2015 1 commit
-
-
martyn.capewell authored
Enable clang's shorten-64-to-32 warning flag on ARM64, and fix the warnings that arise. BUG= Review URL: https://codereview.chromium.org/1131573006 Cr-Commit-Position: refs/heads/master@{#28412}
-
- 20 Jan, 2015 1 commit
-
-
yangguo authored
This prevents clang from inlining and returning inconsistent results. R=bmeurer@chromium.org BUG=v8:3802 LOG=N Review URL: https://codereview.chromium.org/831393006 Cr-Commit-Position: refs/heads/master@{#26158}
-
- 08 Dec, 2014 1 commit
-
-
Benedikt Meurer authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/783913003 Cr-Commit-Position: refs/heads/master@{#25699}
-
- 22 Oct, 2014 1 commit
-
-
sigurds@chromium.org authored
Macro Assember, assembler and simulator for ARM64 were missing FRINTP. R=rodolph.perfetta@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/669923002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2014 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/592063002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2014 1 commit
-
-
Jacob.Bramley@arm.com authored
- Use standard names (except that our GREY is the standard BLACK). - Make non-bold colours explicit, otherwise the boldness can carry over into subsequent colour declarations. - I've moved some colours around to make them consistent. Register value updates (which are very common) now stand out less than they did, making the less-common (and arguably more important) debug announcements appear brighter. - FP registers and values are now magenta. - Integer registers and values are now cyan. - Memory accesses are now blue. - LOG_WRITE prints the source register for stores. - Loads are logged with a format similar to that used for stores. Specifically, the memory address is printed alongside the new register value. - Updates to D registers print the raw bits as well as the double value. Updates to S registers print the raw bits as well as the float value. (Previously, we printed both double and float interpretations of the bits, which was a bit cluttered.) BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/551823004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Sep, 2014 1 commit
-
-
svenpanne@chromium.org authored
Revert r23732 ("ARM64: Fix and improve --trace-sim register trace.") and r23733 ("ARM64: Fix build warning in r23732.) They break the build when compiling with optimizations, e.g. optdebug: ../src/arm64/simulator-arm64.cc: In member function ‘void v8::internal::Simulator::PrintWriteFP(uintptr_t, size_t, unsigned int)’: ../src/arm64/simulator-arm64.cc:792:29: error: array subscript is above array bounds [-Werror=array-bounds] ../src/arm64/simulator-arm64.cc:799:29: error: array subscript is above array bounds [-Werror=array-bounds] TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/549083004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2014 1 commit
-
-
Jacob.Bramley@arm.com authored
- Use standard names (except that our GREY is the standard BLACK). - Make non-bold colours explicit, otherwise the boldness can carry over into subsequent colour declarations. - I've moved some colours around to make them consistent. Register value updates (which are very common) now stand out less than they did, making the less-common (and arguably more important) debug announcements appear brighter. - FP registers and values are now magenta. - Integer registers and values are now cyan. - Memory accesses are now blue. - LOG_WRITE prints the source register for stores. - Loads are logged with a format similar to that used for stores. Specifically, the memory address is printed alongside the new register value. - Updates to D registers print the raw bits as well as the double value. Updates to S registers print the raw bits as well as the float value. (Previously, we printed both double and float interpretations of the bits, which was a bit cluttered.) BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/548473002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 1 commit
-
-
Jacob.Bramley@arm.com authored
This cleans up the memory interface somewhat, and also avoids a memcpy call that the compiler can't optimise away. BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/536923002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
Our own ARRAY_SIZE() was pretty bad at error checking. If you use arrasize() in a wrong way, the compiler will issue an error instead of silently doing the wrong thing. The previous ARRAY_SIZE() macro is still available as ARRAYSIZE_UNSAFE() similar to Chrome. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/501323002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2014 1 commit
-
-
wingo@igalia.com authored
Add new "Name" type to API that is a supertype of Symbol and String. Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set, Template::SetAccessorProperty, and Template::SetDeclaredAccessor now take a Name as the property name instead of a String. Add Object::SetAccessor, Template::SetNativeDataProperty, and ObjectTemplate::SetAccessor overloads that can define accessors for symbol-named properties. R=dcarney@chromium.org, rossberg@chromium.org BUG=v8:3394 TEST=cctest/test-api/TestSymbolProperties LOG=Y Review URL: https://codereview.chromium.org/459413002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 2 commits
-
-
Jacob.Bramley@arm.com authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/437813004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jul, 2014 1 commit
-
-
danno@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/426233002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is a mostly mechanical CL (more than 90% Emacs macros and query-replace-regexp) moving FILE*/StringStream*-based APIs to OStream-based APIs. There are a few places where this had to stop, otherwise the CL would be even bigger, but this can easily and incrementally cleaned up later. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/363323003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/333013002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2014 1 commit
-
-
svenpanne@chromium.org authored
About a 32% boost. Before - 5:31 Richards: 84.5 DeltaBlue: 128 Crypto: 65.3 RayTrace: 203 EarleyBoyer: 149 RegExp: 23.4 Splay: 121 NavierStokes: 98.9 ---- Score (version 7): 93.8 After - 4:10 Richards: 107 DeltaBlue: 175 Crypto: 93.9 RayTrace: 258 EarleyBoyer: 186 RegExp: 32.7 Splay: 165 NavierStokes: 124 ---- Score (version 7): 124 R=jacob.bramley@arm.com, svenpanne@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=21448 Review URL: https://codereview.chromium.org/213943002 Patch from Fritz Koenig <frkoenig@google.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2014 1 commit
-
-
rodolph.perfetta@arm.com authored
Fixes extract when imms = 0 because a left shift of 64 is not valid. R=rodolph.perfetta@arm.com, svenpanne@chromium.org Review URL: https://codereview.chromium.org/286193004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-